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

自動収集

最終更新 2026/10/03

OpenHarmony SDKは、インストール、起動、終了などのイベントの自動収集に対応しています。

1. はじめに​

AEシステムはデータを自動的に収集するためのインターフェースを提供しており、業務要件に応じて、自動収集するデータを選択できます。

現在対応している自動収集イベントの種類は次のとおりです:

  1. インストールイベント:APPがインストールされた行動を記録します
  2. 起動イベント:APPを開く操作と、バックグラウンドからAPPを開く操作を含みます
  3. 終了イベント:APPを閉じる操作と、Appがバックグラウンドに移行する操作を含みます
  4. 閲覧イベント:ユーザーがAPP内でページ(Ability)を閲覧した行動
  5. クリックイベント:ユーザーがAPP内でコントロールをクリックした行動
  6. クラッシュイベント:APPがクラッシュしたときに、クラッシュ情報を記録します(native層のクラッシュには現在対応していません)

以下では、各データの収集方法について詳しく説明します

2. 自動収集を有効にする​

enableAutoTrackを呼び出して、自動収集機能を有効にできます:

//APPインストールイベント TDAutoTrackEventType.APP_INSTALL
//APP起動イベント TDAutoTrackEventType.APP_START
//APP終了イベント TDAutoTrackEventType.APP_END
//APPページ閲覧イベント TDAutoTrackEventType.APP_VIEW_SCREEN
//APPコントロールクリックイベント TDAutoTrackEventType.APP_CLICK
//APPクラッシュイベント TDAutoTrackEventType.APP_CRASH
TDAnalytics.enableAutoTrack(context,TDAutoTrackEventType.APP_START | TDAutoTrackEventType.APP_INSTALL | TDAutoTrackEventType.APP_END | TDAutoTrackEventType.APP_VIEW_SCREEN | TDAutoTrackEventType.APP_CLICK | TDAutoTrackEventType.APP_CRASH)
注記

enableAutoTrackはメインスレッドで呼び出す必要があります。workスレッドでSDKを初期化する必要がある場合は、以下のコードを参考にしてください

const workerInstance = new worker.ThreadWorker("./workers/worker.ets");
TDAnalytics.enableAutoTrack(this.context,
TDAutoTrackEventType.APP_START | TDAutoTrackEventType.APP_INSTALL | TDAutoTrackEventType.APP_END |
TDAutoTrackEventType.APP_VIEW_SCREEN | TDAutoTrackEventType.APP_CRASH |
TDAutoTrackEventType.APP_CLICK,
(command: string, params: Object, appId?: string) => {
//ここでトリガーが必要な自動収集イベントがコールバックされます。メッセージをworkスレッドに送信して処理する必要があります
workerInstance.postMessage({
type: command,
params: params
})
})
const workerPort = worker.workerPort;

workerPort.onmessage = (d: MessageEvents): void => {
if (d.data.type === 'track') {
TDAnalytics.track(d.data.params);
} else if (d.data.type === 'timeEvent') {
TDAnalytics.timeEvent(d.data.params);
} else if (d.data.type === 'flush') {
TDAnalytics.flush()
}
}

3. 詳細​

3.1 インストールイベント​

APPインストールイベントは、APPの実際のインストールを記録するもので、APPの起動時に送信されます。イベントのトリガー時間は、APPのインストール後に初めて起動した時間です。APPのアップグレードではインストールイベントはトリガーされませんが、削除して再インストールした場合はインストールイベントが送信されます。

  • イベント名:ta_app_install

3.2 起動イベント​

APP起動イベントは、ユーザーがAPPを開いたとき、またはバックグラウンドからAPPを復帰させたときにトリガーされます。イベントの詳細は次のとおりです:

  • イベント名:ta_app_start
  • プリセットプロパティ:#resume_from_background、ブール型。APPがユーザーによって開かれたのか、バックグラウンドから復帰したのかを示します。値がtrueの場合はバックグラウンドからの復帰、falseの場合は直接開かれたことを示します。
  • ApplicationStateChangeCallbackのonApplicationForegroundコールバックによってトリガーされます

3.3 終了イベント​

APP終了イベントは、ユーザーがAPPを閉じたとき、またはAPPをバックグラウンドに移したときにトリガーされます。イベントの詳細は次のとおりです:

  • イベント名:ta_app_end
  • プリセットプロパティ:#duration、数値型。今回のAPPアクセス(起動から終了まで)の時間を示し、単位は秒です。
  • ApplicationStateChangeCallbackのonApplicationBackgroundコールバックによってトリガーされます

3.4 ページ閲覧イベント​

APPページ閲覧イベントは、ユーザーがページ(Ability)を閲覧したときにトリガーされます。イベントの詳細は次のとおりです:

  • イベント名:ta_app_view
  • プリセットプロパティ:

#screen_name、文字列型。Abilityの単純クラス名です

  • カスタムページデータ

    • routerによる切り替え
    router.pushUrl({
    url: 'pages/PageOne', params: {
    'ta_data_tag': {
    'key1': 'value1',
    'key2': 234,
    'ignore': true
    }
    }
    })
    //ta_data_tag はカスタムパラメータです
    //ignoreがtrueの場合、このページの閲覧イベントを無視します
    • navigationによる切り替え
    interface UserLoginParam {
    // 業務のカスタムパラメータ
    customParams?: string
    //遷移先ページの閲覧イベントに追加するカスタムパラメータ
    ta_data_tag?: ThinkingDataPageParams
    }

    interface ThinkingDataPageParams {
    key1: string
    key2: number,
    ignore?:boolean
    }

    let paramData: UserLoginParam = { customParams: 'AAA', ta_data_tag: { key1: 'xxx', key2: 18,ignore:true } }
    this.navPathStack.pushPath({
    name: 'NavDestinationTitle' + item,
    param: paramData
    });

    //ta_data_tag はカスタムパラメータです
    //ignoreがtrueの場合、このページの閲覧イベントを無視します

3.5 クリックイベント​

APPコントロールクリックイベントは、ユーザーがコントロール(view)をクリックしたときにトリガーされます

  • イベント名:ta_app_click

  • プリセットプロパティ:

    #screen_name、文字列型。コントロールが属するActivityのパッケージ名.クラス名です

    #element_type、文字列型。コントロールの種類です

    #element_id、文字列型。コントロールのIDです

  • カスタムパラメータ

Button("Button", { type: ButtonType.Normal, stateEffect: true })
.width('30%')
.customProperty("ta_data_tag", {
'key1': 10,
'key2': 'this is a string',
'ignore':false
})
.onClick(() => {

})
//ta_data_tag はカスタムパラメータです
//ignoreがtrueの場合、この要素のクリックイベントを無視します

3.6 クラッシュイベント​

APPで捕捉されない例外が発生すると、APPクラッシュイベントが送信されます

  • イベント名:ta_app_crash
  • プリセットプロパティ:#app_crashed_reason、文字列型。クラッシュ時のスタックトレースを記録します
  • ErrorObserverのonUnhandledExceptionで監視します。nativeのクラッシュ収集には現在対応していません。
このページは役に立ちましたか?