HarmonyOS
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分流にも対応しています。クライアント側ではThinkingData SDKがAEのバックエンドと通信し、タスクの取得と計算を行います。
App側にThinkingData SDKを統合する必要があります。App側はThinkingData 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の手動統合
クライアントトリガー型タスクには、次のThinkingData SDKが必要です:
| SDK名 | 機能の紹介 | バージョン要件 |
|---|---|---|
| TDAnalytics | データの収集と処理を行います | 1.9.0 |
| TDRemoteConfig | AE管理画面の設定情報を取得します | 1.0.0 |
| TDStrategy | クライアントトリガー型の機能を提供します | 1.0.0 |
- HARパッケージ(
TDStrategy.har、TDAnalytics.har、TDRemoteConfig.har)を取得します - HARをホストプロジェクトに配置します(例:
entry/libs/) 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>;
}
プロパティの説明
| プロパティ名 | タイプ | 説明 |
|---|---|---|
| channelMsgType | string | チャンネルのメッセージタイプ |
| appId | string | AEプロジェクトのapp id |
| pushId | string | エンゲージタスクのチャンネル送信ID |
| taskId | string | エンゲージタスクのID |
| content | Record<string, Object> | エンゲージタスクのプッシュ内容 |
| userParams | Record<string, Object> | クライアントチャンネルのカスタムパラメータ |
| opsProperties | Record<string, Object> | クライアントトリガー型タスクに付与されるチャンネル情報。リーチファネルイベントで返送するパラメータとして使用します |

