ARMS使用者體驗監控的App監控提供了非常全面的移動端應用監控能力,主要包括iOS應用監控和Android應用監控。本文介紹如何通過本地整合的方式將Android應用接入ARMS使用者體驗監控。
前提條件
Gradle支援版本:3.0+
步驟一:建立應用並整合探針
- 登入ARMS控制台。
在左側導覽列選擇,並在頂部功能表列選擇目標地區。
在應用列表頁面單擊添加應用。
在建立應用面板單擊Android。
在Android面板輸入應用程式名稱和描述,然後單擊建立。
說明應用程式名稱唯一,不能與已建立的應用程式名稱重複。
建立成功後,當前應用將會自動產生對應的ConfigAddress(上報地址)和AppID。
預置OpenRum SDK環境。
下載SDK並解壓。
將jniLibs目錄內容複寫打包到modules目錄層級下存放so動態庫的jniLibs目錄中(若此目錄不存在,需手動建立一個)。
將repo檔案夾複製到project根目錄下,與module目錄同級。
將co.openrum.skd.jar複製到module層級下的libs目錄下。
配置Gradle。
開啟Project層級根目錄下的build.gradle檔案,添加以下內容。
在buildscript塊中添加以下內容。
說明若是buildscript塊不存在,則手動添加。
ext.openrumsdk_version = "7.7.0" // 這裡的版本號碼根據實際情況而定在buildscript塊下的repositories塊中添加以下內容。
說明若是repositories塊不存在,則手動添加。
maven { url uri("./repo") }在buildscript塊下的dependencies塊中添加以下內容。
說明若是dependencies塊不存在,則手動添加。
classpath "com.openrum.agent.android:openrum:$openrumsdk_version"單擊Sync Now。
開啟module層級目錄下的build.gradle檔案,添加以下內容。
在頭部引入openrum外掛程式。
apply plugin: 'openrum'引入外掛程式的方式可能發生了變化,若發生了變化,則在plugin塊中添加。
id: "openrum"在dependencies模組中添加以下內容。
implementation files('libs/com.openrum.sdk.jar')單擊Sync Now。
Rebuild並Clean專案,確保OpenRum配置生效。
步驟二:接入應用
配置授權資訊。
檢查應用程式AndroidManifest.xml設定檔,盡量確保已引入以下授權。
<!-- 允許連結網路 --> <uses-permission android:name="android.permission.INTERNET"/> <!-- 擷取網路狀態 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!-- 讀取手機狀態和身份許可權 --> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- 在公用儲存讀寫資料 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>配置混淆資訊。
在Gradle Scripts下的proguard-rules.pro檔案中添加以下配置。
#ProGuard configurations for OpenRum-Agent -keep public class com.openrum.**{*;} -keep public class openrum.**{*;} -dontwarn com.openrum.** -dontwarn openrum.** #End OpenRum-Agent -optimizations !code/simplification/*,!field/*,!class/merging/*,!method/propagation/*,!class/unboxing/enum,!code/allocation/variable
步驟三:初始化SDK
請在自訂Application的onCreate函數中,添加以下代碼。
請將以下代碼中的appKey和configUrl替換為控制台擷取的當前應用對應的AppID和ConfigAddress。
// 可選,設定使用者ID,以字串形式給使用者做標識
OpenRum.setUserID("自訂userID");
// 這裡的appKey和configUrl在RUM控制台建立時獲得
OpenRum.withAppID("appKey")
.withConfigAddress("configUrl")
.start(getApplicationContext());(可選)步驟四:WebView資料擷取
採集WebView資料需調用WebViewClient和WebChromeClient組件的支援。
情境1:如果業務代碼中不需要添加自訂的client,可以不額外增加對setWebViewClient或 setWebChromeClient的設定調用。
情境2:如果業務需要設定client,請在設定時正確重寫結構體,避免影響webview資料擷取。
webView.setWebChromeClient(new WebChromeClient(){}); webView.setWebViewClient(new WebViewClient(){});
步驟五:嵌碼驗證
啟動已嵌碼的APK,查看logcat日誌,搜尋openrum關鍵字(或者過濾OpenRUM標籤),出現如下log則表示嵌碼成功且資料開始採集。
