全部產品
Search
文件中心

Mobile Platform as a Service:H5 容器自動化埋點

更新時間:Jul 13, 2024

使用 mPaaS 提供的 Nebula 容器載入 H5 頁面時,Nebula 容器會自動統計頁面的行為資料、載入效能,捕獲異常報錯等資料,方便您更好地跟蹤 H5 頁面載入時的各項資料。本文將引導您整合 Nebula 容器自動化埋點能力及查看埋點資料。

前置條件

整合 mPaaS 提供的 H5 容器自動化埋點功能,需滿足以下兩個條件:

  • 您已在 mPaaS 控制台 中建立了一個 App。

  • 您已完成 添加 SDK 步驟,用戶端工程整合了 NebulaLogging.framework

操作步驟

初始化配置

  1. 要整合 Nebula 容器的自動埋點功能,需在容器初始化時啟動 H5 埋點監控:

    // 監控委託,添加 H5 頁面的自動化埋點
     NBLogConfigurationGet().shouldInjectSPMJS=YES;
     #ifdef DEBUG
     NBLogConfigurationGet().enableConsoleLog = YES;
     #endif
     [NBLogServiceGet() start];
     [[NBMonitor defaultMonitor] setDelegate:NBLogServiceGet()];
  2. 啟動 H5 埋點監控後,使用 Nebula 容器載入 H5 頁面,容器就會自動統計頁面載入行為、效能及異常資料等。根據查看埋點資料的情境不同,分為以下兩種方式:

    • 查看用戶端日誌:查看用戶端本地的埋點資料,適用於應用開發階段的問題排查。參見下文 查看用戶端日誌

    • 查看服務端日誌:查看線上使用者產生的真實埋點資料,適用於應用發布上線後,排查線上問題。參見下文 查看服務端日誌

查看用戶端日誌

載入 H5 頁面後,在 XCode 控制台搜尋索引鍵 [h5log],即可查看頁面載入相關的埋點資料的關鍵資訊,如下圖。

用戶端日誌

Xcode 控制台打出的 H5 容器埋點資料,只包含了以下關鍵資訊:

SeedId

樣本

含義

bizType

webapp

日誌類型,寫入本地記錄檔的檔案名稱。

seedId

H5_AL_SESSION_FROM_NATIVE

埋點的唯一標識,具體含義參見下文的 H5 容器埋點集

head

HD-VM

日誌模型。可參考 效能埋點

params

https://www.baidu.com

當前頁面的 URL。

currentTimestamp=1553072784000

自訂參數,如時間戳記,頁面載入狀態。

-

自訂參數,如頁面元素位置。

^url=https://www.baidu.com^referer=MPH5DemoVC^viewId=MPH5DemoVC^refviewId=MPHomeViewController^token=A994169ddd50640fa262dbc2dfebb2bb3^h5SessionToken=db4db9cfd83521aa2bc31a2e5a6df30e/td>

埋點資訊:包括離線包 APPID、離線包版本號碼、當前 H5 頁面載入的 URL、所在的 VC 類名、當前頁面的 token 等。

formatter

header = "HD-VM"

同 head 欄位說明。

若您需要查看 Xcode 控制台上某條日誌的完整內容,可在沙箱中找到 Library/log 下以 bizType 開頭的檔案名稱,然後根據 seedId 關鍵字搜尋查詢。

image.png

查看服務端日誌

若需要查看線上使用者 H5 容器的埋點資料,可在 mPaaS 控制台通過 查詢歷史日誌 進行查詢。

服務端日誌

H5 容器埋點集

H5 容器統計的自動化埋點資訊,根據埋點資料的 seedID 作為唯一標識,按載入的 H5 頁面方式不同,主要有以下三類:

  • 開啟線上 URL 的相關埋點集

SeedId

含義

H5_AL_SESSION_FROM_NATIVE

容器已經啟動。

H5_AL_PAGE_START

頁面開始載入。

H5_AL_NETWORK_START

頁面開始發起網路請求。

H5_OPEN_PAGE_FINISH

頁面載入完成。

H5_AL_PAGE_APPEAR

頁面首次出現。

H5_AL_JSAPI_SENDEVENT

頁面調用 JSAPI。

H5_AL_JSAPI_NOTFOUND

頁面調用 JSAPI 失敗。

H5_TITLEBAR_BACK_BT

單擊導覽列返回按鈕。

H5_PAGE_PERFORMANCE

統計頁面載入的效能。

  • 開啟離線包頁面的相關埋點集

SeedId

含義

H5_APP_REQUEST

請求離線包資訊。

H5_APP_LOAD_DATASOURCE

載入離線包資訊。

H5_AL_SESSION_FROM_NATIVE

容器已經啟動。

H5_APP_DOWNLOAD

離線包下載。

H5_APP_UNZIP

離線包解壓。

H5_APP_POOL

包管理資訊池操作 (包含池內資訊的增、刪、改)。

H5_APP_VERIFY

離線包驗簽。

H5_AL_SESSION_VERIFYTAR_FAIL

離線包驗簽失敗。

H5_AL_PAGE_START

頁面開始載入。

H5_AL_SESSION_MAP_SUCCESS

載入本地離線包成功。

H5_AL_SESSION_FALLBACK

載入本地離線包失敗,走 fallback 請求線上頁面。

H5_OPEN_PAGE_FINISH

頁面載入完成。

H5_AL_PAGE_APPEAR

頁面首次出現。

  • 異常埋點

seedId

含義

H5_AL_NETWORK_PERFORMANCE_ERROR

資源請求異常。

H5_PAGE_ABNORMAL

頁面異常。

H5_AL_PAGE_JSERROR

JS 異常。

H5_AL_JSAPI_RESULT_ERROR

JSAPI 異常。