Integration guide
SDK availability
Check the roles of the browser, mobile, and server SDKs and their public release versions.
ABTO SDKs come in two branches, split by where they run. Client SDKs run where users are (browsers and mobile apps); server SDKs run where the model is called (servers, workers, batch jobs). They use different keys and observe different facts, so one cannot take the other’s place.
Client SDKs and server SDKs
Section titled “Client SDKs and server SDKs”| Aspect | Client SDK | Server SDK |
|---|---|---|
| Where it runs | Browser, mobile/desktop apps | Application server, worker, CI |
| Key it uses | Event Key (ek-abto-…) | Calling Key (ck-abto-…) |
| What it does | Collects user behavior and what happened on screen | Passes user and feature context to gateway calls |
| Representative SDKs | Browser JavaScript, Android, iOS, Flutter | Node / Server JavaScript, Python |
Neither SDK measures models, tokens, cost, or latency itself. The gateway records those facts as it forwards each call. The principle that each part reports only what it directly observed is covered in How it works.
Never mixing the two keys matters more than anything else here. Keep the Calling Key in server environment variables only; the Event Key cannot authenticate gateway calls. The distinction is set out in Get started.
Which side to integrate first
Section titled “Which side to integrate first”To see an AI feature’s cost and quality first, connect your gateway calls with a server SDK.
To see whether users actually used the feature and converted, collect behavior with a client SDK.
To weigh outcome against cost, integrate both.
Product behavior and AI usage join by device_id,
and each individual request joins by the request_id the gateway issues.
Public release versions
Section titled “Public release versions”The table below groups public releases into browser, mobile, and server runtimes.
SDK availability
SDKs are grouped into browser, mobile, and server runtimes. Each badge reads the latest version from its public distribution.
Collect user behavior, navigation, and Custom Events on the web
Collect product events in Android, iOS, and Flutter apps
Propagate user and feature context onto Gateway calls from your backend
The table carries three status levels.
- Available: installs from a public registry and has passed installation verification
- Preview: installs, but the API may still change
- Planned: not publicly installable yet; the examples are a pre-release preview
Version compatibility
Section titled “Version compatibility”- The public SDKs are currently in the
0.xline - From
1.0.0on, breaking changes ship only in a new major version under semantic versioning
For changes and migration notes between versions, see each SDK’s GitHub Release.