跳到主要内容

Android

最近更新 2026/10/07

最新版本:v1.0.1

更新时间:2026-07-24

资源下载:下载

1. 概述​

从 6.1 版本开始,AE 新增实验套件功能,支持在 AE 后台创建实验,设置对照组和实验组的变量值,通过客户端 SDK 拉取至App,为不同组别的用户展示不同的内容。

本文介绍客户端SDK的集成过程,App 端只需要关注与数数 SDK 的交互即可,不需要关心 AE 后台的任务细节。

需要注意的是,实验 SDK 必须搭配配置中心 SDK 一起使用。

2. 集成​

2.1 自动集成 SDK​

  1. 在Project 级别的build.gradle文件中添加如下配置依赖
buildscript {
repositories {
jcenter()
mavenCentral()
}
}
  1. 在 module 工程目录下的 build.gradle文件中添加依赖项:
dependencies {
implementation 'cn.thinkingdata.android:TDExperiment:1.0.1'
}

2.2 手动集成 SDK​

配置中心需要依赖以下 数数 SDK:

SDK 名称功能介绍版本要求
TDAnalytics实现数据采集与处理>= 3.3.6
TDRemoteConfig拉取 AE 后台的配置信息>= 1.3.0

1.点击页面上方资源下载链接,下载 SDK 并解压

2.libs 文件夹中添加 TDAnalytics.aar、TDCore.aar、TDRemoteConfig.aar、TDExperiment.aar

3.在 build.gradle 添加如下配置

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}

3. 初始化​

实验 SDK 需要搭配分析 SDK 使用。请先完成 TDAnalytics 初始化,再初始化实验 SDK。

// 初始化采集 SDK
TDAnalytics.init(context, "APP_ID", "https://YOUR_SERVER_URL");

// 初始化实验 SDK
TDExperimentConfig config = new TDExperimentConfig("APP_ID", "https://YOUR_SERVER_URL");
config.automaticExposureTracking = true;
config.customBucketId = new HashMap<>();
config.customFetchParams = new JSONObject();
config.initCallback = new TDCallback() {
@Override
public void onFetchSuccess() {
// 拉取实验配置信息成功
}

@Override
public void onError(int code, String message) {
// 拉取实验配置信息失败
}
};
TDExperiment.enableLog(true);
TDExperiment.init(context, config);

初始化参数说明:

  • appId:APP ID
  • serverUrl:数据上报地址
  • automaticExposureTracking:默认设置为 true,在 get 获取实验参数的时候自动上传曝光事件
  • customBucketId:自定义分流主体
  • customFetchParams:客户端配置通道上的自定义参数
  • enableLog:是否开启调试日志(通过 TDExperiment.enableLog 设置)
  • initCallback.onFetchSuccess:拉取实验配置信息成功
  • initCallback.onError:拉取实验配置信息失败

4. 使用​

4.1 获取实验信息​

TDExperiment.getValueAsString(key);

TDExperiment.getValueAsDouble(key);

TDExperiment.getValueAsBoolean(key);

TDExperiment.getValueAsJson(key);

如果 automaticExposureTracking 为 true,在 get 的时候会自动上传曝光事件。

4.2 上传曝光事件​

可以调用 exposure 方法,手动上传曝光事件。

TDExperiment.exposure(key);

4.3 主动拉取所有实验信息​

TDExperiment.fetch();

TDExperiment.fetch().addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess() {
// 成功
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(int code, String msg) {
// 失败
}
});

4.4 自定义分流主体​

Map<String, String> bucketId = new HashMap<>();
bucketId.put("bucket_id", "account_id");
TDExperiment.setCustomBucketId(bucketId);

4.5 自定义请求参数​

JSONObject params = new JSONObject();
params.put("key", "value");
TDExperiment.setCustomFetchParams(params);
这篇文档对你有帮助吗?