Skip to main content
Zixflow tracks push notification delivery and engagement so you can measure campaign performance.

Lifecycle events

With autoTrackPushEvents(true) (as in the iOS example):
  • Body opens are auto-tracked
  • Action-button taps are not treated as opens — the SDK only auto-opens on the default action
  • Delivered is reliable when you add an NSE + App Groups; the example focuses on action buttons and does not ship an NSE

Payload fields

Accept both delivery-key casings when reading userInfo.

Delivery tracking (Notification Service Extension)

The example app does not include an NSE. For rich push and reliable delivered metrics:
Share an App Group between the main app and extension; pass the same .appGroupId(...).

Open tracking (body)

With autoTrackPushEvents(true), body taps are tracked automatically. You do not need a wrapper for that path. If you disable auto-track, call:

Action Button Clicked

Handle only ACTION_0 / ACTION_1 in didReceive (match the example):
Register ZX_2BTN at launch — see Push Notifications. Required properties: Zixflow-Delivery-ID, action_index, action_name. Recommended: Zixflow-Delivery-Token, action_deeplink.
The iOS example does not rely on deepLinkCallback for campaign taps. It reads deeplink_url / button deeplink in UNUserNotificationCenterDelegate and routes through NavigationRouter:
After action tracking, use the same pattern with the button deeplink (empty string is allowed — skip open). You can still set SDKConfigBuilder.deepLinkCallback for other SDK-forwarded links; the example’s push interaction path uses the router above.

App Groups checklist (for NSE / delivered)

  1. Enable App Groups on the main app and Notification Service Extension
  2. Use the same group ID
  3. Pass it via .appGroupId(...) in main-app and extension push config

Non-Zixflow pushes

If delivery ID is missing, skip Zixflow push metrics. Do not use reserved action event names for external pushes.

Testing

Enable .logLevel(.debug). Dashboard → MessagingPush Notifications: Delivered, Opened, Clicked. Use a physical device.