进阶指南
1. 初始化参数
Strategy SDK 通过 TDStrategySettings 初始化;Analytics SDK 需先调用 TDAnalytics.init(context, appId, serverUrl)。TDStrategySettings 配置说明如下。
1.1 TDStrategySettings
| 属性名 | 类型 | 说明 |
|---|---|---|
| appId | string | 在 AE 后台创建的项目的 app id |
| serverUrl | string | 在 AE 后台创建的项目的 server url |
| mode | TDStrategyMode | Strategy SDK 运行模式,默认 NORMAL |
1.2 TDStrategyMode
| 枚举值 | 说明 |
|---|---|
| NORMAL | 正常模式,按线上规则拉取任务并触发。 |
| DEBUG | 测试模式。 设备 id 需添加到 AE 控制台的测试设备列表。 SDK 会更高频率拉取测试任务,便于在 AE 运营模块进行通道测试或任务测试。 |
import { TDStrategy, TDStrategyMode, TDStrategySettings } from '@thinkingdata/strategy';
const settings = new TDStrategySettings('AppId', 'ServerUrl');
settings.mode = TDStrategyMode.DEBUG;
TDStrategy.init(context, settings);
2. 设置客户端参数
创建客户端触发式任务时,可以填写「客户端条件」。配置方式参考:创建客户端触发式任务
「客户端条件」中可使用的参数来源于客户端自动采集的环境参数,以及您通过 TDRemoteConfig SDK 设置的客户端参数。在您 SET 自定义的客户端参数后,您可以将自定义的客户端参数添加到 AE 运营设置的客户端参数管理模块中,并在运营任务中使用。
注意:您在客户端 SET 的参数的名字和类型需要和 AE 运营后台配置的客户端参数保持一致。
添加客户端参数
import { TDRemoteConfig } from '@thinkingdata/remoteconfig';
// 设置客户端参数,多次设置会取并集
TDRemoteConfig.addClientParams({
'key': 'value',
});
删除客户端参数
TDRemoteConfig.removeClientParam('key');
获取单个客户端参数
import { TDRemoteConfig } from '@thinkingdata/remoteconfig';
const value = TDRemoteConfig.getClientParamValueForKey('key');
TDStrategy.addClientParams/TDStrategy.removeClientParam为兼容接口,内部转发至TDRemoteConfig,建议使用TDRemoteConfig直接调用。
3. 自定义拉取时机
3.1 自动拉取
在以下场景,SDK 会自动拉取远端配置数据:
- App 冷启动
- App 前后台切换,两次间隔超过 6 小时
- ThinkingSDK 账号系统发生了变更,例如 login、logout
3.2 手动拉取
手动调用 SDK 方法,随时拉取远端配置:
TDStrategy.fetch();
该 API 内部有频控限制,请避免频繁拉取。
4. 触达漏斗事件
创建客户端触发式通道时,可以开启触达漏斗设置。配置方式参考:通道设置
开启触达漏斗后,您可以配置漏斗步骤关联的元事件名,这样在使用该通道的运营任务数据详情页可以查看已配置步骤的转化数据。
被选用为「实际到达」、「点击推送」的事件有如下要求:
- 事件需要携带运营特有的参数。该参数可以通过推送内容
TDStrategyResult对象中的 opsProperties 属性来获取,具体上报方式如下:
import { TDAnalytics } from '@thinkingdata/analytics';
import { TDStrategy, TDStrategyResult, TDStrategyResultListener } from '@thinkingdata/strategy';
TDStrategy.setTriggerListener({
onTriggerResult: (result: TDStrategyResult) => {
TDAnalytics.track({
eventName: 'ops_click',
properties: result.opsProperties,
});
},
});
5. 发送测试
为了快速的验证通道的可用性,与任务的有效性,SDK 支持开启测试模式。
import { TDAnalytics } from '@thinkingdata/analytics';
import { TDStrategy, TDStrategyMode, TDStrategySettings } from '@thinkingdata/strategy';
await TDAnalytics.init(context, 'AppId', 'ServerUrl');
const settings = new TDStrategySettings('AppId', 'ServerUrl');
settings.mode = TDStrategyMode.DEBUG;
TDStrategy.init(context, settings);
客户端开启 debug 模式后,会更高频率拉取测试任务。在 AE 运营模块可以创建通道测试或者任务测试,任务等待触发的过程中,可以关注前端页面的进度节点。
客户端触发式发送测试需要使用测试设备,您可在测试设备列表中选择或添加测试设备

