Skip to main content
SDK 2.0 authenticates with a license token. Native platforms can also use appId + appKey for online auth. Web must never embed appKey in frontend JavaScript.
Complete Subscribe first: bind your app identifiers in the Dashboard (Bundle ID / package name / domain) and enable a plan.

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
Android
C++ (Windows / Linux)
Flutter
Online alternative on native platforms:
Prefer shipping the offline .lic as an app asset and loading it at runtime instead of hard-coding it in source.

Web

The browser SDK has no appId / appKey fields. Pick one:
Do not put appKey in a production frontend bundle. createDirectAuthFetcher is for local debugging. Web does not support offline .lic files.
Example Node proxy:

Offline license (native)

  1. Sign in to the Dashboard
  2. Select a project, then download the offline license
  3. Pass the entire file contents as licenseToken / license_token
Validity matches your current subscription. After renewing or changing the plan, download again and replace the token in your app.

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 via onEngineEvent / Flutter engine.events: