Класс YMPYandexMetricaPush

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

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

+handleApplicationDidFinishLaunchingWithOptions:

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

+handleDidReceiveNotificationRequest:

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

+handleRemoteNotification:

Обрабатывает открытие push-уведомления из метода application(_:didReceiveRemoteNotification:fetchCompletionHandler:). Метод должен быть вызван после инициализации 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 и выше.

+handleApplicationDidFinishLaunchingWithOptions:

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

+handleDidReceiveNotificationRequest:

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

+handleRemoteNotification:

Обрабатывает открытие push-уведомления из метода application(_:didReceiveRemoteNotification:fetchCompletionHandler:). Метод должен быть вызван после инициализации 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 и выше.

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

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-уведомлений в виде пар «ключ-значение», которые передаются системой.

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 приложения.

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

data

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

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

setDeviceTokenFrom(_:pushEnvironment:)

class func setDeviceTokenFrom(_ data: Data?, pushEnvironment: YMPYandexMetricaPushEnvironment)

Регистрирует 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(_:)

class func setExtensionAppGroup(_ appGroup: String?)