Table of Contents

如何記錄與轉發 AR Session dump 文件

AR Session dump 文件是 EasyAR 團隊排查定位、跟蹤問題的核心依據。

開始之前

什麼是 AR Session dump 文件

重要事項

AR Session dump 文件是微信小程序上分析和解決 Mega 定位、跟蹤問題最重要的依據

AR Session dump 文件記錄了小程式進行 Mega 定位請求時的關鍵時空上下文。

如何記錄與轉發

通過調用 session.dumpSession(signal: boolean) 接口控制記錄流程:

  • 傳入 true:啟動記錄。
  • 傳入 false:停止記錄,並返回生成的 文件臨時路徑 (tempFilePath)

通常建議將記錄邏輯與 UI 按鈕綁定,在開始記錄時通過 wx.showToast() 方法提示記錄開始,在記錄結束時通過 wx.shareFileMessage() 方法將記錄的文件通過微信聊天轉發。

/**
 * 處理 Session 記錄邏輯
 * @param signal true 為開始記錄,false 為結束記錄並轉發
 */
dumpSession(signal: boolean): void {
  // 調用接口獲取路徑
  const recordPath = session.dumpSession(signal);
  // signal 為 true 時,接口返回空字符串,表示正在記錄
  if (recordPath.length == 0) {
      wx.showToast({
          title: '開始記錄數據',
          icon: 'success',
          duration: 2000
      });
      return;
  }
  // signal 為 false 時,處理返回的文件路徑
  wx.shareFileMessage({
      filePath: recordPath,
      success() {
          wx.showToast({
              title: '記錄轉發成功',
              icon: 'success',
              duration: 2000
          });
      },
      fail() {
          wx.showToast({
              title: '記錄轉發失敗',
              icon: 'error',
              duration: 2000
          });
      }
  })
}

這個例子演示了如何在 xr-frame 組件中使用 session.dumpSession() 方法記錄並轉發 AR Session dump 文件,並且給出相應的 Toast 提示。


附註

由於小程序本地空間限制(通常為 200MB),建議單次錄製時間不要過長,且最長錄製時間不能超過 10 分鐘。

相關主題