Pick an SDK
JavaScript SDK
Install, identify contacts, track events, and register devices from a browser bundle or Node app.
iOS SDK
Install via SPM or CocoaPods, identify users, track events, register for APNs, render in-app notifications, unwrap Universal Links.
Android SDK
Install via JitPack, identify users, track events, register for FCM, render in-app dialogs, unwrap App Links.
What every SDK does
- Identifies contacts. Mobile SDKs retain their local identity. The JavaScript
BrowserClientcreates an anonymous ID in memory for each instance; callingidentifysends it with your external ID. - Tracks events. A single
trackcall flows into journeys, segments, and campaign triggers. - Registers devices. The SDKs can send device details and mobile push tokens for the relevant channel.
- Renders in-app notifications. Banner, alert, and HTML content types. iOS and Android render natively; the JavaScript SDK fetches and lets you render however you want.
- Authenticates with publishable keys (
pk_…). These are safe to ship in client builds. Read Manage API keys for the key model. - Pins an API version. SDK requests use the version set by the installed release.
Pick the right surface
Where the SDKs fit
Sync users from your backend
SDKs cover the client-side flows. For backend-driven user import, use the recipe.
Send events from your backend
Backend events can mix with SDK events on the same user record.
Configure push providers
Set up APN and FCM credentials before mobile SDKs can register tokens.
Subscription preferences
The preference centre lives on a web page, not inside the mobile SDKs.