日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Android 客戶端診斷

本文介紹如何在 Android 客戶端中使用日志診斷服務。日志診斷在控制臺下發任務時支持消息推送和數據同步雙通道。

進行 Android 客戶端診斷的步驟如下:

  1. 初始化診斷服務

  2. 寫入診斷日志

  3. 在控制臺拉取日志

前置條件

初始化診斷服務

診斷服務支持使用數據同步或消息推送通道拉取診斷日志,兩種通道的初始方式不同。

使用消息推送通道

使用消息推送通道時,您需要在 App 啟動后完成以下操作:

使用數據同步通道

使用數據同步通道時,您需要在 App 啟動后調用以下方法,完成通道初始化。

// 設置 userId
MPLogger.setUserId(String userId);
// 初始化 Sync 通道,必須先設置 userId,否則會初始化失敗
MPDiagnose.initSyncChannel(Context context);

寫入診斷日志

客戶端收到下發的診斷任務時,只有使用 mPaaS 的日志工具 MPLogger 寫入的日志才會被上傳,因此推薦您使用 MPLogger 代替 android.util.Log 寫日志。MPLogger 提供和原生 Log 類似的日志級別方法:

void verbose(String tag, String msg);
void debug(String tag, String msg);
void info(String tag, String msg);
void warn(String tag, String msg);
void warn(String tag, Throwable t);
void warn(String tag, String msg, Throwable tr);
void error(String tag, String msg);
void error(String tag, Throwable t);
void error(String tag, String msg, Throwable t);
void print(String tag, String msg);
void print(String tag, Throwable t);

在通過 MPLogger 寫入的日志中,debug 包會在 logcat 中顯示;release 包不會在 logcat 中顯示。診斷日志在設備上的存儲目錄為:

  • debug 包:/sdcard/[PackageName]/applog,當該目錄無法寫入時(例如應用 targetSdkVersion 大于等于 30),日志將寫入 release 包的目錄。

  • release 包:/data/data/[PackageName]/files/applog

在控制臺拉取日志

您可以在控制臺拉取使用 mPaaS 的日志工具打印的日志,從而快速便捷地分析 App 在指定機型或用戶上出現的崩潰或異常問題。

步驟 1:創建日志拉取任務

  1. 進入 mPaaS 控制臺,選擇目標應用。

  2. 在左側導航欄中,點擊 移動分析 > 日志管理

  3. 拉取實時日志 標簽頁中,點擊 添加 按鈕。

  4. 填寫任務信息。其中,用戶 ID 為您的應用登錄系統中用戶的標識。通過 MPLogger.setUserId(String userId) 或消息推送上報用戶 ID 的方法設置。

  5. 點擊 確認 按鈕,完成日志拉取任務創建。

步驟 2:觸發日志拉取任務

  1. 在日志拉取任務列表中,找到剛剛創建的任務,選擇 觸發通道,然后點擊 操作 列的 觸發

  2. 稍等片刻刷新頁面,若任務狀態為:

    • 任務處理完成:點擊 查看 按鈕即可下載診斷日志。

    • 調用 Push/Sync 服務成功:表示已下發上傳診斷日志的消息,但客戶端還未收到或收到但未上傳日志。 針對此情況,請確認您的 App 進程在系統中仍然存在;如果不存在請重啟 App。如果重啟后任務狀態仍未變化,請參考下文進行初步排查。

問題排查

如果出現無法拉取到日志的問題,請根據所使用的診斷日志下發通道,按照對應的步驟進行排查。

使用消息推送通道

排查步驟如下:

  1. 進入 mPaaS 控制臺 > 消息推送 頁面,根據 userId 推送一條普通的消息到您的 App,確認消息推送通道暢通。

  2. 在消息推送通道暢通的情況下,先清空 logcat 日志,切換到 push 進程,然后在控制臺診斷任務中再次點擊 觸發 按鈕,觀察 logcat 日志。

  3. 過濾 mPush14,觀察是否收到診斷消息。若未收到,請確認推送通道是否已斷開連接。 image.png

  4. 確認收到診斷消息后,可查找是否有以下日志,確認診斷消息是否被轉發到 MonitorService。 若報錯找不到ClientMonitorService,請使用 mPaaS 插件更新 SDK:

    • 10.1.32 基線請升級到 10.1.68,并更新組件到最新版本。

    • 10.1.60 或 10.1.68 基線請更新組件到最新版本。2

  5. 確認 MonitorService 啟動后,過濾 AlipayLogUploader,查看本地是否存在診斷日志。如果出現以下日志,說明本地存在診斷日志可以上傳。

    本地存在日志

    如果出現以下日志,說明不存在診斷日志。

    本地不存在日志

    若不存在診斷日志,請檢查以下項目:

    • 控制臺創建的拉取實時日志任務,選取的時間段不能少于 1 小時;在選取的時間段內 App 須運行且輸出診斷日志。

    • App 聲明并動態申請了以下權限:

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  6. 確認本地存在診斷日志后,過濾 HttpUpload,查看日志上傳是否成功,若 responseCode 為 200 則表示上傳成功。 3

使用數據同步通道

排查步驟如下:

  1. 清空 logcat 日志,切換到主進程,初始化同步通道后,過濾 isConnected,觀察同步通道建連是否成功。

  2. 在 mPaaS 控制臺診斷任務中再次點擊 觸發 按鈕,過濾 MPDiagnose,觀察是否收到診斷消息,以及是否啟動了MonitorService

    若未收到消息,請確認設置的 userId 和診斷任務中填寫的 userId 是否一致;若報錯找不到ClientMonitorService,請使用 mPaaS 插件更新 SDK:

    • 10.1.32 基線請升級到 10.1.68,并更新組件到最新版本。

    • 10.1.60 或 10.1.68 基線請更新組件到最新版本。

  3. 確認 MonitorService 啟動后,切換到 push 進程,過濾 AlipayLogUploader,查看本地是否存在診斷日志。如果出現以下日志,說明本地存在診斷日志可以上傳。如果出現以下日志,說明不存在診斷日志。

    請檢查以下項目:

    • 控制臺創建的拉取實時日志任務,選取的時間段不能少于 1 小時;在選取的時間段內 App 須運行且輸出診斷日志。

    • App 聲明并動態申請了以下權限:

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  4. 確認本地存在診斷日志后,過濾 HttpUpload,查看日志上傳是否成功,若 responseCode 為 200 則表示上傳成功。