接入Android应用

ARMS用户体验监控App监控提供了非常全面的移动端应用监控能力,主要包括iOS应用监控和Android应用监控。本文介绍如何将Android应用接入ARMS用户体验监控

前提条件

Android ≥ 8.0

步骤一:创建应用

  1. 登录ARMS控制台

  2. 在左侧导航栏选择用户体验监控 > 应用列表,并在顶部菜单栏选择目标地域。

  3. 应用列表页面单击添加应用

  4. 创建应用面板单击Android

  5. Android面板输入应用名称,并根据需求配置其他参数,然后单击创建

    说明

    应用名称唯一,不能与已创建的应用名称重复。

    创建成功后,当前应用将会自动生成对应的ConfigAddress(上报地址)和AppID。

步骤二:集成SDK

Maven自动集成(推荐)

Android Studio工程的build.gradle配置脚本中添加Maven线上依赖,并导入最新版本的SDK。

  1. 在工程根目录下的build.gradle配置脚本中添加插件依赖。

    buildscript {
      repositories {
        mavenLocal()
        google()
        mavenCentral()
        gradlePluginPortal()
      }
      
      dependencies {
            // 导入阿里云 ARMS RUM 插件依赖
            // 建议导入最新版本插件,最新版本SDK说明请参见Android SDK版本说明文档
        classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:1.0.5"
      }
    }
  2. 在工程App模块对应的build.gradle配置脚本中启用插件并添加SDK依赖。

    // 启用阿里云 ARMS RUM 插件
    apply plugin: "com.aliyun.rum"
    
    dependencies {
      // 导入阿里云 ARMS RUM SDK
      // 建议导入最新版本插件,最新版本SDK说明请参见Android SDK版本说明文档
      implementation("com.aliyun.rum:alibabacloud-android-rum-sdk:1.0.5")
    }

手动集成

  1. 下载SDK并解压。

    解压.zip文件后得到如下内容:

    • libs文件夹,包含必须的jar包和jni

    • repo文件夹,包含必须的插件

  2. 配置工程。

    1. 复制repo文件夹到项目根目录,复制libs文件夹到App Module目录。

      image

    2. 打开项目根目录下的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')
              }
              //... 其他配置
          }
      }
      //... 其他配置
    3. 在项目根目录下的build.gradle文件中,加入classpath配置。

      // 不区分Gradle版本,添加下面内容
      buildscript {
          dependencies {
              classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:1.0.0"
          }
      }
      //... 其他配置
    4. 打开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')
          //... 其他配置
      }

步骤三:权限配置

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

请在自定义ApplicationonCreate函数首行添加以下代码。

import com.alibabacloud.rum.AlibabaCloudRum;

public class YourApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    AlibabaCloudRum.withAppID("<your appid>") // AppID,步骤一创建RUM应用时获取。
      .withConfigAddress("<your config address>") // ConfigAddress,步骤一创建RUM应用时获取。
      .start(getApplicationContext());
  }
}

接入验证

启动已经集成了SDKAPK应用,查看Android Studio Logcat日志,搜索AlibabaCloudRUM关键字(或者过滤 AlibabaCloudRUM 标签),出现如下log则表示SDK集成成功且数据开始采集。

image

合规说明

应用的数据合规非常重要,您须确保按照当前法律法规或监管要求使用用户体验监控SDK服务,为避免因数据合规问题导致的应用下架,请您务必做好以下三步:

  1. 请务必确保您已经将用户体验监控SDK升级到满足监管新规的最新版本。

  2. 请务必在《隐私权政策》中向用户告知使用了用户体验监控SDK,参考条款如下:

    使用SDK名称:用户体验监控SDK

    服务类型:SDK服务

    使用目的:采集应用体验数据,用于应用性能问题统计与分析

    收集个人信息类型:用户信息、应用信息、设备信息、流量信息、设备状态信息、网络状态信息

    隐私权政策链接:https://terms.alicdn.com/legal-agreement/terms/privacy_policy_full/20240308104330389/20240308104330389.html

  3. 请务必做延迟初始化配置,确保用户授权《隐私权政策》后再初始化用户体验监控SDK。

    请您务必按照如上提示合规使用用户体验监控SDK服务,因您未合规使用SDK服务所导致的风险由您自行承担,并承担因此对用户体验监控带来的损失。

更多说明,请参见用户体验监控SDK隐私合规书写说明