メインコンテンツまでスキップ

HarmonyOS

最終更新 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分流にも対応しています。クライアント側では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
TDRemoteConfigAE管理画面の設定情報を取得します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チャンネルのメッセージタイプ
appIdstringAEプロジェクトのapp id
pushIdstringエンゲージタスクのチャンネル送信ID
taskIdstringエンゲージタスクのID
contentRecord<string, Object>エンゲージタスクのプッシュ内容
userParamsRecord<string, Object>クライアントチャンネルのカスタムパラメータ
opsPropertiesRecord<string, Object>クライアントトリガー型タスクに付与されるチャンネル情報。リーチファネルイベントで返送するパラメータとして使用します
このページは役に立ちましたか?