Flutter
最新版本:v1.0.0
更新时间:2025-12-08
1. 概述
从 AE 4.4 版本开始,运营模块上线了“配置中心”功能,支持在 AE 后台添加功能参数配置,通过客户端 SDK 拉取至App,精细化定制您与玩家的互动内容。
本文介绍客户端SDK的集成过程,App 端只需要关注与数数 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);
//第一种
TDRemoteConfig.init("appId", "serverUrl");
//第二种
//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 模式后,会每 5s 拉取一次测试策略。在 AE 运营模块可以创建模版测试或者策略测试,等待拉取配置的过程中,可以关注前端页面的进度节点。
参考操作文档 配置模板管理 中的客户端发送测试部分。
客户端SDK发送测试需要使用测试设备,您可在测试设备列表中选择或添加测试设备。

