Отслеживание момента отправки локальных уведомлений


#1

Всем доброго дня!

Задача: отправить событие в сервис аналитики в момент отправки локального уведомления.
Уведомления создаются при помощи:

let notificationCenter = UNUserNotificationCenter.current()

По расписанию.

  • ежедневно
  • через N дней отсутствия активности
  • и т.п.

Существует ли способ настроить метод внутри приложения, который бы срабатывал одновременно с отправкой пуш уведомления?


#2

По поводу момента отправки не скажу, но можно же отловить получение уведомления. Тем более если это локальный пуш, то приходит он сразу. Думаю не страшно будет в задерже даже пары секунд, если что.


#3

Да. Про отслеживание получения тоже подумал, пока писал… Но ведь получится отловить не сам факт получения пуша, а открытие приложения по нему. Правильно я понимаю?


#4

Сообщения отправляются в систему при помощи триггера (параметров времении отправки). В сами обязаны этот триггер создать, чтобы отправить локальное уведомление. Другими словами, вы всегда знаете в какое временя отправлено уведомление в систему, тк вы сами этот триггер создали. В чём проблема я так и не понял.


#5

Если уведомление по времени, то тригера нет.


#6

? в триггере указано время/дата отправки…


#7

так это в текущий момент, а автору нужно именно в момент отправки/получения пуша.


#8

в момент отправки локального уведомления. В момент отправки вы точно знаете время доставки уведомления, тк вы его сами указали в триггере


#9

В данном случае не отправка будет, а регистрация.


#10

ну вроде как раз отправка в центр уведомлений. Доставка случится по времени в триггере. Доставка может не случится, как я понимаю, если: удалите приложение, сбросите систему или выключен телефон. Я так понимаю в данном случае это как раз неинтересно, то и время доставки уведомления (которе в триггере) и есть искомое время


#11

Ну это уже зависит от того, какие данные нужно отправить в аналитику.
Если на момент регистрации пуша, то да.
Если при каком-то действии зарегать пуш через час и на тот момент собрать данные для аналитики, то это второй момент.


#12

ну вроде должно всё происходить налету (в момент работы приложения) - так что вроде проблем нет.


#13

надо уточнить что имеется в виду под словом “отправки” - это регистрация пуша или получение его.


#14

Речь идет как раз о получении пуша. Не о регистрации. Т.е. регистрация происходит один раз, и работает до отмены. А за этот период может быть получено N пушей - вот N раз мне и нужно отправить данные о в аналитику что юзер получил пуши.


#15

Можно попробовать через NotificationExtension. Он срабатывает именно в момент получения пуша, до момента открытия приложения.


#16

Коллеги - всем спасибо за ваше мнение!
Выясню - так уж это важно, ну и если что то NotificationExtension - будет как раз.


#17

блин я уже запутался что нужно отслеживать пуши или локальные уведомления?


#18

Локальные уведомления