Класс 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(_:willConnectTo:options:). Метод должен быть вызван после инициализации AppMetrica SDK. |
+isNotificationRelatedToSDK: | Возвращает |
+setDeviceTokenFromData: | Регистрирует device token приложения с production-окружением. Метод должен быть вызван после инициализации AppMetrica SDK. |
+setDeviceTokenFromData:pushEnvironment: | Регистрирует device token приложения с указанным окружением. Метод должен быть вызван после инициализации AppMetrica SDK. |
+setExtensionAppGroup: | Регистрирует общую группу App Groups приложения и Notification Service Extension. |
+userDataForNotification: | Возвращает произвольную строку данных, которая передается в push-уведомлении:
|
+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(_:willConnectTo:options:). Метод должен быть вызван после инициализации AppMetrica SDK. |
+isNotificationRelatedToSDK: | Возвращает |
+setDeviceTokenFromData: | Регистрирует device token приложения с production-окружением. Метод должен быть вызван после инициализации AppMetrica SDK. |
+setDeviceTokenFromData:pushEnvironment: | Регистрирует device token приложения с указанным окружением. Метод должен быть вызван после инициализации AppMetrica SDK. |
+setExtensionAppGroup: | Регистрирует общую группу App Groups приложения и Notification Service Extension. |
+userDataForNotification: | Возвращает произвольную строку данных, которая передается в push-уведомлении:
|
+userNotificationCenterDelegate: | Возвращает делегат YMPUserNotificationCenterDelegate, который обрабатывает foreground push-уведомления на iOS 10 и выше. |
+userNotificationCenterHandler: | Возвращает делегат YMPUserNotificationCenterHandling, который позволяет вручную обрабатывать foreground push-уведомления на iOS 10 и выше. |
Описание методов
downloadAttachmentsForNotificationRequest:
class func downloadAttachments(request: UNNotificationRequest, callback: YMPAttachmentsDownloadCallback)
Загружает прикрепленные файлы в push-уведомлениях. Метод доступен для iOS 10.0 и выше.
request | Объект класса UNNotificationRequest. |
callback | Callback-блок загрузки содержимого уведомлений. Формат: |
request | Объект класса UNNotificationRequest. |
callback | Callback-блок загрузки содержимого уведомлений. Формат: |
handleApplicationDidFinishLaunching(withOptions:)
class func handleApplicationDidFinishLaunching(withOptions launchOptions: [AnyHashable : Any]?)
Обрабатывает открытие push-уведомления из метода application(_:didFinishLaunchingWithOptions:). Метод должен быть вызван после инициализации AppMetrica SDK.
launchOptions | Параметры в виде пар «ключ-значение», которые содержат информацию о запуске приложения. |
launchOptions | Параметры в виде пар «ключ-значение», которые содержат информацию о запуске приложения. |
handleDidReceive(_:)
class func handleDidReceive(_ request: UNNotificationRequest?)
Обрабатывает получение push-уведомления из расширения Notification Service Extension.
Метод должен быть вызван в реализации метода didReceive(_:withContentHandler:).
request | Объект класса UNNotificationRequest. |
request | Объект класса UNNotificationRequest. |
handleRemoteNotification(_:)
class func handleRemoteNotification(_ userInfo: [AnyHashable : Any]?)
Обрабатывает открытие push-уведомления из метода application(_:didReceiveRemoteNotification:fetchCompletionHandler:). Метод должен быть вызван после инициализации AppMetrica SDK.
userInfo | Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой. |
userInfo | Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой. |
handleSceneWillConnectToSession(with: connectionOptions)
class func handleSceneWillConnectToSession(with: connectionOptions)
Обрабатывает открытие push-уведомления из метода scene(_:willConnectTo:options:). Метод должен быть вызван после инициализации AppMetrica SDK.
connectionOptions | Объект класса UIScene.ConnectionOptions с параметрами подключения, которые передаются системой. |
connectionOptions | Объект класса UIScene.ConnectionOptions с параметрами подключения, которые передаются системой. |
isNotificationRelated(toSDK:)
class func isNotificationRelated(toSDK userInfo: [AnyHashable : Any]?) -> Bool
Возвращает YES
, если push-уведомление относится к AppMetrica.
userInfo | Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой. |
userInfo | Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой. |
Возвращает:
YES
— если push-уведомление относится к AppMetrica.NO
— если push-уведомление не относится к AppMetrica.
setDeviceTokenFrom(_:)
class func setDeviceTokenFrom(_ data: Data?)
Регистрирует device token приложения с production-окружением. Метод должен быть вызван после инициализации AppMetrica SDK.
data | Device token приложения. Если передается значение |
data | Device token приложения. Если передается значение |
setDeviceTokenFrom(_:pushEnvironment:)
class func setDeviceTokenFrom(_ data: Data?, pushEnvironment: YMPYandexMetricaPushEnvironment)
Регистрирует device token приложения с указанным окружением. Метод должен быть вызван после инициализации AppMetrica SDK.
data | Device token приложения. Если передается значение |
pushEnvironment | APNs окружение приложения. |
data | Device token приложения. Если передается значение |
pushEnvironment | APNs окружение приложения. |
setExtensionAppGroup(_:)
class func setExtensionAppGroup(_ appGroup: String?)
Регистрирует общую группу App Groups приложения и Notification Service Extension.
Регистрация необходима для отслеживания доставки push-уведомлений. Подробнее в разделе Настройка сбора статистики push-уведомлений.
appGroup | Название общей группы App Groups. |
appGroup | Название общей группы App Groups. |
userData(forNotification:)
class func userData(forNotification userInfo: [AnyHashable : Any]?) -> String?
- В поле Дополнительные данные при отправке из интерфейса AppMetrica.
- В поле
data
при отправке с помощью Push API.
userInfo | Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой. |
userInfo | Параметры push-уведомлений в виде пар «ключ-значение», которые передаются системой. |
Возвращает:
Произвольная строка данных.
userNotificationCenterDelegate()
class func userNotificationCenterDelegate() -> YMPUserNotificationCenterDelegate?
Возвращает делегат YMPUserNotificationCenterDelegate, который обрабатывает foreground push-уведомления на iOS 10 и выше.
Для обработки foreground push-уведомлений, добавьте этот код в методе application(_:didFinishLaunchingWithOptions:):
let delegate = YMPYandexMetricaPush.userNotificationCenterDelegate()
UNUserNotificationCenter.current().delegate = delegate
Для ручной обработки push-уведомлений используйте userNotificationCenterHandler().
Возвращает:
Делегат, который реализует протокол YMPUserNotificationCenterDelegate.
userNotificationCenterHandler()
class func userNotificationCenterHandler() -> YMPUserNotificationCenterHandling?
Возвращает делегат YMPUserNotificationCenterHandling, который позволяет вручную обрабатывать foreground push-уведомления на iOS 10 и выше.
Используйте этот делегат, если вы реализуете протокол UNUserNotificationCenterDelegate с собственной логикой. При этом необходимо реализовать каждый метод из делегата UNUserNotificationCenterDelegate
и вызывать соответствующие методы в YMPUserNotificationCenterHandling
.
Для упрощенной обработки push-уведомлений используйте userNotificationCenterDelegate()
Возвращает:
Делегат, который реализует протокол YMPUserNotificationCenterHandling
.