integrationlatest接入文档 / iOS
iOS
最新版本:v1.0.2
更新时间:2026-07-24
资源下载:下载
1. 概述
从 6.1 版本开始,AE 新增实验套件功能,支持在 AE 后台创建实验,设置对照组和实验组的变量值,通过客户端 SDK 拉取至 App,为不同组别的用户展示不同的内容。
本文介绍客户端 SDK 的集成过程,App 端只需要关注与数数 SDK 的交互即可,不需要关心 AE 后台的任务细节。
需要注意的是,实验 SDK 必须搭配配置中心 SDK 一起使用。
2. 集成
2.1 CocoaPods 自动集成
- 在工程的
Podfile中添加依赖:
platform :ios, '9.0'
use_frameworks!
target 'YourApp' do
pod 'TDExperiment', '1.0.2'
end
- 执行安装命令:
pod install
安装完成后,使用 .xcworkspace 打开工程。
2.2 手动集成 SDK
实验 SDK 需要依赖以下数数 SDK:
| SDK 名称 | 功能介绍 | 版本要求 |
|---|---|---|
| ThinkingSDK | 实现数据采集与处理 | >= 3.1.6 |
| TDRemoteConfig | 拉取 AE 后台的配置信息 | >= 1.3.1 |
- 点击页面上方资源下载链接,下载 SDK 并解压
- 将
ThinkingSDK.xcframework、ThinkingDataCore.xcframework、TDRemoteConfig.xcframework、TDExperiment.xcframework拖入工程,并勾选 Embed & Sign(或按工程静态库策略配置) - 在 Build Settings 中确认 Framework Search Paths 已包含上述 xcframework 路径
3. 初始化
实验 SDK 需要搭配分析 SDK 使用。请先完成 TDAnalytics 初始化,再初始化实验 SDK。
#import <ThinkingSDK/ThinkingSDK.h>
#import <TDExperiment/TDExperiment.h>
// 初始化采集 SDK
[TDAnalytics startAnalyticsWithAppId:@"APP_ID" serverUrl:@"https://YOUR_SERVER_URL"];
// 初始化实验 SDK
TDExperimentConfig *config = [[TDExperimentConfig alloc] initWithAppId:@"APP_ID"
serverUrl:@"https://YOUR_SERVER_URL"];
config.automaticExposureTracking = YES;
config.customBucketId = @{ @"bucket_id": @"account_id" };
config.customFetchParams = @{ @"key": @"value" };
TDExperimentTask *startupTask = [[TDExperimentTask alloc] init];
[startupTask addOnSuccessListener:^{
// 拉取实验配置信息成功
}];
[startupTask addOnFailureListener:^(NSInteger code, NSString *message) {
// 拉取实验配置信息失败
}];
config.startupTask = startupTask;
[TDExperiment enableLog:YES];
[TDExperiment startWithConfig:config];
也可使用简化启动方式:
[TDExperiment startWithAppId:@"APP_ID" serverUrl:@"https://YOUR_SERVER_URL"];
初始化参数说明:
- appId:APP ID
- serverUrl:数据上报地址
- automaticExposureTracking:默认设置为 YES,在 get 获取实验参数的时候自动上传曝光事件
- customBucketId:自定义分流主体
- customFetchParams:客户端配置通道上的自定义参数
- startupTask:启动时首次拉取实验配置的回调任务(通过 addOnSuccessListener / addOnFailureListener 注册)
- enableLog:是否开启调试日志(通过 TDExperiment.enableLog 设置)
4. 使用
4.1 获取实验信息
[TDExperiment getValueAsString:key];
[TDExperiment getValueAsString:key defaultValue:@"default"];
[TDExperiment getValueAsNumber:key];
[TDExperiment getValueAsNumber:key defaultValue:@0];
[TDExperiment getValueAsBoolean:key];
[TDExperiment getValueAsBoolean:key defaultValue:NO];
[TDExperiment getValueAsJson:key];
[TDExperiment getValueAsJson:key defaultValue:@{}];
如果 automaticExposureTracking 为 YES,在 get 的时候会自动上传曝光事件。
4.2 上传曝光事件
可以调用 exposure 方法,手动上传曝光事件。
[TDExperiment exposure:key];
4.3 主动拉取所有实验信息
[TDExperiment fetch];
[[[TDExperiment fetch]
addOnSuccessListener:^{
// 成功
}]
addOnFailureListener:^(NSInteger code, NSString *message) {
// 失败
}];
4.4 自定义分流主体
NSDictionary<NSString *, NSString *> *bucketId = @{ @"bucket_id": @"account_id" };
[TDExperiment setCustomBucketId:bucketId];
4.5 自定义请求参数
NSDictionary<NSString *, NSObject *> *params = @{ @"key": @"value" };
[TDExperiment setCustomFetchParams:params];
这篇文档对你有帮助吗?

