Класс YMPYandexMetricaPush

Основной класс для обработки Push-уведомлений.

Методы экземпляра

+downloadAttachmentsForNotificationRequest:

Загружает прикрепленные файлы в push-уведомлениях. Метод доступен для iOS 10.0 и выше.

+handleApplicationDidFinishLaunchingWithOptions:

Обрабатывает открытие push-уведомления из метода application:didFinishLaunchingWithOptions:. Метод должен быть вызван после инициализации AppMetrica SDK.

+handleDidReceiveNotificationRequest:

Обрабатывает получение push-уведомления из расширения Notification Service Extension.

+handleRemoteNotification:

Обрабатывает открытие push-уведомления из метода application:didReceiveRemoteNotification:fetchCompletionHandler:. Метод должен быть вызван после инициализации AppMetrica SDK.

+handleSceneWillConnectToSession:

Обрабатывает открытие push-уведомления из метода scene:willConnectToSession:options:. Метод должен быть вызван после инициализации AppMetrica SDK.

+isNotificationRelatedToSDK:

Возвращает YES, если push-уведомление относится к AppMetrica.

+setDeviceTokenFromData:

Регистрирует device token приложения с production-окружением. Метод должен быть вызван после инициализации AppMetrica SDK.

+setDeviceTokenFromData:pushEnvironment:

Регистрирует device token приложения с указанным окружением. Метод должен быть вызван после инициализации AppMetrica SDK.

+setExtensionAppGroup:

Регистрирует общую группу App Groups приложения и Notification Service Extension.

+userDataForNotification:
Возвращает произвольную строку данных, которая передается в push-уведомлении:
  • В поле Дополнительные данные при отправке из интерфейса AppMetrica.
  • В поле data при отправке с помощью Push API.
+userNotificationCenterDelegate:

Возвращает делегат YMPUserNotificationCenterDelegate, который обрабатывает foreground push-уведомления на iOS 10 и выше.

+userNotificationCenterHandler:

Возвращает делегат YMPUserNotificationCenterHandling, который позволяет вручную обрабатывать foreground push-уведомления на iOS 10 и выше.

+downloadAttachmentsForNotificationRequest:

Загружает прикрепленные файлы в push-уведомлениях. Метод доступен для iOS 10.0 и выше.

+handleApplicationDidFinishLaunchingWithOptions:

Обрабатывает открытие push-уведомления из метода application:didFinishLaunchingWithOptions:. Метод должен быть вызван после инициализации AppMetrica SDK.

+handleDidReceiveNotificationRequest:

Обрабатывает получение push-уведомления из расширения Notification Service Extension.

+handleRemoteNotification:

Обрабатывает открытие push-уведомления из метода application:didReceiveRemoteNotification:fetchCompletionHandler:. Метод должен быть вызван после инициализации AppMetrica SDK.

+handleSceneWillConnectToSession:

Обрабатывает открытие push-уведомления из метода scene:willConnectToSession:options:. Метод должен быть вызван после инициализации AppMetrica SDK.

+isNotificationRelatedToSDK:

Возвращает YES, если push-уведомление относится к AppMetrica.

+setDeviceTokenFromData:

Регистрирует device token приложения с production-окружением. Метод должен быть вызван после инициализации AppMetrica SDK.

+setDeviceTokenFromData:pushEnvironment:

Регистрирует device token приложения с указанным окружением. Метод должен быть вызван после инициализации AppMetrica SDK.

+setExtensionAppGroup:

Регистрирует общую группу App Groups приложения и Notification Service Extension.

+userDataForNotification:
Возвращает произвольную строку данных, которая передается в push-уведомлении:
  • В поле Дополнительные данные при отправке из интерфейса AppMetrica.
  • В поле data при отправке с помощью Push API.
+userNotificationCenterDelegate:

Возвращает делегат YMPUserNotificationCenterDelegate, который обрабатывает foreground push-уведомления на iOS 10 и выше.

+userNotificationCenterHandler:

Возвращает делегат YMPUserNotificationCenterHandling, который позволяет вручную обрабатывать foreground push-уведомления на iOS 10 и выше.

Описание методов

+downloadAttachmentsForNotificationRequest:

+ (void)downloadAttachmentsForNotificationRequest:(UNNotificationRequest *)request
            callback:(YMPAttachmentsDownloadCallback)callback);

Загружает прикрепленные файлы в push-уведомлениях. Метод доступен для iOS 10.0 и выше.

Параметры:
request

Объект класса UNNotificationRequest.

callback

Callback-блок загрузки прикрепленных файлов. Формат: typedef void (^YMPAttachmentsDownloadCallback) (NSArray<UNNotificationAttachment *> * _Nullable attachments, NSError * _Nullable error). Включает в себя массив вложений attachments и ошибку error, если во время загрузки произошла ошибка.

request

Объект класса UNNotificationRequest.

callback

Callback-блок загрузки прикрепленных файлов. Формат: typedef void (^YMPAttachmentsDownloadCallback) (NSArray<UNNotificationAttachment *> * _Nullable attachments, NSError * _Nullable error). Включает в себя массив вложений attachments и ошибку error, если во время загрузки произошла ошибка.

+handleApplicationDidFinishLaunchingWithOptions:

+ (void)handleApplicationDidFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions

Обрабатывает открытие push-уведомления из метода application:didFinishLaunchingWithOptions:. Метод должен быть вызван после инициализации AppMetrica SDK.

Параметры:
launchOptions

Параметры в виде пар «ключ-значение», которые содержат информацию о запуске приложения.

launchOptions

Параметры в виде пар «ключ-значение», которые содержат информацию о запуске приложения.

+handleDidReceiveNotificationRequest:

+ (void)handleDidReceiveNotificationRequest:(UNNotificationRequest *)request

Обрабатывает получение push-уведомления из расширения Notification Service Extension.

Метод должен быть вызван в реализации метода didReceiveNotificationRequest:withContentHandler:.

Параметры:
request

Объект класса UNNotificationRequest.

request

Объект класса UNNotificationRequest.

+handleRemoteNotification:

+ (void)handleRemoteNotification:(NSDictionary *)userInfo

Обрабатывает открытие push-уведомления из метода application:didReceiveRemoteNotification:fetchCompletionHandler:. Метод должен быть вызван после инициализации AppMetrica SDK.

Параметры:
userInfo

Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой.

userInfo

Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой.

+handleSceneWillConnectToSession:

+ (void)handleSceneWillConnectToSessionWithOptions:(UISceneConnectionOptions *)connectionOptions

Обрабатывает открытие push-уведомления из метода scene:willConnectToSession:options:. Метод должен быть вызван после инициализации AppMetrica SDK.

Параметры:
connectionOptions

Объект класса UISceneConnectionOptions с параметрами подключения, которые передаются системой.

connectionOptions

Объект класса UISceneConnectionOptions с параметрами подключения, которые передаются системой.

+isNotificationRelatedToSDK:

+ (BOOL)isNotificationRelatedToSDK:(NSDictionary *)userInfo;

Возвращает YES, если push-уведомление относится к AppMetrica.

Параметры:
userInfo

Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой.

userInfo

Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой.

Возвращает:

  • YES — если push-уведомление относится к AppMetrica.
  • NO — если push-уведомление не относится к AppMetrica.

+setDeviceTokenFromData:

+ (void)setDeviceTokenFromData:(nullable NSData *)data

Регистрирует device token приложения с production-окружением. Метод должен быть вызван после инициализации AppMetrica SDK.

Параметры:
data

Device token приложения.

Если передается значение nil, предыдущий device token отзывается.

data

Device token приложения.

Если передается значение nil, предыдущий device token отзывается.

+setDeviceTokenFromData:pushEnvironment:

+ (void)setDeviceTokenFromData:(nullable NSData *)data
            pushEnvironment:(YMPYandexMetricaPushEnvironment)pushEnvironment

Регистрирует device token приложения с указанным окружением. Метод должен быть вызван после инициализации AppMetrica SDK.

Внимание. AppMetrica позволяет отправлять push-уведомления в Sandbox APNs. Но обработка push-уведомлений может работать некорректно, если на устройстве запускались версии приложения с разным окружением (development и production). Чтобы избежать этого, можно использовать отдельный тестовый API key для development окружения.
Параметры:
data

Device token приложения.

Если передается значение nil, предыдущий device token отзывается.

pushEnvironment

APNs окружение приложения.

data

Device token приложения.

Если передается значение nil, предыдущий device token отзывается.

pushEnvironment

APNs окружение приложения.

+setExtensionAppGroup:

+ (void)setExtensionAppGroup:(NSString *)appGroup

Регистрирует общую группу App Groups приложения и Notification Service Extension.

Регистрация необходима для отслеживания доставки push-уведомлений. Подробнее в разделе Настройка сбора статистики push-уведомлений.

Параметры:
appGroup

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

appGroup

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

+userDataForNotification:

+ (nullable NSString *)userDataForNotification:(NSDictionary *)userInfo
Возвращает произвольную строку данных, которая передается в push-уведомлении:
  • В поле Дополнительные данные при отправке из интерфейса AppMetrica.
  • В поле data при отправке с помощью Push API.
Параметры:
userInfo

Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой.

userInfo

Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой.

Возвращает:

Произвольная строка данных.

+userNotificationCenterDelegate

+ (id<YMPUserNotificationCenterDelegate>)userNotificationCenterDelegate

Возвращает делегат YMPUserNotificationCenterDelegate, который обрабатывает foreground push-уведомления на iOS 10 и выше.

Для обработки foreground push-уведомлений, добавьте этот код в методе application:didFinishLaunchingWithOptions::

[UNUserNotificationCenter currentNotificationCenter].delegate = [YMPYandexMetricaPush userNotificationCenterDelegate];

Для ручной обработки push-уведомлений используйте +userNotificationCenterHandler.

Возвращает:

Делегат, который реализует протокол YMPUserNotificationCenterDelegate.

+userNotificationCenterHandler

+ (id<YMPUserNotificationCenterHandling>)userNotificationCenterHandler

Возвращает делегат YMPUserNotificationCenterHandling, который позволяет вручную обрабатывать foreground push-уведомления на iOS 10 и выше.

Используйте этот делегат, если вы реализуете протокол UNUserNotificationCenterDelegate с собственной логикой. При этом необходимо реализовать каждый метод из делегата UNUserNotificationCenterDelegate и вызывать соответствующие методы в YMPUserNotificationCenterHandling.

Для упрощенной обработки push-уведомлений используйте +userNotificationCenterDelegate.

Возвращает:

Делегат, который реализует протокол YMPUserNotificationCenterHandling.