Spotzee ships three first-party SDKs. They share the same wire shape, the same publishable-key auth, and the same pinned API version, so a customer running a website plus an iOS app plus an Android app sees one user record across all three.Documentation Index
Fetch the complete documentation index at: https://docs.spotzee.com/llms.txt
Use this file to discover all available pages before exploring further.
Pick an SDK
| SDK | Distribution | Min target | Notes |
|---|---|---|---|
| JavaScript | npm / yarn / pnpm / <script> tag | Modern browsers, Node 18+ | Two ergonomic classes plus a typed client generated from the OpenAPI spec |
| iOS | Swift Package Manager + CocoaPods | iOS 13+, Mac Catalyst 13+, Xcode 14+ | APNs registration, in-app modals, Universal Links |
| Android | JitPack | Android SDK 23+ (Android 6.0 Marshmallow) | FCM registration, in-app dialogs, App Links |
JavaScript SDK
Install, identify users, track events, and register devices from a browser, Node app, or script tag.
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 users. Anonymous IDs are minted on first use and persisted locally. Calling
identifywith anexternal_idaliases the anonymous record to the known one. - Tracks events. A single
trackcall flows into journeys, segments, and campaign triggers. - Registers devices. APNs, FCM, or browser push tokens land on the user record so any push channel can target them.
- 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. Every SDK release sets
Spotzee-Versionto a known release date so a future API change does not break a shipped client.
Pick the right surface
| Use case | Reach for |
|---|---|
| Browser tracking, web push, simple Node integrations | JavaScript ergonomic surface (Client / BrowserClient / Spotzee) |
| Server-side, agentic, or full-coverage Node integrations | JavaScript typed client (@spotzee/js-sdk/generated) |
| Native iOS app | iOS SDK |
| Native Android app | Android SDK |
| Cross-platform mobile apps or server-side languages without an SDK | Call the Main API directly with a publishable or secret key |
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.