进阶指南
1. 初始化参数
初始化传入的 TDSettings 配置详细解释如下
1.1 TDSettings
| 属性名 | 类型 | 说明 |
|---|---|---|
| appId | NSString | 在 AE 后台创建的项目的 app id |
| serverUrl | NSString | 在 AE 后台创建的项目的 server url |
| mode | TDSDKMode | SDK 运行模式的枚举 |
| enableLog | BOOL | 是否开启日志打印 |
| remoteConfigFetchParams | NSDictionary | (TDRemoteConfig 使用)拉取配置时的自定义请求参数 |
| encryptVersion | NSInteger | (ThinkingSDK 使用)当开启数据加密时,密钥版本号 |
| encryptKey | NSString | (ThinkingSDK 使用)当开启数据加密时,公钥信息 |
| defaultTimeZone | NSTimeZone | (ThinkingSDK 使用)SDK 格式化时间所用到的时区 |
| instanceName | NSString | (ThinkingSDK 使用)给采集 SDK 实例设置别名 |
| enableAutoPush | BOOL | (ThinkingSDK 使用)是否开启推送点击自动回收 |
| enableAutoCalibrated | BOOL | (ThinkingSDK 使用)是否开启自动时间校准 |
1.2 TDSDKMode
| 枚举值 | 说明 |
|---|---|
| TDSDKModeNomal | 正常上报数据,并入库。 |
| TDSDKModeDebug | 以 Debug 模式上报采集数据。 设备 id 需添加到 AE 控制台的测试设备列表。 在 AE 控制台 -> Debug 模式菜单项可以看到实时采集到的数据。 上报数据会存储到 AE 系统。 |
TDSDKModeDebugOnly | 以 DebugOnly 模式上报采集数据。 设备 id 需添加到 AE 控制台的测试设备列表。 在 AE 控制台 -> Debug 模式菜单项可以看到实时采集到的数据。 上报数据不会存储到 AE 系统。 |
2. 客户端参数
创建客户端触发式任务时,可以填写「客户端条件」。配置方式参考:创建客户端触发式任务
「客户端条件」中可使用的参数来源于客户端自动采集的环境参数,以及您通过 TDRemoteConfig SDK 设置的客户端参数。在您使用 TDRemoteConfig SDK 提供的接口设置自定义的客户端参数后,您可以将自定义的客户端参数添加到 AE 后台,并在运营任务中使用。
注意:您在客户端 SET 的参数的名字和类型需要和 AE 运营后台配置的客户端参数保持一致。
添加客户端参数
#import <TDRemoteConfig/TDRemoteConfig.h>
// Set client parameters, multiple settings will take the union
[TDRemoteConfig addClientParams:@{
@"key": @"value"
}];
删除客户端参数
[TDRemoteConfig removeClientParam:@"key"];
获取客户端参数
// Get all client params
NSDictionary *dict = [TDRemoteConfig getClientParams];
// Get client parames value for key
id obj = [TDRemoteConfig getClientParamValueForKey:@"key"];
累加值类型的客户端参数
[TDRemoteConfig accumulateNum:@(1) toClientParamKey:@"number_type_key"];
3. 自定义拉取时机
3.1 自动拉取
在以下场景,SDK 会自动拉取远端配置数据
- App 冷启动
- App 前后台切换,两次间隔超过6小时
- ThinkingSDK 账号系统发生了变更,例如 login、logout
3.2 手动拉取
手动调用 SDK 方法,随时拉取远端配置
[TDStrategy fetch];
该 API 内部有频控限制,避免频繁拉取。
4. 触达漏斗事件
创建客户端触发式通道时,可以开启触达漏斗设置。配置方式参考:通道设置
开启触达漏斗后,您可以配置漏斗步骤关联的元事件名,这样在使用该通道的运营任务数据详情页可以查看已配置步骤的转化数据。
被选用为「实际到达」、「点击推送」的事件有如下要求:
- 事件需要携带运营特有的参数。该参数可以通过推送内容 TDStrategyResult 对象中的 opsProperties 属性来获取,具体上报方式如下:
#import <ThinkingSDK/ThinkingSDK.h>
- (void)tdStrategyDidTrigger:(TDStrategyResult *)result {
// “ops_click” 需要替换成你的元事件名
[TDAnalytics track:@"ops_click" properties:result.opsProperties];
}
5. 发送测试
为了快速的验证通道的可用性,与任务的有效性,SDK 支持开启测试模式。
TDSettings *settings = [[TDSettings alloc] init];
// debug
settings.mode = TDSDKModeDebug;
settings.enableLog = YES;
settings.appId = @"APPID";
settings.serverUrl = @"SERVER_URL";
[TDApp startWithSetting:settings];
客户端开启 debug 模式后,会每 5s 拉取一次测试任务。在 AE 运营模块可以创建通道测试或者任务测试,任务等待触发的过程中,可以关注前端页面的进度节点。
客户端触发式发送测试需要使用测试设备,您可在测试设备列表中选择或添加测试设备

