Skip to main content
On native iOS, ClarioDesk delivers push straight through APNs. There is no Firebase SDK to add, no google-services plist, no third-party messaging dependency — the wiring is one line in your AppDelegate.

Wire the token

Request notification permission and register for remote notifications as you normally would, then forward the raw APNs token:
That’s the whole client side. The SDK registers the token with the backend and re-registers when iOS rotates it.

Upload your APNs key once

In the dashboard, open your app’s push settings and upload the APNs auth key (the .p8 file from your Apple Developer account, with its key id and team id). Delivery then goes ClarioDesk → APNs → device, from your own Apple credentials. Route ClarioDesk notifications in your tap handler, then open the thread:
openTicketFromPush parses the payload, returns it (or nil if the notification isn’t ours), and emits the ticket id on ClarioDesk.pushOpened — if the support modal is already presented, it navigates itself. Headless hosts route with the returned payload or subscribe:
In a shared handler, distinguish ours without consuming:

Preferences

Already shipping Firebase?

A host that already runs Firebase Messaging can hand the SDK FCM tokens instead: implement the PushTokenProvider protocol against Messaging.messaging() and pass it in ClarioDeskOptions, or call ClarioDesk.registerPushToken(token) from your own messaging callback. The SDK itself never imports Firebase either way.
The backend is presence-aware: when the user is actively connected over realtime, the push is suppressed — they’re already seeing the reply live. See the push concept page.