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