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则表示嵌码成功且数据开始采集。