応用ガイド
1. 初期化パラメータ
Cocos Creatorでは、TDRemoteConfig.initで設定を渡します。Web/ミニゲームはJSチャンネルを使用し、Android/iOS/HarmonyOSのネイティブパッケージはパラメータをネイティブのTDRemoteConfigにブリッジします。
1.1 設定項目
| プロパティ名 | タイプ | 説明 |
|---|---|---|
| appId | String | AE管理画面で作成したプロジェクトのapp id。必須 |
| serverUrl | String | AE管理画面で作成したプロジェクトのserver url。必須 |
| debugMode | String | SDKの実行モード。1.2を参照してください。ネイティブチャンネルは'debug'のみを認識します |
| enableLog | Boolean | ログ出力を有効にするかどうか。ログのみを制御し、テストモードには入りません |
| templateCode | String | テンプレートコード。任意 |
| customFetchParams | Object | 初期化時に渡すカスタムFetchパラメータ。任意 |
TDRemoteConfig.init({
appId: 'YOUR-APP-ID',
serverUrl: 'https://your-server-url',
enableLog: true,
debugMode: 'debug',
customFetchParams: { channel: 'cocos' }
});
1.2 SDKの実行モード
| 値 | 説明 |
|---|---|
| 渡さない/その他の値 | 通常モード。本番の戦略に従って構成を取得し、データベースに格納します。 |
| debug | テストモード。デバイスをAEコンソールのテストデバイスリストに追加する必要があります。クライアントは短い間隔でテスト戦略を取得するため、AEのエンゲージモジュールでテンプレートテストや戦略テストを検証しやすくなります。 |
| debugOnly | Web/ミニゲームのJSチャンネルでのみ対応しています。ネイティブのAndroid/iOS/HarmonyOSはこの値を認識せず、通常モードと同じ動作になります。 |
2. 取得タイミングのカスタマイズ
2.1 自動取得
次のシナリオでは、SDKがリモート構成データを自動的に取得します。
Web/ミニゲーム(JSチャンネル)
- SDKの初期化成功後
- アプリのフォアグラウンド/バックグラウンドの切り替えで、前回の取得から6時間を超えた場合
- TDAnalytics SDKのアカウント体系に変更があった場合(login、logoutなど)
Android/iOS/HarmonyOS(ネイティブチャンネル)
初期化後はネイティブのTDRemoteConfigが自動的に取得し、Appのライフサイクルとアカウントの変更に追随します。アカウントの変更を構成の取得に反映させるには、先に分析SDKを初期化してから、構成センターを初期化してください。
2.2 手動取得
SDKのメソッドを手動で呼び出して、いつでもリモート構成を取得できます。ネイティブチャンネルではTDRemoteConfigProxyApiに転送されます。
TDRemoteConfig.fetch();
// 複数インスタンスの場合はappId / templateCodeを指定できます
TDRemoteConfig.fetch(appId, templateCode);
このAPIには内部で頻度制御があるため、頻繁に取得しないでください。
3. Fetchパラメータのカスタマイズ
Fetchパラメータは、クライアントSDKがAEサーバーに値を要求する際に使用できるパラメータです。Fetchパラメータをカスタマイズし、構成チャンネルの環境パラメータとして追加すると、戦略の設定時にFetchパラメータを使ってターゲットユーザーをカスタマイズできます。
3.1 追加
TDRemoteConfig.setCustomFetchParams({
demo_param: 'from_demo'
}, appId);
3.2 削除
指定したkeyに基づいて削除します
TDRemoteConfig.removeCustomFetchParam('demo_param', appId);
4. Client Params
v1.3.1から、Cocos CreatorはClient Paramsに対応しています。Fetchパラメータと同様に、クライアントパラメータもリモート戦略のマッチングに使用できます。違いは、パラメータがクライアントのローカルに保存され、リクエスト時にSDKによって付与される点です。Android/iOS/HarmonyOSのネイティブブリッジも対応済みです。
TDRemoteConfig.addClientParams({
client_tag: 'demo',
client_count: 1
});
TDRemoteConfig.removeClientParam('client_tag');
TDRemoteConfig.accumulateNum('client_count', 1);
const tag = TDRemoteConfig.getClientParamValueForKey('client_tag');
const all = TDRemoteConfig.getClientParams();

