One SDK, then everything else is data
Everything in Crossdeck — identity, entitlements, revenue, errors — rides on one SDK sending verified signals from your app. This first step is the foundation: get the SDK in, initialise it once, and confirm a live signal. Every other lesson builds on this one setup.
Add the SDK for your platform
On the web it's one package; on iOS it's a Swift Package.
npm install @cross-deck/web
// In Xcode: File → Add Package Dependencies…
// https://github.com/cross-deck/crossdeck-swift
Initialise once, with your publishable key
Call init once when your app boots. It takes three things: the app ID for this platform, the publishable key from your project's API keys page (safe to ship in client code), and the environment so sandbox traffic never pollutes production. That's the only configuration there is.
import { Crossdeck } from "@cross-deck/web";
Crossdeck.init({
appId: "app_web_acme01",
publicKey: "cd_pub_live_xxx",
environment: "production",
});
import Crossdeck
let cd = try? Crossdeck.start(options: CrossdeckOptions(
appId: "app_ios_acme01",
publicKey: "cd_pub_live_xxx",
environment: .production
))
Your first verified signal, live
Run your app and open the dashboard. Within seconds the session appears live on the map — that's your first verified signal, and the proof the SDK is wired correctly.
A live session just landed on the map — the SDK is sending verified signals. You're set up.