全部產品
Search
文件中心

:通過本地整合的方式接入Android應用

更新時間:Aug 21, 2024

ARMS使用者體驗監控的App監控提供了非常全面的移動端應用監控能力,主要包括iOS應用監控和Android應用監控。本文介紹如何通過本地整合的方式將Android應用接入ARMS使用者體驗監控

前提條件

Gradle支援版本:3.0+

展開查看修改Gradle版本的操作

在Android Studio中匯入或者建立Demo專案後,選擇file > project structure,然後選擇合適的Gradle的版本,單擊確認

步驟一:建立應用並整合探針

  1. 登入ARMS控制台
  2. 在左側導覽列選擇使用者體驗監控 > 應用列表,並在頂部功能表列選擇目標地區。

  3. 應用列表頁面單擊添加應用

  4. 建立應用面板單擊Android

  5. Android面板輸入應用程式名稱和描述,然後單擊建立

    說明

    應用程式名稱唯一,不能與已建立的應用程式名稱重複。

    建立成功後,當前應用將會自動產生對應的ConfigAddress(上報地址)和AppID。

  6. 預置OpenRum SDK環境。

    1. 下載SDK並解壓。

    2. 將jniLibs目錄內容複寫打包到modules目錄層級下存放so動態庫的jniLibs目錄中(若此目錄不存在,需手動建立一個)。

    3. 將repo檔案夾複製到project根目錄下,與module目錄同級。

    4. 將co.openrum.skd.jar複製到module層級下的libs目錄下。

  7. 配置Gradle。

    1. 開啟Project層級根目錄下的build.gradle檔案,添加以下內容。

      1. 在buildscript塊中添加以下內容。

        說明

        若是buildscript塊不存在,則手動添加。

        ext.openrumsdk_version = "7.7.0" // 這裡的版本號碼根據實際情況而定
      2. 在buildscript塊下的repositories塊中添加以下內容。

        說明

        若是repositories塊不存在,則手動添加。

        maven {
          url uri("./repo")
        }
      3. 在buildscript塊下的dependencies塊中添加以下內容。

        說明

        若是dependencies塊不存在,則手動添加。

        classpath "com.openrum.agent.android:openrum:$openrumsdk_version"
      4. 單擊Sync Now

    2. 開啟module層級目錄下的build.gradle檔案,添加以下內容。

      1. 在頭部引入openrum外掛程式。

        apply plugin: 'openrum'
      2. 引入外掛程式的方式可能發生了變化,若發生了變化,則在plugin塊中添加。

        id: "openrum"
      3. 在dependencies模組中添加以下內容。

        implementation files('libs/com.openrum.sdk.jar')
      4. 單擊Sync Now

  8. Rebuild並Clean專案,確保OpenRum配置生效。

步驟二:接入應用

  1. 配置授權資訊。

    檢查應用程式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"/>
  2. 配置混淆資訊。

    在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函數中,添加以下代碼。

說明

請將以下代碼中的appKeyconfigUrl替換為控制台擷取的當前應用對應的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則表示嵌碼成功且資料開始採集。

image.png