すべてのプロダクト
Search
ドキュメントセンター

Quick Tracking:トラッキング API

最終更新日:Jun 08, 2025

1. トラッキングプランの表示方法

トラッキングを行う前に、どこでトラッキングを行うか、何をトラッキングするかを決定する必要があります。つまり、明確なトラッキング要件を整理する必要があります。 QuickTracking プラットフォームでは、トラッキングの明示的な要件はトラッキングプランと呼ばれ、トラッキングプラン用に仕様テンプレートが設計されています。

3f

埋め込みポイントスキームでは、必要なトラッキングコンテンツは次のとおりです。

1. イベント件名: デバイス ID および アカウント ID

  • デバイス ID: HarmonyNext アプリケーションのデフォルトのデバイス ID は、アプリケーションレベルで一意のデバイス ID です。これは、Quicktrackingによって自動的に生成されます。

  • アカウント ID: ログイン後のクライアントユーザーのアカウント ID。ユーザーが異なるデバイスからログインすると、デバイス ID は変更されますが、アカウント ID は変更されません。たとえば、ユーザーが携帯電話とパッドを使用して個別にログインするとします。

2. ユーザー属性: アカウント ID の属性。たとえば、アカウント ID が「testdemo@111」、「誕生日」が「1999-02-13」、「メンバーシップレベル」が「プラチナ」のユーザーなど。「誕生日」と「メンバーシップ」の評価はユーザー属性です。

3. チャンネル属性: 広告配信の属性。たとえば、配信チャンネル、配信方法、配信コンテンツなど。

4. グローバル属性: グローバル属性が 1 回設定された後、各イベントで伝達される属性

5. ページ閲覧イベント: ページの読み込み時に報告されるイベント。トラッキングスキームでは、ページコードがイベントコードと同じイベントは青色でマークされます。

6. クリック、露出、カスタムイベント: クライアントユーザーがクライアントと対話したときに報告されるイベント。

2. デバイス ID、アカウント ID、ユーザー プロパティ設定

2.1. デバイス ID

現在のバージョンのデバイス ID は、QuickTrackingSDK によって自動的に生成されます。カスタム デバイス ID はサポートされていません。

2.1.1 デバイス ID の取得

@quicktracking/analytics_2.0.3 バージョン サポート

import { getDeviceId } from '@quicktracking/analytics';

// デバイスIDを取得する
function getDeviceId():string

2.2. アカウント ID

クイック トラッキング SDK は、デバイスをユーザー数の基準として使用します。独自のアカウントをカウントするには、次の方法を使用します

2.2.1. ユーザー ログイン

2.2.1.1. API の説明
import { onProfileSignIn } from '@quicktracking/analytics';

function onProfileSignIn(provider: string, puid: string):void
2.2.1.2. パラメーターの説明

オプション

パラメーター

説明

必須

provider

string

ユーザーのニックネーム。値は空でない文字列で、長さは 32 文字以下である必要があります。

はい

puid

string

ユーザー アカウントの ID。値は空でない文字列で、長さは 64 文字以下である必要があります。

はい

注: アカウント ID はローカル ストレージに保存されます。アカウント ID が無効になるのは、アプリケーションをアンインストールするか、アプリケーション データをクリアするか、次のログアウト API を呼び出した場合のみです。それ以外の場合、各イベントにはアカウント ID が含まれます。

2.2.1.3. サンプルコード
import { onProfileSignIn } from '@quicktracking/analytics';

Button ('ログイン').onClick(() => {
  onProfileSignIn("QuickTrackingUser", "QuickTrackingUser_demo");
})

2.2.2. ユーザー ログアウト

ユーザー アカウントのバインドが不要になった場合は、SDK が提供するユーザー ログアウト メソッドを呼び出すことができます。呼び出し後、SDK はユーザー アカウント関連のコンテンツを送信しなくなります。

2.2.2.1. API の説明
import { onProfileSignOff } from '@quicktracking/analytics';

function onProfileSignOff():void
2.2.2.2. サンプルコード
import { onProfileSignOff } from '@quicktracking/analytics';

Button ('ログアウト').onClick(() => {
  onProfileSignOff();
})

2.3. ユーザー属性のアップロード

イベント エンコーディングが$$_user_profileに固定されているカスタム イベントをアップロードします。イベントによって伝達されるイベント属性は、ユーザー属性としてユーザー テーブルに配置されます。

2.3.1. API の説明

カスタム イベント API を参照してください

2.3.2. サンプルコード

import { trackEvent } from '@quicktracking/analytics';

Button ('ユーザー プロパティのアップロード').onClick(() => {
  trackEvent("$$_user_profile", {
    sex: "boy",
    age: 13,
    favorite: "basketball"
  });
})

3. チャンネル属性

チャンネル属性情報をトラッキングする必要があるシナリオは 2 つあります。

  1. H5 リンク プル ライブ インストール済み APP アプリケーション

  2. H5 リンク プル 新規 APP アプリケーション 未インストール

3.1. H5 リンク プル ライブ インストール済み APP アプリケーション

アプリの URL スキームにはこれらのチャンネル属性が含まれており、属性キーは「utm_」で始まる必要があります。これは、SDK によって認識されるキーワードが「utm_」であるためです。

例: utm_channel=gzh <URL scheme>?

注意:! ! !。チャンネル属性が市場のチャンネル配信会社とすでに連携しており、「utm_」で始めることができない場合は、グローバル属性 API を使用してチャンネル属性を報告できます (属性キーは引き続き「utm_」で始める必要があります)。

3.1.1. H5 側呼び出しコード例

<html>
  <script>
    function openHarmonyApp() {
      var url = "hmapp://ut.open.realtime:80/Index?utm_a=aaa&utm_b=bbb";
      alert(url)
      window.location.href = url
    };
  </script>
  <body>
    <button onclick="openHarmonyApp()">Harmony アプリケーションの呼び出し</button>
  </body>
</html>

3.1.2. HarmonyOS Next アプリケーション コード例

アプリケーションを H5 リンクで呼び出すことができる場合は、モジュールのスキル タグを設定する必要があります。詳細については、「HarmonyOS Next 公式 Web サイトのドキュメント」をご参照ください。

3.1.2.1. 設定例

image

3.1.2.2. utm パラメーターを解析し、グローバル属性として設定する 例
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import hilog from '@ohos.hilog';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import window from '@ohos.window';
import {registerGlobalProperties, trackAppInstall } from '@quicktracking/analytics'


export default class EntryAbility extends UIAbility {
  handleWant(want: Want) {
    if (want.uri && want.uri.indexOf('utm_')) {
      const dUri = decodeURI(want.uri)
      const utmArgs:Record<string, string> = {}
      const paramsString = dUri.split("?")[1]
      const paramsArray = paramsString.split("&")
      for (let i of paramsArray) {
        const kvs = i.split("=")
        const k: string = kvs[0]
        const v = kvs[1]
        utmArgs[k] = v
      }
      registerGlobalProperties(utmArgs)
    }
  }
  // H5 リンクが APP アプリケーションをプルアップし、ホットスタートします。
  onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    this.handleWant(want)
  }

  // H5 リンクが APP アプリケーションをプルアップし、コールドスタートします。
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    this.handleWant(want)

    //! ! !。enableAutoTrackApplication = false の場合にのみ呼び出す必要があります
    trackAppInstall({
      browser: `'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.x.x Safari/537.36'`,
      page_name: "ManIndex", // 呼び出されたページのページコード。このパラメーターはオプションです。このパラメーターを設定することをお勧めします。
      url: "pages/Index" // ページを呼び出すページのパス。このパラメーターはオプションです。このパラメーターを設定することをお勧めします。
    }, {
      man_app_p1: 111, // カスタム プロパティ。オプション。
      man_app_p2: 222
    })
    
  }

  onWindowStageCreate(windowStage: window.WindowStage): void {
    windowStage.loadContent('pages/Index', (err, data) => {
      if (err.code) {
        return;
      }
    });
  }
}

3.2. H5 リンク プル 新規 APP アプリケーション 未インストール

このシナリオでは、H5 リンクに「utm_」パラメーターのみが含まれている場合、アプリのダウンロード後に起動イベントに「utm_」パラメーターを含めることができません。したがって、「H5 呼び出しイベント」と「アプリケーション アクティベーション イベント」の間で「IP アドレスとブラウザー UserAgent」についてあいまい一致を実行する必要があります。

  1. ユーザーが H5 の「アプリの呼び出し/ダウンロード」ボタンをクリックすると、「アプリ呼び出しイベント ($$_app_link)」が報告されます。イベントには、呼び出しアプリの appKey とチャンネル属性を含める必要があります。

// サンプルコード
aplus_queue.push({
  action:'aplus.recordAppLink',
  arguments:[{
    targetAppKey: 'アプリケーション appKey', // 必須。呼び出されるアプリケーションの appKey。
    custom1: 'custom1', // オプション。カスタム パラメーター。
    ...
 }]
})

  1. アプリがダウンロードされると、アプリは最初の起動イベント $$_ app_install を自動または手動で報告して、関連付けられたアクションを完了します。

  • SDK のデフォルト設定が enableAutoTrackApplication = true の場合、$$_app_install アプリケーション アクティベーション イベントが自動的に報告されます。

  • SDK のデフォルト設定が enableAutoTrackApplication = false の場合、開発者はアプリケーション アクティベーション イベントを積極的に報告する必要があります。

3.2.1. API の説明

import { trackAppInstall } from '@quicktracking/analytics'

function trackAppInstall(params: {
  browser?: string,
  [key: string]: string
}, customProps?: object)

3.2.2. 呼び出し例

3.1.2 HarmonyOS Next 3.1.2 を参照してください。 3.1.2. HarmonyOS Next アプリケーション コード例

4. グローバル属性

4.1. グローバル プロパティの登録

4.1.1. API の説明

import { registerGlobalProperties } from '@quicktracking/analytics'

function registerGlobalProperties(params?: Record<string, string | number | string[]>)

4.1.2. パラメーターの説明

説明

params

kv キーと値のペア

k 属性の名前。文字列型です。空でない (undefined を含む) 文字列で、長さは 128 文字以下である必要があります。

v 属性値。文字列型、数値型、または文字列配列型

  • 文字列型の場合は、長さが 256 文字以下の文字列である必要があります

  • 文字列配列型の場合は、配列の長さは 100 を超えることはできません (100 を含む)

4.1.3. コード例

import { registerGlobalProperties } from '@quicktracking/analytics'

Button ('グローバル プロパティの登録').onClick(async () => {
  registerGlobalProperties({
    "a": 1,
    "b": 2
  }) // 出力結果: {a: 1, b: 2}
})
Button ('グローバル プロパティの再登録').onClick(async () => {
  registerGlobalProperties({
    "b": 6,
    "c": 4 
  }) // 出力結果: {a: 1, b: 6, c: 4}
})

注: 既存のグローバル属性のキーが既存のグローバル属性のキーと同じ場合は、既存の値が更新されます。既存のグローバル属性のキーが既存のグローバル属性のキーと異なる場合は、新しいグローバル属性が挿入されます。

4.2. グローバル プロパティの削除

4.2.1. API の説明

import { unregisterGlobalProperty } from '@quicktracking/analytics'

function unregisterGlobalProperty(key?: string)

4.2.2. パラメーターの説明

説明

key

削除する属性キーの名前。キーには値があり、128 文字以内の文字列である必要があります。

4.2.3. サンプルコード

import { unregisterGlobalProperty } from '@quicktracking/analytics'

Button ('グローバル プロパティ値の削除').onClick(async () => {
  unregisterGlobalProperty('a')
})

4.3. キーに基づいて単一のグローバル プロパティを取得する。

4.3.1. API の説明

import { getGlobalProperty } from '@quicktracking/analytics'

function getGlobalProperty(key?: string): string | number | string[] | undefined

4.3.2. パラメーターの説明

説明

key

属性キーの名前。キーには値があり、128 文字未満の文字列である必要があります。

4.3.3. サンプルコード

import { getGlobalProperty } from '@quicktracking/analytics'

Button ('キーに基づいて単一のグローバル プロパティを取得する').onClick(async () => {
  promptAction.showToast({
    message: '属性 b =${ getGlobalProperty("b") } を取得する',
    duration: 3000
  })
})

4.4. すべてのグローバル プロパティを取得する。

4.4.1. API の説明

import { getGlobalProperties } from '@quicktracking/analytics'

function getGlobalProperties(): Record<string, string | number | string[]>

4.4.2. サンプルコード

import { getGlobalProperties } from '@quicktracking/analytics'

Button ('すべてのグローバル プロパティを取得する').onClick(async () => {
  promptAction.showToast({
    message: 'グローバル属性は \n${JSON.stringify(getGlobalProperties())} です',
    duration: 5000
  })
})

4.5. すべてのグローバル プロパティをクリアする

4.5.1. API の説明

import { clearGlobalProperties } from '@quicktracking/analytics'

function clearGlobalProperties()

4.5.2. コード例

Button ('すべてのグローバル プロパティをクリアする').onClick(async () => {
  clearGlobalProperties()
  promptAction.showToast({
    message: 'グローバル属性は \n${JSON.stringify(getGlobalProperties())} です',
    duration: 5000
  })
})

5. ページ閲覧イベント

QuickTracking HarmonyOS Next SDK は、自動ページ トラッキングと手動トラッキングの 2 つの機能を提供します。

5.1. 自動取得

SDK のデフォルト設定が enableAutoTrackPage = true の場合、ページ閲覧イベントは自動的にトラッキングされます。詳細については、事前初期化 API の説明をご参照ください。

ルーティング モード

自動ページ閲覧イベント - ページ エンコーディング

自動ページ閲覧イベント - ページ パス

RouterPage

ライフサイクルをトリガーする routerPage の名前

ライフサイクルをトリガーする routerPage ページのパス

NavDestination

NavDestination コンポーネントの名前

NavDestination コンポーネントの名前

5.2. 手動取得

iOS システムや Android システムと比較して、HarmonyOS Next システムには厳密な意味でのページ コンポーネントの概念がありません。デコレーター構文で宣言されたコンポーネントは、main_pages.json ファイルまたは route_map.json ファイルでマークされている限り、ビジネスの観点からはページ コンポーネントと見なすことができます。

  • main_pages.json ファイルで定義された RouterPage ページ

image

  • route_map.json ファイルで NavDestination ページを定義する

image

重要

上記の 2 つのシナリオでは、SDK はページ トラッキングのためにペアで呼び出す必要がある API onPageStartonPageEnd のセットを提供します。

5.2.1. API の説明

import { onPageStart, onPageEnd } from '@quicktracking/analytics'

function onPageStart(context: PageContext | null, pageName: string, pageUrl?: string) // ページに入ったときに呼び出します。
function onPageEnd(context: PageContext | null, pageName: string, pageUrl?: string) // ページを出るときに呼び出します。

5.2.2. パラメーターの説明

説明

context

ページ環境コンテキスト変数

pageName

ページ イベントのイベント コード。値は最大 128 文字の長さの文字列で、空にすることはできません。

pageUrl

ページの URL。一部のページの呼び出しロジックでコンテキストを取得できない場合、開発者は値を積極的に渡す必要があります。そうしないと、データ分析は準備されません。デフォルト値「undefined」

5.2.3. コード例

  • RouterPage ページ

import { onPageStart, onPageEnd, updatePageProperties, skipAutoTrack } from '@quicktracking/analytics';

@Entry
@Component
struct RouterPageDemo {
  @State message: string = 'RouterPageDemo';

  onPageShow(): void {
    //skipAutoTrack(this)
    onPageStart(this, "RouterPageDemo")
    updatePageProperties(this, "RouterPageDemo", {
      a: 1,
      b: 2
    })
  }

  onPageHide() {
    onPageEnd(this, "RouterPageDemo")
  }

  build() {
    Column() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
    }
    .height('100%')
    .width('100%')
  }
}

  • NavDestination ページ

import { onPageStart, updatePageProperties, onPageEnd, skipAutoTrack } from '@quicktracking/analytics';

@Builder
export function IndexBuilder(name: string, param: Object) {
  NaviPageOne()
}

@Component
export default struct NaviPageOne {

  @State name: string = 'NaviPageOne';

  pathInfos: NavPathStack = new NavPathStack();

  build() {
    NavDestination() {
      Column() {
        Text("")
          .id('NaviPageOneHelloWorld')
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .alignRules({
            center: { anchor: '__container__', align: VerticalAlign.Center },
            middle: { anchor: '__container__', align: HorizontalAlign.Center }
          })
      }
      .height('100%')
      .width('100%')
    }
    .onReady((context: NavDestinationContext) => {
      this.pathInfos = context.pathStack
    })
    .title(this.name)
    .id(this.name)
    .onShown(() =>{
      //skipAutoTrack(this)
```typescript
      onPageStart(this, "NaviPageOne", this.pathInfos[0].path)
      updatePageProperties(this, "NaviPageOne", {
        a: 1,
        b: 2
      })
    })
    .onHidden(() => {
      onPageEnd(this, "NaviPageOne", this.pathInfos[0].path)
    })
  }
}
```

5.3. ページ プロパティの更新)
```

#### 5.3.2 パラメーターの説明

| 値 | 説明 |
|---|---|
| context | ページ環境コンテキスト変数 |
| pageName | ページ イベントのイベント コード。値は最大 128 文字の長さの文字列で、空にすることはできません。 |
| params | kv キーと値のペアk 属性の名前。文字列型です。空でない (undefined を含む) 文字列で、長さは 128 文字以下である必要があります。v 属性値。文字列型、数値型、または文字列配列型- 文字列型の場合は、長さが 256 文字以下の文字列である必要があります- 文字列配列型の場合は、配列の長さは 100 を超えることはできません (100 を含む) |


#### 5.3.3 コード例
詳細については、「5.2.3 コード例」をご参照ください。

5.4. 自動ページ トラッキングをスキップする
#### 5.4.1. API の説明
```typescript
import { skipAutoTrack } from '@quicktracking/analytics'

function skipAutoTrack(context:PageContext | null)
```
#### 5.4.2. パラメーターの説明
| 値 | 説明 |
|---|---|
| context | ページ環境コンテキスト変数 |

#### 5.4.3. コード例
詳細については、「5.2.3 コード例」をご参照ください。


6. クリック、露出、カスタム イベント
6.1. クリック、露出、カスタム イベントのトラッキング
#### 6.1.1. API の説明
```typescript
import { trackEvent } from '@quicktracking/analytics'

function trackEvent(eventName: string, params?: Record)
```

#### 6.1.2. パラメーターの説明

| 値 | 説明 |
|---|---|
| eventName | イベント名。値は最大 128 文字の長さの文字列で、空にすることはできません。 |
| params | kv キーと値のペアk 属性の名前。文字列型です。空でない (undefined を含む) 文字列で、長さは 128 文字以下である必要があります。v 属性値。文字列型、数値型、または文字列配列型- 文字列型の場合は、長さが 256 文字以下の文字列である必要があります- 文字列配列型の場合は、配列の長さは 100 を超えることはできません (100 を含む) |

#### 6.1.3. コード例

```typescript
import { trackEvent } from '@quicktracking/analytics'

Button ('イベントのトラッキング').onClick(() => {
  trackEvent("buttonClick", {
    button_name: "確認",
    button_id: "confirm"
  })
})
```

5.3. ページイベントのプロパティを設定します。

5.3.1. API の説明

import { updatePageProperties } from '@quicktracking/analytics'; // @quicktracking/analytics から updatePageProperties をインポートします

function updatePageProperties(context: PageContext, pageName: string, params?: Record<string, string | number | string[]>, pageUrl?: string) // updatePageProperties 関数

5.3.2. パラメータの説明

説明

context

ページ環境コンテキスト変数

pageName

ページイベントのイベントコード。値は最大 128 文字の文字列でなければならず、空にすることはできません。

params

ページイベントのイベントプロパティ。これは kv キーと値のペアの追跡です。

文字列型の k 属性の名前。長さ 128 文字以下の空でない(undefined を含む)文字列である必要があります。

v 属性値、文字列型、数値型、または文字列配列型

  • 文字列型の場合は、長さ 256 文字以下の文字列である必要があります

  • 文字列配列型の場合は、配列の長さは 100 を超えることはできません(100 を含む)

pageUrl

ページの URL。一部のページの呼び出しロジックでコンテキストを取得できない場合、開発者は値を積極的に渡す必要があります。そうしないと、データ分析が準備されません。デフォルト値「undefined」

5.3.3. コード例

コード例については、セクション 5.2.3 をご覧ください。

5.4. 自動ページトラッキングと手動ページトラッキングが混在しています。

場合によっては、ユーザー トラッキングで自動ページ トラッキングを使用して一般的な動作トラッキングを完了し、一部のページのトラッキング タイミングを手動で制御して詳細トラッキングを完了することが想定されます。ただし、自動ページ閲覧イベントと手動ページ閲覧イベントが繰り返し報告されると、ユーザー行動データの精度に影響が生じます。そのため、SDK は単一ページの自動ページ トラッキングを無効にできます。

5.4.1. API の説明

import { skipAutoTrack } from '@quicktracking/analytics'; // @quicktracking/analytics から skipAutoTrack をインポートします

function skipAutoTrack(context: PageContext) // skipAutoTrack 関数

5.4.2. パラメータの説明

説明

context

ページ環境コンテキスト変数

5.4.3. コード例

プラグインをインストールしたら、必ず有効化してください。詳細については、「プラグインの有効化」をご参照ください。

注意!!!

  1. ページイベントコードの統計を正規化するために、開発者は自動的に追跡されるページがページに入ったときに onPageStart を呼び出し、ページイベントコードの pageName を指定します。この場合、自動ページイベントのイベントコードも onPageStart によって渡された pageName に変更されます。

  2. 開発者がページイベントの自動追跡を有効にしていて、ページ A が skipAutoTrack 操作を呼び出さず、コード追跡を通じて onPageStart と onPageEnd をペアで呼び出した場合、ページ A が離れると 2 つのページ閲覧イベントがレポートされます。

  3. onPageStart と onPageEnd はペアで呼び出す必要があります。そうしないと、ページイベントの追跡精度に影響します。

6. カスタムイベント

6.1.1. API の説明

import { trackEvent } from '@quicktracking/analytics'; // analytics から trackEvent をインポートします

function trackEvent(eventID: string, params?: Record<string, string | number | string[]>) // trackEvent 関数

6.1.2. パラメータの説明

説明

eventID

カスタムイベントのイベントエンコーディング

params

カスタムイベントのイベント属性、kvキーと値のペアのトラッキング

k属性の名前。文字列型です。長さ 128 文字以下の空でない(undefinedを含む)文字列である必要があります。

v属性値、文字列型、数値型、または文字列配列型

  • 文字列型の場合、長さは 256 文字以下の文字列である必要があります

  • 文字列配列型の場合、配列の長さは 100 を超えることはできません(100 を含む)

注意!!! そのうち

k="$page_name": イベントの事前設定プロパティ。現在のカスタムイベントが属するページのページコードを宣言するために使用されます。このパラメーターはオプションです。このパラメーターに値を設定する場合、長さは最大 128 文字の文字列で、空にすることはできません。

k="$page_url": イベントの事前設定プロパティ。現在のカスタムイベントが属するページのパスを宣言するために使用されます。このパラメーターはオプションです。このパラメーターに値を設定する場合、長さは最大 256 文字の文字列で、空にすることはできません。

6.1.3. コード例

  • UI スレッドで追跡するには

import { trackEvent } from '@quicktracking/analytics';
Button ('Custom event').onClick(() => {
  trackEvent("eventid", {
    param1: "value",
    param2: 2,
    param3: ["productId1", "productId2"],
    $page_name: "pageDemo", // オプション。イベントのプロパティ。
    $page_url: "pages/pageDemo", // オプション。イベントのプロパティ。
  });
});

  • ヒント: ブラウザの開発者ツールを使用して、API リクエストとレスポンスを検査できます。

import worker, { ThreadWorkerGlobalScope, MessageEvents, ErrorEvent } from '@ohos.worker';
import { trackEvent } from '@quicktracking/analytics';

const workerPort: ThreadWorkerGlobalScope = worker.workerPort;

workerPort.onmessage = function (e: MessageEvents) {
  trackEvent("workerevent", {
    param1: "value",
    param2: 2,
    param3: ["productId1", "productId2"],
    $page_name: "pageDemo", // オプション。イベントのプロパティです。
    $page_url: "pages/pageDemo", // オプション。イベントのプロパティです。
  })
}

workerPort.onmessageerror = function (e: MessageEvents) {}

workerPort.onerror = function (e: ErrorEvent) {}

ヒント: CORS エラーが発生した場合は、WordPress ウェブサイトで CORS を有効にする必要があります。

7. アプリケーションの起動、終了、およびアクティベーションイベントを手動でトラックする

デフォルトでは、SDK 構成 enableAutoTrackApplication = true が有効になっています。起動、終了、およびアクティベーション イベントの追跡要件が一部のシナリオで満たせない場合は、API 操作を手動で呼び出して、これら 3 つのシナリオの動作を追跡できます。

注意!!!

アプリケーションの起動、終了、およびアクティベーションイベントの手動トラッキングは、アプリケーションの起動、終了、およびアクティベーションイベントの自動トラッキングと混在させることはできません。混在させると、データの統計精度に影響します。つまり、enableAutoTrackApplication = false を設定する必要があります

7.1. アプリケーションのアクティベーションイベントを手動でレポートする

7.1.1. API の説明

import { trackAppInstall } from '@quicktracking/analytics';

// アプリインストールをトラッキングする関数
function trackAppInstall(context: ApplicationContext,  appKey: string, params: {
  browser?: string,
  $page_name?: string,
  $page_url?: string,
  [key: string]: string | number | string[]
}) {
  // アプリインストールを手動でトラッキング
  appTrack.manager.manualTrackAppInstall(context, appKey, params)
}

7.1.2. パラメータの説明

説明

context

アプリケーション環境コンテキスト変数

appKey

アプリケーションの一意の識別子。 入力パラメータの appkey は、QT バックエンドの appkey と同じである必要があります。

params

アプリケーションのアクティベーションイベントのイベント属性。キーと値のペアのトラッキング

文字列型の k 属性の名前。長さ 128 文字以下の空でない(未定義を含む)文字列である必要があります。

v 属性値、文字列型、数値型、または文字列配列型

  • 文字列型の場合、長さは 256 文字以下である必要があります

  • 文字列配列型の場合、配列の長さは 100 を超えることはできません(100 を含む)

注意:! ! !。 そのうち

k="browser": オプション。このパラメータは、アクティベーションイベントの事前設定属性です。アプリケーションを呼び出すブラウザの UserAgent 情報を宣言するために使用されます。デフォルト値:未定義。

k="utm_xxx": アクティベーションイベントの事前設定プロパティ。k は文字列 'utm_' で始まり、現在呼び出されているアプリケーションのチャネルパラメータ情報を宣言するために使用されます。SDK はそのようなパラメータを解析し、グローバルプロパティに保存します。

k="$page_name": アクティベーションイベントの事前設定属性。アクティベーションイベントが属するページのページコードを宣言するために使用されます。このパラメータはオプションです。デフォルト値:未定義。値が渡される場合、値は長さ 128 文字以内の文字列であり、空にすることはできません。

k="$page_url": アクティベーションイベントの事前設定属性。アクティベーションイベントが属するページのパスを宣言するために使用されます。このパラメータはオプションです。デフォルト値:未定義。値が渡される場合、値は長さ 256 文字以内の文字列であり、空にすることはできません。

7.1.3. コード例

import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import window from '@ohos.window';
import { trackAppInstall } from '@quicktracking/analytics';

export default class EntryAbility extends UIAbility {

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    trackAppInstall(
      this.context.getApplicationContext(), 
      "アプリケーションの appKey", // アプリケーションの appKey
      {
        $browser: 'Mozilla/5.0 Chrome/126. X.X Safari/537.36', // オプション。デフォルト値は undefined です。
        $page_name: "home_page", // オプション。デフォルト値は undefined です。
        $page_url: "pages/Index", // オプション。デフォルト値は undefined です。
        utm_source: "hwbroser", 
        man_app_p1: 111,
        man_app_p2: '222',
        man_app_p3: ['1', '2']
      }
    )
  }
}

7.2. アプリケーション起動イベントを手動でレポートする

7.2.1. API の説明

import { trackAppStart } from '@quicktracking/analytics';

// アプリ起動のトラッキングをインポートします
function trackAppStart(params: {
  isFirstLaunch?: boolean,
  $page_name?: string,
  $page_url?: string,
}, customParams?: object )

7.2.2. パラメータの説明

説明

params

アプリケーション起動イベントの事前作成済み属性のトラッキング。 kvキーと値のペア。

有効な値:1~9。

k="isFirstLaunch" は、ホットスタートとコールドスタートの識別子を示します。 デフォルト値は false で、ホットスタートを示します。 ホットスタートイベントとコールドスタートイベントを区別するには、isFirstLaunch フィールドの値を制御する必要があります。

k="$page_name": アクティベーションイベントの事前設定属性です。 アクティベーションイベントが属するページのページコードを宣言するために使用されます。 このパラメーターはオプションです。 デフォルト値:未定義。 値が渡される場合、値は長さ 128 文字以内の文字列であり、空にすることはできません。

k="$page_url": アクティベーションイベントの事前設定属性です。 アクティベーションイベントが属するページのパスを宣言するために使用されます。 このパラメーターはオプションです。 デフォルト値:未定義。 値が渡される場合、値は長さ 256 文字以内の文字列であり、空にすることはできません。

customParams

アプリケーション起動イベントのイベント属性、kvキーと値のペアのトラッキング

k属性の名前。文字列型です。 長さが 128 文字以下の空でない(未定義を含む)文字列である必要があります。

v属性値、文字列型、数値型、または文字列配列型

  • 文字列型の場合、長さは 256 文字以下である必要があります

  • 文字列配列型の場合、配列の長さは 100 を超えることはできません(100 を含む)

WordPress のインストール WordPress のインストール WordPress をインストールするには、次の手順に従います。 WordPress の最新バージョンを https://ja.wordpress.org/ からダウンロードします。 ダウンロードしたファイルをウェブサーバーにアップロードします。 wp-config.php ファイルを作成します。詳細については、「wp-config.php の編集」をご参照ください。 ウェブブラウザで WordPress のインストール URL にアクセスします。 画面の指示に従ってインストールを完了します。 注意: インストール中に問題が発生した場合は、WordPress サポートフォーラムをご覧ください。 WordPress 5.0 以降では、Gutenberg エディターがデフォルトで使用されます。詳細については、「WordPress エディター」をご参照ください。 ```

import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import window from '@ohos.window';
import { trackAppStart } from '@quicktracking/analytics';

export default class EntryAbility extends UIAbility {

  onForeground(): void {
    
    trackAppStart({
      isFirstLaunch: true, // オプション。デフォルト値:false。
      $page_name: "home_page", // オプション。デフォルト値は undefined です。
      $page_url: "pages/Index" // オプション パラメーター。デフォルト値:undefined。
    }, {
      man_app_p1: 111,
      man_app_p2: "222",
      man_app_p3: ['1', '2']
    })
    
  }
}

7.3. アプリケーション終了イベントを手動でレポートする

7.3.1. API の説明

7.3.2. パラメータの説明

説明

params

アプリケーション終了イベントの事前作成属性の kv キーと値のペアの追跡。

有効な値:1~9

k="duration": アプリケーションの閲覧時間を示し、数値型です。デフォルト値:0

k="$page_name": アプリケーション終了イベントが属するページのコード。このパラメーターはオプションです。デフォルト値:未定義。値が渡された場合、値は長さ 128 文字以内の文字列であり、空にすることはできません。

k="$page_url": アプリケーション終了イベントが属するページのパス。このパラメーターはオプションです。デフォルト値:未定義。値が渡された場合、値は長さ 256 文字以内の文字列であり、空にすることはできません。

customParams

アプリケーション起動イベントのイベント属性、kv キーと値のペアの追跡

k 属性の名前。文字列型です。長さ 128 文字以下の空でない(未定義を含む)文字列である必要があります。

v 属性値、文字列型、数値型、または文字列配列型

  • 文字列型の場合、長さは 256 文字以下である必要があります

  • 文字列配列型の場合、配列の長さは 100 を超えることはできません(100 を含む)

7.3.3. コード例

import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import window from '@ohos.window';
import { trackAppEnd } from '@quicktracking/analytics';

export default class EntryAbility extends UIAbility {

  onBackground(): void {
    
    trackAppEnd({
      $page_name: "home_page", // ページ名
      $page_url: "pages/Index", // ページ URL
      duration: 666 // 継続時間
    }, {
      man_app_p1: 111, // カスタムパラメータ 1
      man_app_p2: "222", // カスタムパラメータ 2
      man_app_p3: ['1', '2'] // カスタムパラメータ 3
    })
    
  }
}