使用者體驗監控提供了非常全面的移動端應用監控能力,支援對應用效能、崩潰、卡頓等關鍵計量的進行即時監控與分析。本文介紹如何將Android應用接入。
前提條件
支援 Android 7.0及以上的版本。
步驟一:整合SDK
Maven自動整合(推薦)
在Android Studio工程的build.gradle配置指令碼中添加Maven線上依賴,並匯入最新版本的SDK。
在工程根目錄下的build.gradle配置指令碼中添加外掛程式依賴。
buildscript { repositories { mavenLocal() google() mavenCentral() gradlePluginPortal() } dependencies { // 匯入阿里雲 ARMS RUM 外掛程式依賴 // 建議匯入最新版本外掛程式,最新版本SDK說明請參見Android SDK版本說明文檔 classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.0.5" } }在工程App模組對應的build.gradle配置指令碼中啟用外掛程式並添加SDK依賴。
// 啟用阿里雲 ARMS RUM 外掛程式 apply plugin: "com.aliyun.rum" dependencies { // 匯入阿里雲 ARMS RUM SDK // 建議從以下連結擷取最新版本SDK // https://www.alibabacloud.com/help/zh/arms/user-experience-monitoring/android-sdk-release-notes implementation("com.aliyun.rum:alibabacloud-android-rum-sdk:2.0.5") }
手動整合
下載SDK並解壓。
解壓.zip檔案後得到如下內容:
libs檔案夾,包含必須的jar包和jni庫
repo檔案夾,包含必須的外掛程式
libs/assets檔案夾,包含必須的資源檔
配置工程。
複製repo檔案夾到專案根目錄,複製libs檔案夾到App Module目錄,複製libs/assets中的檔案到App/src/assets目錄中。

開啟專案根目錄下的build.gradle(Gradle 7.0 及以下)或settings.gradle (Gradle 7.0以上)檔案,在repositories塊中加入以下Maven配置。
build.gradle檔案配置
buildscript { repositories { maven { url uri('./repo') } //... 其他配置 } } allprojects { repositories { maven { url uri('./repo') } //... 其他配置 } } //... 其他配置settings.gradle檔案配置
pluginManagement { repositories { maven { url uri('./repo') } //... 其他配置 } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url uri('./repo') } //... 其他配置 } } //... 其他配置在專案根目錄下的build.gradle檔案中,加入classpath配置。
// 不區分Gradle版本,添加下面內容 buildscript { dependencies { classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.0.3" } } //... 其他配置開啟App Module下的build.gradle檔案,匯入AlibabaCloudRUM外掛程式和依賴。
apply plugin: "com.aliyun.rum" //... 其他配置 android { //... 其他配置 sourceSets { main { jniLibs.srcDirs = ['libs'] } } //... 其他配置 } dependencies { implementation files('libs/alibabacloud-android-rum-sdk.jar') //... 其他配置 }
步驟二:外掛程式配置
在專案App Module目錄下的 build.gradle 檔案中,按需添加plugin配置:
AlibabacloudRumExt {
// 排除不需要插樁的包
excludePackages = [
"com.example.internal", // 排除內部實現包
"com.myapp.debug", // 排除調試相關包
"com.thirdparty.analytics" // 排除第三方分析SDK
]
}
//... 其他配置步驟三:許可權配置
ARMS RUM SDK需要宿主App授予以下許可權。
<!-- 必須 -->
<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.READ_BASIC_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>步驟四:混淆配置
若您的應用使用ProGuard混淆,請添加以下配置。
-keep public class com.alibabacloud.rum.** { *; }
-dontwarn com.alibabacloud.rum.**
-optimizations !code/simplification/*,!field/*,!class/merging/*,!method/propagation/*,!class/unboxing/enum,!code/allocation/variable步驟五:初始化SDK
請在自訂Application的onCreate函數首行添加以下代碼。
import com.alibabacloud.rum.AlibabaCloudRum;
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// SDK版本 >= 2.0.0
AlibabaCloudRum.withServiceId("") // ServiceId 在建立 RUM 應用時擷取
.withWorkspace("") // Workspace 在建立 RUM 應用時擷取
.withEndpoint("") // Endpoint 在建立 RUM 應用時擷取
.start(getApplicationContext());
// SDK版本 < 2.0.0
AlibabaCloudRum.withAppID("<your appid>") // AppID,步驟一建立RUM應用時擷取。
.withConfigAddress("<your config address>") // ConfigAddress,步驟一建立RUM應用時擷取。
.start(getApplicationContext());
}
}接入驗證
啟動已經整合了SDK的APK應用,查看Android Studio Logcat日誌,搜尋AlibabaCloudRUM關鍵字(或者過濾 AlibabaCloudRUM 標籤),出現如下log則表示SDK整合成功且資料開始採集。
