跳到主要内容

鸿蒙

最近更新 2026/09/03
提示

HarmonyOS Strategy SDK 以 HAR 形式集成,需 DevEco Studio 5.0+ 及 HarmonyOS API 12+ 工程环境。集成前请先完成 Analytics SDK 初始化。

最新版本:v1.0.0

更新时间:2026-07-24

资源下载:下载

1. 概述​

从 AE 4.4 版本开始,运营模块上线了“客户端触发式任务”功能,支持端内新用户注册、创角等场景中的毫秒级触发需求,并支持实时 A/B 分流。客户端侧由数数 SDK 来实现与 AE 后端的通信,完成任务的拉取与计算。

在 App 端需要集成数数 SDK。App 端只需要关注与数数 SDK 的交互即可,不需要关心 AE 后台的任务细节。

2. 集成​

2.1 ohpm 集成 SDK​

在宿主工程根目录(含 oh-package.json5 的目录)执行:

ohpm install @thinkingdata/strategy

@thinkingdata/analytics、@thinkingdata/remoteconfig 已声明在 Strategy 的 dependencies 中,会随 @thinkingdata/strategy 自动安装,无需单独 install。

在模块的 oh-package.json5 中声明:

"dependencies": {
"@thinkingdata/strategy": "1.0.0"
}

2.2 手动集成 HAR​

客户端触发式任务需要依赖以下数数 SDK:

SDK 名称功能介绍版本要求
TDAnalytics实现数据采集与处理1.9.0
TDRemoteConfig拉取 AE 后台的配置信息1.0.0
TDStrategy提供客户端触发式能力1.0.0
  1. 获取 HAR 包(TDStrategy.har、TDAnalytics.har、TDRemoteConfig.har)
  2. 将 HAR 放入宿主工程(如 entry/libs/)
  3. 在 oh-package.json5 中声明 file 依赖:
"dependencies": {
"@thinkingdata/strategy": "file:./libs/TDStrategy.har",
"@thinkingdata/analytics": "file:./libs/TDAnalytics.har",
"@thinkingdata/remoteconfig": "file:./libs/TDRemoteConfig.har"
}

3. 初始化​

初始化顺序:先 TDAnalytics.init,再 TDStrategy.init。

初始化 Analytics SDK:

import { common } from '@kit.AbilityKit';
import { TDAnalytics } from '@thinkingdata/analytics';

const context = getContext(this) as common.UIAbilityContext;
await TDAnalytics.init(context, 'AppId', 'ServerUrl');
TDAnalytics.login('your_client_user_id');

初始化 Strategy SDK:

import {
TDStrategy,
TDStrategyMode,
TDStrategySettings,
} from '@thinkingdata/strategy';

const settings = new TDStrategySettings('AppId', 'ServerUrl');
settings.mode = TDStrategyMode.NORMAL;
TDStrategy.init(context, settings);

// 主动拉取最新任务配置(可选)
TDStrategy.fetch();

4. 设置回调监听​

初始化 Analytics 后、调用 TDStrategy.init 之前,给 TDStrategy SDK 设置一个回调监听。

import {
TDStrategy,
TDStrategyResult,
TDStrategyResultListener,
} from '@thinkingdata/strategy';

const listener: TDStrategyResultListener = {
onTriggerResult: (result: TDStrategyResult) => {
// 任务命中,在此处理推送内容
},
};
TDStrategy.setTriggerListener(listener);

4.1 回调的数据模型​

export class TDStrategyResult {
appId: string;
taskId: string;
channelMsgType: string;
pushId: string;
content: Record<string, Object>;
userParams: Record<string, Object>;
opsProperties: Record<string, Object>;
}

属性说明

属性名类型说明
channelMsgTypestring通道消息类型
appIdstring您的 AE 项目的 app id
pushIdstring运营任务的通道发送 ID
taskIdstring运营任务的 ID
contentRecord<string, Object>运营任务的推送内容
userParamsRecord<string, Object>客户端通道中的自定义参数
opsPropertiesRecord<string, Object>客户端触发任务携带的通道信息,用于触达漏斗事件的回执参数
这篇文档对你有帮助吗?