全部產品
Search
文件中心

Quick Tracking:App內H5資料上報

更新時間:Jun 20, 2025

1 H5橋接使用情境

1.1 如何將H5資料同時上報至H5應用和App應用?

情境舉例:

一個“春日”活動H5嵌入在多個App端,按照當前方式操作,可以滿足下述分析訴求:

  • App營運需要看到客戶在App內參加H5活動前後的完整鏈路資料。

  • H5活動營運需要看到H5在所有App端內的活動資料。

操作說明:

  1. 建立兩個應用:

  • 一個App應用,該App有自己的Appkey_app

  • 一個Web/H5應用,該Web/H5有自己的Appkey_h5

  1. 調用App內的attach介面,進行H5橋接

上報日誌:

  1. App報一條日誌:

    1. Appkey是App的“Appkey_app”

    2. 使用者帳號為App的使用者帳號

    3. 裝置ID為App的裝置ID

    4. 系統屬性為App的系統屬性

    5. 全域屬性是App內埋點的全域屬性

    6. 事件編碼和事件屬性為H5內的埋點

  2. H5上報一條日誌:

    1. Appkey是H5的“Appkey_h5”

    2. 使用者帳號為H5的使用者帳號

    3. 裝置ID為H5的裝置ID

    4. 系統屬性為H5的系統屬性

    5. 全域屬性是H5內埋點的全域屬性

    6. 事件編碼和事件屬性為H5內的埋點

1.2 如何將H5資料僅上報至唯一App應用中?

情境舉例:

由於技術架構,一部分頁面為H5技術結構,按照當前方式操作,可以滿足下述分析訴求:

  • App業務、營運和PD等可以在App資料內看到完整的全鏈路資料。

操作說明:

  1. 建立一個App應用,僅有一個Appkey_app

  2. 調用App內的attach介面,進行H5橋接

  3. H5 Appkey設定為空白,並調用aplus-jsbridge-only等於true,關閉H5資料上報

上報日誌:

  1. 僅App報一條日誌:

    1. Appkey是App的“Appkey_app”

    2. 使用者帳號為App的使用者帳號

    3. 裝置ID為App的裝置ID

    4. 系統屬性為App的系統屬性

    5. 全域屬性是App內埋點的全域屬性

    6. 事件編碼和事件屬性為H5內的埋點

1.3 如果將H5資料僅上報至H5應用中?

情境舉例:

  1. App業務、營運和PD等不希望在App中看到H5的資料

操作說明:

  1. 建立兩個應用:

  • 一個App應用,該App有自己的Appkey_app

  • 一個Web/H5應用,該Web/H5有自己的Appkey_h5

  1. 不進行任何API的調用

上報日誌:

  1. 僅H5報一條日誌:

    1. Appkey是H5的“Appkey_h5”

    2. 使用者帳號為H5的使用者帳號

    3. 裝置ID為H5的裝置ID

    4. 系統屬性為H5的系統屬性

    5. 全域屬性是H5內埋點的全域屬性

    6. 事件編碼和事件屬性為H5內的埋點

2 H5橋接原理說明

yuque_diagram (2)

上述方式的前提為:

  1. App整合QuickTrackingApp SDK

  2. 以及app內的H5整合QuickTracking H5 SDK

圖中表示當使用者觸發app中h5頁面上的button2時,會同時上報兩條日誌:

  1. 通過App SDK上報:上報的日誌中,appkey為app的appkey,全域屬性為app的全域屬性,事件編碼和事件屬性為h5中埋點的編碼和屬性。(圖中綠色箭頭)

  2. 通過H5 SDK上報:上報的日誌中,appkey為h5的appkey,全域屬性為h5的全域屬性,事件編碼和事件屬性為h5中埋點的編碼和屬性。(圖中黃色箭頭)

3 App橋接H5開關

macOS:預設關閉,只有通過設定初始化參數才能開啟

// H5橋接開關
@property (nonatomic) BOOL enableJSBridge;

樣本

QTSDKConfig *sdkConfig = [[QTSDKConfig alloc] initWithAppkey:@"test_appkey"
                                                  trackDomain:@"https://xxxx.com"
                                                launchOptions:nil];
// 開啟H5橋接
sdkConfig.enableJSBridge = YES;
[QuickTrackingSDK launchWithConfig:sdkConfig];

4 H5 SDK上報日誌開關

控制黃色箭頭鏈路的開關API:

H5 SDK API:

SDK配置

aplus-jsbridge-only

true

關閉H5的日誌發送(黃色箭頭)

false(預設false)

開啟H5的日誌發送(黃色箭頭)

aplus_queue.push({
  action: 'aplus.setMetaInfo',
  arguments: ['aplus-jsbridge-only', true]
});
警告

請注意:設定aplus-jsbridge-only為true之後,網頁連結中的utm參數不會自動識別為渠道參數,需要開發人員使用全域屬性的方式自行設定。

5 H5 全域屬性同步介面

在H5中設定關閉下述介面後,H5中通過aplus.appendMetaInfo中globalpropertyaplus.setMetaInfo中globalproperty設定的全域屬性將不會同步生效至App原生中。(該介面預設為true)

注意,該介面在qt_web_v2.0.12中支援。

aplus_queue.push({
  action: 'aplus.setMetaInfo',
  arguments: ['aplus-globalproperty-sync-enable', false] //關閉同步
});

例如:預設情況下,在App中設定全域屬性「當前所在城市:北京」,在App內H5中設定全域屬性「當前所在城市:上海」,則在H5和App原生中觸發的事件的全域屬性都將為「當前所在城市:上海」。如果關閉該開關,則H5中設定的全域屬性不會同步到App原生中。