appId + appKey も使えます。Web では、フロントエンドの JavaScript に appKey を埋め込まないでください。
ネイティブ(Android / iOS / macOS / Windows / Linux / Flutter)
エンジン作成時に、次のいずれか一方を渡します。
優先順位:
licenseToken が空でない場合、SDK はそのトークンをローカルで検証し、appId / appKey でネットワーク呼び出しは行いません。
iOS / macOS
.lic はソースにハードコードせず、アプリアセットとして同梱し、実行時に読み込むことを推奨します。入手方法は下記の オフラインライセンス を参照してください。
Web
ブラウザ SDK にはappId / appKey フィールドはありません。エンジンは licenseToken のみを受け取り、ローカルで検証します。init() の前に、自社サーバーからトークンを取得してください。
推奨フロー
- ダッシュボードでアプリを作成し、Web ドメインをバインドして
appId/appKeyをコピーします(サブスクリプション を参照) - キーは自社バックエンドに保管し、エンドポイント(例:
POST /api/facebetter/auth)を公開します - バックエンドが
https://facebetter.pixpark.net/facebetter/v2/authへ署名付きリクエストを送り、生のレスポンス本文をページへ返します - その文字列を
EngineConfig.licenseTokenに渡し、init()を呼び出します
demo/web/react)も同じパターンです。フロントエンドは src/fetchLicenseToken.js、サーバープロキシは api/facebetter/auth.js です。
フロントエンド
サーバープロキシ(Node の例)
FB_APP_ID / FB_APP_KEY を環境変数に保存します。Express / Fastify / サーバーレス関数に次を組み込めます。
api/facebetter/auth.js。
上流リクエストのフィールド
成功時、上流は JSON(
token フィールドを含む)を返します。レスポンステキストをそのまま転送しても、token 文字列だけを取り出しても構いません。SDK はどちらも受け付けます。
オフラインライセンス(ネイティブ)
ダッシュボードでは、オフライン.lic のセルフサービスダウンロードを提供していません。オフラインライセンスが必要な場合は、営業または管理者へ連絡してください。
- メール: hello@facebetter.net(件名の目安:
[Business Partnership] Offline license) - その他の方法: お問い合わせ
licenseToken / license_token に渡します。有効期間は現在のサブスクリプションに一致します。更新やプラン変更後は、新しいファイルを依頼してアプリ内のファイルを置き換えてください。
注意事項
- オフラインライセンスは、ダッシュボードで設定したアプリ識別子にバインドされます。不一致だと検証に失敗します。
- 未期限切れ: 機能はサブスクリプションプランに従います。
- 期限切れ: エンジンは初期化できますが、機能は Free プランにフォールバックします(透かし付き試用、キーポイントコールバックなし)。更新して新しいライセンスを依頼してください。
- Web はオフラインライセンスを使えません。オンラインの v2 認証パスが必要です。
エンジンイベント
ライセンスと初期化の結果はonEngineEvent / Flutter engine.events で購読します。

