integrationlatest接入文档 / Unity
Unity
最新版本:v1.0.0
更新时间:2026-08-04
资源下载:下载
1. 概述
从 6.1 版本开始,AE 新增实验套件功能,支持在 AE 后台创建实验,设置对照组和实验组的变量值,通过客户端 SDK 拉取至 App,为不同组别的用户展示不同的内容。
本文介绍 Unity 客户端 SDK 的集成过程,App 端只需要关注与数数 SDK 的交互即可,不需要关心 AE 后台的任务细节。
需要注意的是,实验 SDK 必须搭配配置中心 SDK 一起使用。
2. 集成
2.1 自动集成 SDK
Unity Package Manager 不支持在包的 package.json 中声明 Git 依赖,因此需要在宿主工程的 Packages/manifest.json 中同时添加分析 SDK、配置中心 SDK 和实验 SDK:
- 在
Packages/manifest.json中添加如下依赖
{
"dependencies": {
"com.thinkingdata.analytics": "https://github.com/ThinkingDataAnalytics/unity-sdk.git",
"com.thinkingdata.remoteconfig": "https://github.com/ThinkingDataAnalytics/tdremoteconfig-unity.git",
"com.thinkingdata.experiment": "https://github.com/ThinkingDataAnalytics/tdexperiment-unity.git"
}
}
也可在 Package Manager → Add package from git URL 中逐个添加。
2.2 手动集成 SDK
实验 SDK 需要依赖以下 数数 SDK:
| SDK 名称 | 功能介绍 | 版本要求 |
|---|---|---|
| TDAnalytics | 实现数据采集与处理 | >= 3.5.0 |
| TDRemoteConfig | 拉取 AE 后台的配置信息 | >= 1.2.4 |
- 点击页面上方资源下载链接,下载 SDK 并解压
- 先导入分析 SDK、配置中心 SDK 对应的 unitypackage
- 再导入
ta_experiment_sdk.unitypackage、ta_core_sdk.unitypackage
3. 初始化
实验 SDK 需要搭配分析 SDK 使用。请先完成 TDAnalytics 初始化,再初始化实验 SDK。
using System.Collections.Generic;
using ThinkingData.Analytics;
using ThinkingData.Experiment;
// 初始化采集 SDK
TDAnalytics.Init("APP_ID", "https://YOUR_SERVER_URL");
// 初始化 Experiment SDK
TDExperimentSettings settings = new TDExperimentSettings();
settings.appId = "APP_ID";
settings.serverUrl = "https://YOUR_SERVER_URL";
settings.automaticExposureTracking = true;
settings.customBucketId = new Dictionary<string, string>();
settings.customFetchParams = new Dictionary<string, object>();
settings.initCallback = new MyInitCallback();
TDExperiment.EnableLog(true);
TDExperiment.Init(settings);
// 也可使用简化初始化
// TDExperiment.Init("APP_ID", "https://YOUR_SERVER_URL");
class MyInitCallback : TDExperimentFetchListener
{
public void OnFetchSuccess()
{
// 拉取实验配置信息成功
}
public void OnError(int code, string message)
{
// 拉取实验配置信息失败
}
}
初始化参数说明:
- 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);
以上方法均提供带默认值的重载,例如 TDExperiment.GetValueAsString(key, "default")。
如果 automaticExposureTracking 为 true,在 get 的时候会自动上传曝光事件。
4.2 上传曝光事件
可以调用 Exposure 方法,手动上传曝光事件。
TDExperiment.Exposure(key);
4.3 主动拉取所有实验信息
TDExperiment.Fetch(new MyFetchCallback());
class MyFetchCallback : TDExperimentFetchListener
{
public void OnFetchSuccess()
{
// 成功
}
public void OnError(int code, string message)
{
// 失败
}
}
4.4 自定义分流主体
Dictionary<string, string> bucketId = new Dictionary<string, string>();
bucketId["bucket_id"] = "account_id";
TDExperiment.SetCustomBucketId(bucketId);
4.5 自定义请求参数
Dictionary<string, object> fetchParams = new Dictionary<string, object>();
fetchParams["key"] = "value";
TDExperiment.SetCustomFetchParams(fetchParams);
这篇文档对你有帮助吗?

