Flutter
最新バージョン:v1.0.0
更新日:2025-12-08
1. 概要
AE 4.4から、エンゲージモジュールに「構成センター」機能がリリースされました。AE管理画面で機能パラメータの構成を追加し、クライアントSDKでAppに取得することで、プレイヤーとのインタラクション内容をきめ細かくカスタマイズできます。
このドキュメントでは、クライアントSDKの統合手順を説明します。App側はThinkingData SDKとのやり取りだけを考慮すればよく、AE管理画面の構成の詳細を気にする必要はありません。
2. 統合
Flutterプロジェクトのpubspec.yamlファイルに、次の依存関係を追加します:
dependencies:
thinking_analytics: ^3.3.1
td_remote_config: ^1.0.0
構成センターには、データ収集SDKが必要です:
| SDK名 | 機能の紹介 | バージョン要件 |
|---|---|---|
| thinking_analytics | データの収集と処理を行います | >= 3.3.1 |
| td_remote_config | AE管理画面の設定情報を取得します | >= 1.0.0 |
3. 初期化
//まずデータ収集SDKを初期化
TDAnalytics.init(appId, serverUrl);
//方法1
TDRemoteConfig.init("appId", "serverUrl");
//方法2
//TDRemoteConfigSettingsの設定の詳しい使い方は【応用ガイド】を参照してください
TDRemoteConfigSettings settings = TDRemoteConfigSettings();
settings.appId = "appId";
settings.serverUrl = "serverUrl";
TDRemoteConfig.initWithConfig(settings);
4. 使用方法
4.1 データ構造のサンプル
"configId" : {
"templateId" : [
{
"#strategy_id" : "2024121001",
"paramater_x" : "1111",
"#ops_receipt_properties" : {}
}
],
"#custom_params" : {
}
}
補足:
configId:エンゲージ管理画面の構成センターモジュールで作成した「構成項目ID」。業務モジュールの情報を識別するために使用します。構成項目の詳細は構成項目管理を参照してください
templateId:業務側で「構成項目」の下に追加した「テンプレートID」。具体的な機能モジュールの情報を識別するために使用します。構成テンプレートの詳細は構成テンプレート管理を参照してください
#strategy_id:戦略の一意のID。戦略のライフサイクル管理に使用します。構成戦略の詳細は構成戦略管理を参照してください
paramater_x:構成テンプレートのパラメータ。機能モジュールに必要な構成パラメータに対応します
#ops_receipt_properties:イベントの回収統計に使用します。戦略の効果を自動集計する(未対応)場合は、回収イベントにこのプロパティを含める必要があります
#custom_params:クライアントの構成チャンネルに設定したカスタムパラメータ。クライアントに渡す必要があるユーザープロパティ情報を定義できます。
4.2 ローカルのデフォルト値の設定
TDRemoteConfig SDKで構成項目のデフォルト値を設定できます。AEサーバーで構成項目が追加されていない場合や、ローカルでリモートの値を取得できなかった場合に、SDKはローカルのデフォルト値を取得します。
形式
ローカルのデフォルト値の構造は、次の形式にする必要があります:
{
"configId": {
"templateId": [
{
"paramater_x" : ""
}
]
}
}
直接設定
TDRemoteConfig.setDefaultValues({
"templateId":{
"templateId":[
{
"paramater_x":""
}
]
}
});
デフォルト値のクリア
TDRemoteConfig.clearDefaultValues();
4.3 値の取得方法
構成項目の下で、リリース済みで配信中の特定タイプの戦略内容を取得します:
List<dynamic>? v = await TDRemoteConfig.getData().get("configId").get("templateId").arrayValue();
補足:
configId:エンゲージ管理画面の構成センターモジュールで作成した「構成項目ID」。業務モジュールの情報を識別するために使用します。構成項目の詳細は構成項目管理を参照してください
templateId:業務側で「構成項目」の下に追加した「テンプレートID」。具体的な機能モジュールの情報を識別するために使用します。構成テンプレートの詳細は構成テンプレート管理を参照してください
取得ルール
あるkeyの値を取得する手順:
- そのkeyに対応するリモート構成の値を優先して取得します
- リモートでそのkeyが構成されていない場合は、そのkeyのローカルのデフォルト値を探します
- ローカルのデフォルト値にもそのkeyがない場合は、空を返します。
4.4 更新のリッスン
SDKの初期化前に、構成の取得成功の通知リスナーを追加します
TDRemoteConfig.addConfigFetchListener((statusData) {
});
通知に含まれるパラメータ
通知には、デフォルトで今回のリクエストと前回のリクエストの間に一時的に無効化(suspend)、強制オフライン(force_offline)に変更された戦略のステータスが含まれます。業務の要件に応じて利用できます。使用しない場合は無視してかまいません。
次の方法で通知パラメータを取得します
Map<String, dynamic> map = statusData["strategy_status_map"];
対応するvalueの構造は次のとおりです。構成項目のテンプレートで戦略IDが20241209の戦略のステータスを表しています。
{
"configId" : {
"templateId" : {
"20241209" : "suspend"
}
}
}
5. テスト送信
接続の利用可否と構成戦略の有効性をすばやく検証できるよう、SDKはテストモードの有効化に対応しています。
//データ収集SDKと構成センターSDKの両方でDEBUGモードを使用する必要があります
TDConfig config = TDConfig();
config.appId = "appId";
config.serverUrl = "serverUrl";
config.setMode(TDMode.DEBUG);
TDAnalytics.initWithConfig(config);
TDRemoteConfigSettings settings = TDRemoteConfigSettings();
settings.appId = "appId";
settings.serverUrl = "serverUrl";
settings.mode = TDRemoteConfigMode.DEBUG;
TDRemoteConfig.initWithConfig(settings);
クライアントでdebugモードを有効にすると、5秒ごとにテスト戦略を取得します。AEのエンゲージモジュールではテンプレートテストまたは戦略テストを作成できます。構成の取得を待っている間は、フロントエンドのページで進捗ノードを確認できます。
操作ドキュメント構成テンプレート管理の、クライアントのテスト送信の部分を参照してください。
クライアントSDKのテスト送信にはテストデバイスが必要です。テストデバイスリストでテストデバイスを選択または追加できます。

