Настройка сбора статистики 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
{
    // Activating AppMetrica.
    ...
    [YMPYandexMetricaPush setExtensionAppGroup:appGroup];
    ...
    [YMPYandexMetricaPush handleApplicationDidFinishLaunchingWithOptions:launchOptions];
    ...
}

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

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

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