全部產品
Search
文件中心

Quick Tracking:App內H5資料上報

更新時間:Jun 19, 2025
說明

文檔說明:本文檔內容為介紹當App記憶體在H5頁面時,H5資料應該如何上報?

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介面

iOS:預設關閉,只有調用下述API才能開啟

注意:iOS SPM版本1.3.0以下版本是預設自動橋接的,如果您升級,需要修改該邏輯

/**
 * @brief                   H5橋接介面
 *
 * @param     WebView          WKWebView對象
 * @warning
 *
 */
+ (void)attach:(id)WebView;

例:

#import <QTCommon/UMSpmHybrid.h>    

WKWebView *webView=[[WKWebView alloc]init];
[UMSpmHybrid attach:webView];
[webView loadRequest:request];

請注意:為了確保H5頁面載入事件上報的準確性,請務必在loadRequest之前調用attach方法。

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中支援,需搭配android 1.4.3.PX及以上版本,iOS 1.4.0.PX及以上版本使用。

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

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

6 歷史文檔

重要

注意:iOS SPM版本1.3.0以下版本是預設自動橋接的,如果您升級,需要修改該邏輯

H5橋接API介紹

在進行H5橋接前,需要首先整合App SDK和JS SDK,並初始化。

API介面

在iOS中,H5頁面上的事件統計協議預設跟隨Native上報。

Native頁面PV事件不上報

當對h5層進行統計時,若需要避免native層和h5層頁面PV事件重複上報,需要調用此函數。此函數調用後,SDK不會在對當前native層頁面PV事件進行統計及上報,避免和H5層頁面PV事件重複上報。

/**
 * @brief                   跳過當前頁面統計.
 *
 * @param     PageObject          容器物件(自動擷取頁面時使用,預設手動可填nil)
 * @param     pageName          頁面名稱(手動設定頁面時使用,當設定自動擷取頁面時可填nil)
 * @warning                 建議在設定頁面之前調用此介面,調用後設定的native頁面將不發送資料
 *                          
 */
+ (void)skipMe:(id)PageObject pageName:(NSString *)pageName;