The SDK supports tracking of certain events - App Open and Notification tracking natively. For these events the application doesn't need to call any method. These methods are available in BlueShiftAppDelegate.
This event is called when the initialization() method is called. This happens each time the users start the application and resume application.
The App Open event can be called with additional parameters using the following method:
- (void)trackAppOpenWithParameters:(NSDictionary *)parameters;
These events enable accurate tracking and statistics around push notifications. If the application uses different framework/methods to render the push notifications, the below methods would need to be implemented to ensure accurate tracking of push notifications.
Called when a push message is received and a notification is displayed to the user.
- (void)trackPushViewedWithParameters:(NSDictionary *)userInfo canBacthThisEvent:(BOOL)isBatchEvent;
Ideally 100% notification delivery cannot be tracked by SDK since notification is handled by operating system most of the time.
Typical scenario above sdk method trigger when push notification comes during app in foreground.
Way to increase notification delivery accuracy
Since the introduction of Notification service extension from iOS 10 upwards we can increase the accuracy value
Things needed take care
- Operating system must be iOS 10 +
- Notification service extension integrated along with the app and SDK method called inside in it.
- Every push notification payload must contain mutable-content flag with value '1' (for invoking extension)
Called when the user clicks on the notification or any button on the notification.
- (void)trackPushClickedWithParameters:(NSDictionary *)userInfo canBatchThisEvent:(BOOL)isBatchEvent;