AMPAppMetricaPush class

The main class for push notifications handling.

Instance methods

+downloadAttachmentsForNotificationRequest:

Uploads attached files in push notifications. The method is available for iOS 10.0 and higher.

+handleApplicationDidFinishLaunchingWithOptions:

Handles push notification openings from the method application:didFinishLaunchingWithOptions:.

+handleDidReceiveNotificationRequest:

Handles push notifications receiving from Notification Service Extension.

+handleRemoteNotification:

Handles push notification openings from the method application:didReceiveRemoteNotification:fetchCompletionHandler:.

+handleSceneWillConnectToSession:

Handles opening push notifications from the method scene:willConnectToSession:options:.

+isNotificationRelatedToSDK:

Returns YES if a push notification is related to AppMetrica.

+setDeviceTokenFromData:

Registers the device token for an application with a production environment.

+setDeviceTokenFromData:pushEnvironment:

Registers the device token of the application with the specified environment.

+setExtensionAppGroup:

Registers the App Groups shared group for the app and Notification Service Extension.

+userDataForNotification:

Returns an arbitrary data string that is passed in the push notification.

Properties

userNotificationCenterDelegate

Returns a delegate AMPUserNotificationCenterDelegate which handles foreground push notifications in iOS 10 and higher.

userNotificationCenterHandler

Returns a delegate AMPUserNotificationCenterHandling which allows you to manually handle foreground push notifications in iOS 10 and higher.

Method descriptions

+downloadAttachmentsForNotificationRequest:

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

Uploads attached files in push notifications. The method is available for iOS 10.0 and higher.

Parameters:

request

The instance of UNNotificationRequest.

callback

The callback block for uploading attached files. Format:

typedef void (^AMPAttachmentsDownloadCallback) (NSArray<UNNotificationAttachment *> * _Nullable attachments, NSError * _Nullable error)

Includes an array of attachments and an error if an error occurs when uploading files.

+handleApplicationDidFinishLaunchingWithOptions:

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

Handles push notification openings from the method application:didFinishLaunchingWithOptions:. Method should be invoked after AppMetrica SDK initialization.

Parameters:

launchOptions

Parameters as «key-value» pairs that contain information about the application start.

+handleDidReceiveNotificationRequest:

+ (void)handleDidReceiveNotificationRequest:(UNNotificationRequest *)request

Handles push notifications receiving from Notification Service Extension.

You should call the method in the implementation of didReceiveNotificationRequest:withContentHandler:.

Parameters:

request

The instance of UNNotificationRequest.

+handleRemoteNotification:

+ (void)handleRemoteNotification:(NSDictionary *)userInfo

Handles push notification openings from the method application:didReceiveRemoteNotification:fetchCompletionHandler. Method should be invoked after AppMetrica SDK initialization.

Parameters:

userInfo

Parameters of push notifications as «key-value» pairs that are transmitted by the system.

+handleSceneWillConnectToSession:

+ (void)handleSceneWillConnectToSessionWithOptions:(UISceneConnectionOptions *)connectionOptions

Handles opening push notifications from the method scene:willConnectToSession:options:. Method should be invoked after AppMetrica SDK initialization.

Parameters:

connectionOptions

The UISceneConnectionOptions class object with connection parameters that are transmitted by the system.

+isNotificationRelatedToSDK:

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

Returns YES if a push notification is related to AppMetrica.

Parameters:

userInfo

Parameters of push notifications as «key-value» pairs that are transmitted by the system.

Returns:

  • YES — If the push notification refers to AppMetrica.
  • NO — If the push notification is not related to AppMetrica.

+setDeviceTokenFromData:

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

Registers the device token for an application with a production environment. Method should be invoked after AppMetrica SDK initialization.

Parameters:

data

Device token of the application.

If you pass the nil value, the previous device token is revoked.

+setDeviceTokenFromData:pushEnvironment:

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

Registers the device token of the application with the specified environment. Method should be invoked after AppMetrica SDK initialization.

Alert

AppMetrica allows you to send push notifications to Sandbox APNs. However, push notification processing may not work correctly if versions of the application with different environments were run on the device(development and production). To avoid this issue, you can use a separate test API key for development environment.

Parameters:

data

Device token of the application.

If you pass the nil value, the previous device token is revoked.

pushEnvironment

APNs app environment.

+setExtensionAppGroup:

+ (void)setExtensionAppGroup:(NSString *)appGroup

Registers the App Groups shared group for the app and Notification Service Extension.

Registration is necessary for tracking the delivery of push notifications. For more information, see Configuring statistics collection for push notifications.

Parameters:

appGroup

The name of the shared App Groups group.

+userDataForNotification:

+ (nullable NSString *)userDataForNotification:(NSDictionary *)userInfo

Returns an arbitrary data string that is passed in the push notification:

  • In the Additional data field when sending from the AppMetrica interface.
  • In the data field when sending using the Push API.

Parameters:

userInfo

Parameters of push notifications as «key-value» pairs that are transmitted by the system.

Returns:

An arbitrary data string.

Property descriptions

+userNotificationCenterDelegate

@property (readonly, class) id<AMPUserNotificationCenterDelegate> userNotificationCenterDelegate;

Returns a delegate AMPUserNotificationCenterDelegate which handles foreground push notifications in iOS 10 and higher.

To handle foreground push notifications, add this code to the application: didFinishLaunchingWithOptions: method:

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

To manually handle push notifications, use userNotificationCenterHandler.

+userNotificationCenterHandler

@property (readonly, class) id<AMPUserNotificationCenterHandling> userNotificationCenterHandler;

Returns a delegate AMPUserNotificationCenterHandling to manually handle foreground push notifications in iOS 10 and higher.

Use this delegate if you implement the UNUserNotificationCenterDelegate protocol with custom logic. In this case, you should implement all methods of the UNUserNotificationCenterDelegate delegate and call the appropriate methods in AMPUserNotificationCenterHandling.

For simplified push notification handling, use userNotificationCenterDelegate.