appId + appKey for online auth. Web must never embed appKey in frontend JavaScript.
Native (Android / iOS / macOS / Windows / Linux / Flutter)
Pass one of the following when creating the engine:
Priority: if
licenseToken is non-empty, the SDK validates that token locally and does not call the network with appId / appKey.
iOS / macOS
.lic as an app asset and loading it at runtime instead of hard-coding it in source.
Web
The browser SDK has noappId / appKey fields. Pick one:
Offline license (native)
- Sign in to the Dashboard
- Select a project, then download the offline license
- Pass the entire file contents as
licenseToken/license_token
Notes
- The offline license is bound to the app identifiers configured in the Dashboard; a mismatch fails validation.
- Not expired: features follow your subscription plan.
- Expired: the engine can still initialize, but capabilities fall back to the Free plan (watermarked trial, no keypoint callbacks). Renew and download a new license.
- Web cannot use offline licenses; it must complete an online v2 auth path.
Engine events
Listen for license and init results viaonEngineEvent / Flutter engine.events:

