1 H5橋接使用情境
1.1 如何將H5資料同時上報至H5應用和App應用?
情境舉例:
一個“春日”活動H5嵌入在多個App端,按照當前方式操作,可以滿足下述分析訴求:
App營運需要看到客戶在App內參加H5活動前後的完整鏈路資料。
H5活動營運需要看到H5在所有App端內的活動資料。
操作說明:
建立兩個應用:
一個App應用,該App有自己的Appkey_app
一個Web/H5應用,該Web/H5有自己的Appkey_h5
調用App內的attach介面,進行H5橋接
上報日誌:
App報一條日誌:
Appkey是App的“Appkey_app”
使用者帳號為App的使用者帳號
裝置ID為App的裝置ID
系統屬性為App的系統屬性
全域屬性是App內埋點的全域屬性
事件編碼和事件屬性為H5內的埋點
H5上報一條日誌:
Appkey是H5的“Appkey_h5”
使用者帳號為H5的使用者帳號
裝置ID為H5的裝置ID
系統屬性為H5的系統屬性
全域屬性是H5內埋點的全域屬性
事件編碼和事件屬性為H5內的埋點
1.2 如何將H5資料僅上報至唯一App應用中?
情境舉例:
由於技術架構,一部分頁面為H5技術結構,按照當前方式操作,可以滿足下述分析訴求:
App業務、營運和PD等可以在App資料內看到完整的全鏈路資料。
操作說明:
建立一個App應用,僅有一個Appkey_app
調用App內的attach介面,進行H5橋接
H5 Appkey設定為空白,並調用aplus-jsbridge-only等於true,關閉H5資料上報
上報日誌:
僅App報一條日誌:
Appkey是App的“Appkey_app”
使用者帳號為App的使用者帳號
裝置ID為App的裝置ID
系統屬性為App的系統屬性
全域屬性是App內埋點的全域屬性
事件編碼和事件屬性為H5內的埋點
1.3 如果將H5資料僅上報至H5應用中?
情境舉例:
App業務、營運和PD等不希望在App中看到H5的資料
操作說明:
建立兩個應用:
一個App應用,該App有自己的Appkey_app
一個Web/H5應用,該Web/H5有自己的Appkey_h5
不進行任何API的調用
上報日誌:
僅H5報一條日誌:
Appkey是H5的“Appkey_h5”
使用者帳號為H5的使用者帳號
裝置ID為H5的裝置ID
系統屬性為H5的系統屬性
全域屬性是H5內埋點的全域屬性
事件編碼和事件屬性為H5內的埋點
2 H5橋接原理說明

上述方式的前提為:
App整合QuickTrackingApp SDK
以及app內的H5整合QuickTracking H5 SDK
圖中表示當使用者觸發app中h5頁面上的button2時,會同時上報兩條日誌:
通過App SDK上報:上報的日誌中,appkey為app的appkey,全域屬性為app的全域屬性,事件編碼和事件屬性為h5中埋點的編碼和屬性。(圖中綠色箭頭)
通過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中globalproperty或aplus.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原生中。