接入 Android
本文介紹如何快速將移動性能監(jiān)控(Application Performance Management,APM)組件接入到 Android 客戶端。APM 支持原生 AAR 和組件化(Portal & Bundle)兩種接入方式。
完整的接入過程分為以下三步:
前提條件
確保 mPaaS 基線版本為 10.1.68.44 或以上版本。
已將 mPaaS 接入到工程,不同接入方式的操作不同:
若采用原生 AAR 方式接入,需要先 將 mPaaS 添加到項目中。
若采用組件化方式接入,需要先完成 組件化接入流程。
如需使用 RPC 性能監(jiān)控功能,需接入移動網(wǎng)關(guān)組件。具體操作參見 接入移動網(wǎng)關(guān)服務(wù)。
如需使用自動化頁面性能監(jiān)控、應(yīng)用啟動速度監(jiān)控功能、閃退監(jiān)控功能、卡頓監(jiān)控功能、卡死監(jiān)控功能,需接入移動分析組件。具體操作參見 接入移動分析服務(wù)。
如需使用 H5 性能監(jiān)控功能,需接入 H5 容器。具體操作參見 接入H5容器。
如需使用小程序性能監(jiān)控功能,需接入小程序。具體操作參見 接入小程序。
添加 SDK
不同接入方式下,SDK 的添加方式略有不同。
原生 AAR 方式
參考 管理組件依賴(原生 AAR),通過 組件管理(AAR)在工程中安裝 APM 組件。
組件化方式(Portal & Bundle)
在 Portal 和 Bundle 工程中通過 組件管理 安裝 APM 組件。更多信息,請參考 管理組件依賴。
初始化 mPaaS
如果使用原生 AAR 接入方式,則需要初始化 mPaaS,即在
Application
對象中添加以下代碼。public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // mPaaS 初始化 MP.init(this); } }
詳情請參考:初始化 mPaaS。
如果使用組件化接入方式,mPaaS 框架會自動初始化,您無需進(jìn)行任何操作。
使用性能監(jiān)控功能
開啟 RPC 性能監(jiān)控
如果已經(jīng)接入了移動網(wǎng)關(guān)組件,可以開啟 RPC 性能監(jiān)控。
MPMonitor.enableRpcMonitor();
開啟自定義網(wǎng)絡(luò)性能監(jiān)控
如果使用了其他第三方或自定義的網(wǎng)絡(luò)庫,可以通過埋點上報網(wǎng)絡(luò)性能數(shù)據(jù)。
// 開啟自定義網(wǎng)絡(luò)性能監(jiān)控開關(guān)
MPMonitor.enableNetMonitor();
// 針對每個網(wǎng)絡(luò)請求,自主上報性能信息
String url = "xxxx.com/test"; // 請求的 URL
long duration = 1234; // 請求耗時,單位為 ms
int responseCode = 200; // 響應(yīng)碼
MPMonitor.recordNetPerf(url, duration, responseCode);
開啟自動化頁面性能監(jiān)控
如果已經(jīng)接入了移動分析組件,并且開啟了 自動化日志,APM 將會自動開啟自動化頁面性能監(jiān)控。
開啟應(yīng)用啟動速度監(jiān)控
如果已經(jīng)接入了移動分析組件,可以在應(yīng)用首頁 Activity 的 onCreate()
方法中調(diào)用以下接口。
MPLogger.reportLaunchTime(Context context);
開啟 H5 性能監(jiān)控
接入 H5 容器后,H5 容器會自動上報性能監(jiān)控數(shù)據(jù),無需您手動埋點。
開啟閃退監(jiān)控
如果已經(jīng)接入了移動分析組件,APM 會自動捕獲閃退信息并上傳日志到服務(wù)端,無需處理。
開啟卡頓監(jiān)控
卡頓是指 Android 主線程超過 2.25 秒仍未執(zhí)行完一個方法。
接入移動分析組件后,應(yīng)用的 Activity 需要繼承 mPaaS 提供的類 BaseActivity
、BaseFragmentActivity
或 BaseAppCompatActivity
,APM 就能監(jiān)控這些 Activity 上出現(xiàn)的卡頓。
APK 為 debug 包時,卡頓監(jiān)控為全量統(tǒng)計。
APK 為 release 包時,卡頓監(jiān)控為采樣統(tǒng)計,采樣率 10%。
開啟卡死監(jiān)控
卡死分為啟動卡死和 ANR 卡死兩種情況。啟動卡死指 App 啟動后 30 秒內(nèi)未能離開歡迎頁和進(jìn)入首頁;ANR 卡死指系統(tǒng) ANR 卡死。
接入移動分析組件后,應(yīng)用的 Activity 需要繼承 mPaaS 提供的類 BaseActivity
BaseFragmentActivity
或 BaseAppCompatActivity
,APM 就能監(jiān)控這些 Activity 上出現(xiàn)的卡死。
啟動卡死僅 Portal & Bundle 接入方式能監(jiān)控到。
開啟小程序監(jiān)控
接入小程序后,小程序會自動上報性能監(jiān)控數(shù)據(jù),無需您手動埋點。