Skip to main content
You need an iOS app on iOS 16 or later, Xcode 16 or later, access to your Apple Developer account, and a PushNotifAI workspace. Workspaces are invite-only for now: if you don’t have one, contact us.
1

Create an app and copy its ingest key

Sign in at app.pushnotif.ai. In workspace settings, create an app. Production and staging are separate apps, so create one per environment.Creating an app issues its first ingest key (pna_...). It is shown exactly once, so copy it now. You can issue more later on the app’s SDK Keys page.
The ingest key can only write events. It cannot read anything, so it is safe to ship inside your app binary.
2

Upload your APNs key

In workspace settings, upload your APNs auth key (.p8) with its Key ID and your Team ID. See APNs key for where to find them in the Apple Developer portal.
3

Add the SDK

In Xcode, add the Swift package and link the PushNotifAI product to your app target:
4

Configure, identify and track

Configure the SDK as early as possible, in your app delegate’s didFinishLaunching or your App initializer:
When you know who the user is, identify them with your own user id. Then track the events that matter to your product:
Token registration and tap and dismiss reporting happen automatically. You still decide when to ask the user for notification permission.
5

Add the Notification Service Extension

This is what reports real delivery. Add a Notification Service Extension target, make its class subclass ours, and share this app group between the app and the extension:
Full steps: Delivery telemetry.
6

Check it worked

Run the app and open the dashboard. Your events show up on the Events page, and the device and user on Users. Nothing is sent yet: no flow is active until you activate one.

Next

Write your first flow

Let the Composer propose flows