Настройка сбора статистики push-уведомлений

В AppMetrica можно настроить сбор статистики показов и отклонений push-уведомлений для iOS 10 и выше.

  1. Сбор статистики показов
  2. Cбор статистики отклонений

Сбор статистики показов

Чтобы собирать статистику показов push-уведомлений, выполните следующие действия:

Шаг 1. Создайте расширение Notification Service Extension

  1. В Xcode выберите File → New → Target.
  2. В разделе расширений iOS выберите из списка Notification Service Extension и нажмите Next.
  3. Введите название расширения в поле Product Name и нажмите Finish.

Шаг 2. Cоздайте общую группу App Groups

  1. В настройках проекта Xcode перейдите во вкладку Сapabilities.
  2. Включите App Groups для созданного расширения и для приложения. Чтобы переключиться между расширением и приложением, нажмите на панели настроек проекта кнопку или на выпадающий элемент .
  3. В разделе App Groups создайте группу с помощью кнопки +. Название группы понадобится при дальнейшей настройке.
  4. Выберите созданную группу для приложения и для созданного расширения.

Шаг 3. Внесите изменения в NotificationService

В файле NotificationService.m добавьте следующий код в соответствующий метод:
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request 
                   withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler
{
    ...
    [YMPYandexMetricaPush setExtensionAppGroup:appGroup];
    ...
    [YMPYandexMetricaPush handleDidReceiveNotificationRequest:request];
    ...
}

appGroup — название общей группы App Groups.

Шаг 4. Настройте обработку push-уведомления

Добавьте следующий код в соответствующий метод реализации UIApplicationDelegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Активация AppMetrica.
    ...
    [YMPYandexMetricaPush setExtensionAppGroup:appGroup];
    ...
    [YMPYandexMetricaPush handleApplicationDidFinishLaunchingWithOptions:launchOptions];
    ...
}

appGroup — название общей группы App Groups.

Cбор статистики отклонений

Чтобы собирать статистику отклонений push-уведомлений, задайте для категории уведомлений UNNotificationCategory следующую опцию:
options:UNNotificationCategoryOptionCustomDismissAction