SDK 初期化¶
このドキュメントでは、Cocos Creator SDK の基本設定、初期化順序、ユーザーバインド、ライフサイクルについて説明します。
基本設定¶
import { guanceSdk } from '@cloudcare/cocos-sdk/creator3';
guanceSdk.start({
sdk: {
datakitUrl: 'https://your-datakit.example.com',
serviceName: 'cocos-game',
env: 'prod',
debug: true,
globalContext: {
game_channel: 'app-store',
},
},
});
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
datakitUrl |
string |
条件付き必須 | ローカル DataKit の送信先 URL。datawayUrl とはどちらか一方のみを指定します |
datawayUrl |
string |
条件付き必須 | パブリック DataWay の送信先 URL。clientToken と同時に設定する必要があります |
clientToken |
string |
条件付き必須 | DataWay 認証トークン |
serviceName |
string |
任意 | データが属するサービス名。Android と iOS で同じ値を使用することを推奨します |
env |
string |
任意 | 環境名。一般的な値は prod、gray、pre、common、local で、カスタム値もサポートされています |
debug |
boolean |
任意 | Native SDK のデバッグログを出力するかどうか。本番環境ではオフにすることを推奨します |
globalContext |
Record<string, string> |
任意 | SDK データに追加される静的グローバルタグ |
次のいずれかの条件を満たす必要があります。満たさない場合、初期化時に Configure datakitUrl or datawayUrl with clientToken がスローされます。
datakitUrlに空でない値を設定する。datawayUrlとclientTokenの両方に空でない値を設定する。
両方が設定されている場合、Bridge は datakitUrl を優先します。環境の切り替え時に曖昧さが生じないよう、どちらか一方のみを設定することを推奨します。
SDK は基本グローバルタグに sdk_package_cocos を自動的に追加します。値は現在の Cocos npm パッケージのバージョンです。同じ名前のカスタムタグを使用しないでください。
完全な初期化と順序¶
guanceSdk.start() は次の順序で初期化します。
- 基本 SDK
- RUM
- Log
- Trace
- Session Replay(Replay パッケージを組み込み、
replay設定を渡した場合) - Cocos 自動収集
対応する設定オブジェクトが渡された場合のみ、そのモジュールが初期化されます。
以下は Replay を含む独立した完全な例です。同じバージョンの @cloudcare/cocos-session-replay をインストールし、インストーラーを --replay 付きで実行する必要があります。詳しくはアプリケーション導入を参照してください。withSessionReplay() は最初の start() または attach() の前に呼び出す必要があります。基本パッケージのみを使用する場合は、上記の基本設定のまま replay を渡さないでください。
import { guanceSdk as baseSdk } from '@cloudcare/cocos-sdk/creator3';
import { withSessionReplay } from '@cloudcare/cocos-session-replay/creator3';
export const guanceSdk = withSessionReplay(baseSdk);
guanceSdk.start({
sdk: {
datawayUrl: 'https://open.dataway.url',
clientToken: 'client-token',
serviceName: 'cocos-game',
env: 'prod',
},
rum: {
androidAppId: 'android-rum-app-id',
iosAppId: 'ios-rum-app-id',
},
logger: {
enableCustomLog: true,
},
trace: {
traceType: 'ddTrace',
},
replay: {
captureFps: 1,
},
autoTrack: {
scenes: true,
},
});
最初の収集シーンが読み込まれる前に初期化し、アプリケーションのライフサイクル中に一度だけ呼び出されるようにしてください。繰り返し初期化すると、Native SDK や自動リスナーに重複した状態が生じる可能性があります。
ユーザー情報のバインド¶
ユーザー ID のみを渡すこともできます。
完全なユーザー情報を渡すこともできます。
guanceSdk.mobile.bindUser({
userId: 'user-123',
userName: '玩家昵称',
userEmail: 'player@example.com',
extra: {
membership: 'gold',
region: 'cn-east',
},
});
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
userId |
string |
必須 | ユーザーの一意な識別子。空文字列は指定できません |
userName |
string |
任意 | ユーザー名 |
userEmail |
string |
任意 | ユーザーのメールアドレス |
extra |
Record<string, string> |
任意 | ユーザーに追加するタグ |
ユーザーがログアウトした場合は、バインドを解除します。
SDK のシャットダウン¶
このメソッドは次の処理を行います。
- Cocos の自動収集リスナーを削除
- Session Replay の定期フレームキャプチャを停止
- Native SDK をシャットダウン
シャットダウン後は収集 API を呼び出し続けないでください。再度有効にする場合は、アプリケーションを再起動して初期化を一度実行することを推奨します。
現在の Cocos API には、キャッシュの手動クリアや即時アップロードのメソッドは公開されていません。データキャッシュと送信タイミングは Native SDK によって管理されます。
動作プラットフォーム¶
ブラウザプレビューと Web ビルドはサポート対象外のプラットフォームです。TypeScript の呼び出しは Native Bridge に入らず、データも送信されません。導入の検証は Android または iOS のネイティブビルドで行う必要があります。