Настройка сбора статистики push-уведомлений
В AppMetrica можно настроить сбор статистики доставок и отклонений push-уведомлений для iOS 10 и выше.
Сбор статистики доставок
Чтобы собирать статистику доставок push-уведомлений, выполните следующее:
Шаг 1. Создайте расширение Notification Service Extension
- В Xcode выберите File → New → Target.
- В разделе расширений iOS выберите из списка Notification Service Extension и нажмите Next.
- Введите название расширения в поле Product Name и нажмите Finish.
Шаг 2. Cоздайте общую группу App Groups
- В настройках проекта Xcode перейдите во вкладку Сapabilities.
- Включите App Groups для созданного расширения и для приложения. Чтобы переключиться между расширением и приложением, нажмите на панели настроек проекта кнопку или на выпадающий элемент NotificationServiceExtension.
- В разделе App Groups создайте группу с помощью кнопки +. Название группы понадобится при дальнейшей настройке.
- Выберите созданную группу для приложения и для созданного расширения.
Шаг 3. Внесите изменения в NotificationService
В файле NotificationService.m
добавьте следующий код в соответствующий метод:
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request
withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler
{
...
[AMPAppMetricaPush setExtensionAppGroup:appGroup];
...
[AMPAppMetricaPush handleDidReceiveNotificationRequest:request];
...
}
В файле NotificationService.swift
добавьте следующий код в соответствующий метод:
func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
...
if let bestAttemptContent = bestAttemptContent {
...
AMPAppMetricaPush.setExtensionAppGroup(appGroup)
...
AMPAppMetricaPush.handleDidReceive(request)
...
}
}
appGroup
— название общей группы App Groups.
Шаг 4. Настройте обработку push-уведомления
Добавьте следующий код в соответствующий метод реализации UIApplicationDelegate
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Activating AppMetrica.
...
[AMPAppMetricaPush setExtensionAppGroup:appGroup];
...
[AMPAppMetricaPush handleApplicationDidFinishLaunchingWithOptions:launchOptions];
...
}
Добавьте следующий код в соответствующий метод реализации AppDelegate
:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey :Any]? = nil) -> Bool
{
// Activating AppMetrica.
...
AppMetricaPush.setExtensionAppGroup(appGroup)
...
AppMetricaPush.handleApplicationDidFinishLaunching(options: launchOptions)
...
}
appGroup
— название общей группы App Groups.
Cбор статистики отклонений
Чтобы собирать статистику отклонений push-уведомлений, задайте для категории уведомлений UNNotificationCategory
следующую опцию:
options:UNNotificationCategoryOptionCustomDismissAction
options: UNNotificationCategory.customDismissAction
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.