リアルユーザーモニタリング (RUM) は、モバイルアプリケーション向けの包括的なモニタリングを提供します。アプリケーションのパフォーマンス、クラッシュ、カクツキなどの主要メトリックのリアルタイムモニタリングと分析をサポートします。この Topic では、Android アプリケーションを統合する方法について説明します。
前提条件
SDK は Android 7.0 以降をサポートしています。
ステップ 1:SDK の統合
Maven 自動統合 (推奨)
Maven オンライン依存関係を Android Studio プロジェクトの build.gradle 構成スクリプトに追加して、最新バージョンの SDK をインポートします。
プロジェクトのルートディレクトリにある build.gradle 構成スクリプトにプラグインの依存関係を追加します。
buildscript { repositories { mavenLocal() google() mavenCentral() gradlePluginPortal() } dependencies { // Alibaba Cloud ARMS RUM プラグインの依存関係をインポートします。 // 最新バージョンのプラグインをインポートします。最新の SDK バージョンについては、Android SDK のリリースノートをご参照ください。 classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.0.5" } }プロジェクトの app モジュール用の build.gradle 構成スクリプトで、プラグインを有効にし、SDK の依存関係を追加します。
// Alibaba Cloud ARMS RUM プラグインを有効にします。 apply plugin: "com.aliyun.rum" dependencies { // Alibaba Cloud ARMS RUM SDK をインポートします。 // 最新の SDK バージョンは、次の URL から取得します: // https://www.alibabacloud.com/help/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 モジュールディレクトリにコピーします。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 ファイルにクラスパス構成を追加します。
// Gradle のバージョンに関係なく、次の内容を追加します。 buildscript { dependencies { classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.0.3" } } //... その他の構成app モジュールの build.gradle ファイルを開き、AlibabaCloudRUM プラグインと依存関係をインポートします。
apply plugin: "com.aliyun.rum" //... その他の構成 android { //... その他の構成 sourceSets { main { jniLibs.srcDirs = ['libs'] } } //... その他の構成 } dependencies { implementation files('libs/alibabacloud-android-rum-sdk.jar') //... その他の構成 }
ステップ 2:プラグインの構成
app モジュールの build.gradle ファイルに、必要に応じてプラグイン構成を追加します:
AlibabacloudRumExt {
// インストルメント化する必要のないパッケージを除外します。
excludePackages = [
"com.example.internal", // 内部実装パッケージを除外します。
"com.myapp.debug", // デバッグ関連パッケージを除外します。
"com.thirdparty.analytics" // サードパーティの分析 SDK を除外します。
]
}
//... その他の構成ステップ 3:権限の構成
ARMS RUM SDK では、ホストアプリケーションに次の権限を付与する必要があります。
<!-- 必須 -->
<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"/>ステップ 4:難読化の構成
アプリケーションで 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ステップ 5: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("") // RUM アプリケーション作成時に ServiceId を取得します。
.withWorkspace("") // RUM アプリケーション作成時に Workspace を取得します。
.withEndpoint("") // RUM アプリケーション作成時に Endpoint を取得します。
.start(getApplicationContext());
// SDK バージョン < 2.0.0
AlibabaCloudRum.withAppID("<your appid>") // AppID。ステップ 1 で RUM アプリケーションを作成する際に取得します。
.withConfigAddress("<your config address>") // ConfigAddress。ステップ 1 で RUM アプリケーションを作成する際に取得します。
.start(getApplicationContext());
}
}統合の検証
SDK が統合されたアプリケーションを起動し、Android Studio の Logcat でログを表示します。AlibabaCloudRUM キーワードで検索するか、AlibabaCloudRUM タグでフィルターします。次のログエントリが表示された場合、SDK は正常に統合され、データ収集が開始されています。
