接入 Android

本文介绍如何快速将移动性能监控(Application Performance Management,APM)组件接入到 Android 客户端。APM 支持原生 AAR、mPaaS Inside 和组件化(Portal & Bundle)三种接入方式。

完整的接入过程分为以下三步:

  1. 添加 SDK
  2. 初始化 mPaaS
  3. 使用性能监控功能

前提条件

  • 确保 mPaaS 基线版本为 10.1.68.33 或以上版本。
  • 若采用原生 AAR 方式接入,需要先 将 mPaaS 添加到项目
  • 若采用 mPaaS Inside 方式接入,需要先完成 mPaaS Inside 接入流程
  • 若采用组件化方式接入,需要先完成 组件化接入流程
  • 如需使用 RPC 性能监控功能,需接入移动网关组件。具体操作参见 接入移动网关服务
  • 如需使用自动化页面性能监控、应用启动速度监控功能、闪退监控功能、卡顿监控功能、卡死监控功能,需接入移动分析组件。具体操作参见 接入移动分析服务
  • 如需使用 H5 性能监控功能,需接入 H5 容器。具体操作参见 接入 H5 容器

添加 SDK

不同接入方式下,SDK 的添加方式略有不同。

原生 AAR 方式

参考 AAR 组件管理,通过 组件管理(AAR)在工程中安装 APM 组件。

mPaaS Inside 方式

在工程中通过 组件管理 安装 APM 组件。更多信息,请参考 添加组件依赖

组件化方式(Portal & Bundle)

在 Portal 和 Bundle 工程中通过 组件管理 安装 APM 组件。更多信息,请参考 添加组件依赖

初始化 mPaaS

  • 如果使用原生 AAR 接入或 mPaaS Inside 接入方式,则需要初始化 mPaaS,即在 Application 对象中添加以下代码。

    1. public class MyApplication extends Application {
    2. @Override
    3. protected void attachBaseContext(Context base) {
    4. super.attachBaseContext(base);
    5. // mPaaS 初始化回调设置
    6. QuinoxlessFramework.setup(this, new IInitCallback() {
    7. @Override
    8. public void onPostInit() {
    9. // 此回调表示 mPaaS 已经初始化完成,mPaaS 相关调用可在这个回调里进行
    10. }
    11. });
    12. }
    13. @Override
    14. public void onCreate() {
    15. super.onCreate();
    16. // mPaaS 初始化
    17. QuinoxlessFramework.init();
    18. }
    19. }
  • 如果使用组件化接入方式,mPaaS 框架会自动初始化,您无需进行任何操作。

使用性能监控功能

开启 RPC 性能监控

如果已经接入了移动网关组件,可以开启 RPC 性能监控。

  1. MPMonitor.enableRpcMonitor();

开启自定义网络性能监控

如果使用了其他第三方或自定义的网络库,可以通过埋点上报网络性能数据。

  1. // 开启自定义网络性能监控开关
  2. MPMonitor.enableNetMonitor();
  3. // 针对每个网络请求,自主上报性能信息
  4. String url = "xxxx.com/test"; // 请求的 URL
  5. long duration = 1234; // 请求耗时,单位为 ms
  6. int responseCode = 200; // 响应码
  7. MPMonitor.recordNetPerf(url, duration, responseCode);

开启自动化页面性能监控

如果已经接入了移动分析组件,并且开启了 自动化日志,APM 将会自动开启自动化页面性能监控。

开启应用启动速度监控

如果已经接入了移动分析组件,可以在应用首页 Activity 的 onCreate() 方法中调用以下接口。

  1. MPLogger.reportLaunchTime(Context context);

开启 H5 性能监控

接入 H5 容器后,H5 容器会自动上报性能监控数据,无需您手动埋点。

开启闪退监控

如果已经接入了移动分析组件,APM 会自动捕获闪退信息并上传日志到服务端,无需处理。

开启卡顿监控

卡顿是指 Android 主线程超过 2.25 秒 仍未执行完一个方法。

接入移动分析组件后,应用的 Activity 需要继承 mPaaS 提供的类 BaseActivityBaseFragmentActivityBaseAppCompatActivity,APM 就能监控这些 Activity 上出现的卡顿。

  • apk 为 debug 包时,卡顿监控为全量统计。
  • apk 为 release 包时,卡顿监控为采样统计,采样率 10%。

开启卡死监控

卡死分为启动卡死和 ANR 卡死两种情况。启动卡死指 App 启动后 30 秒内未能离开欢迎页和进入首页;ANR 卡死指系统 ANR 卡死。

接入移动分析组件后,应用的 Activity 需要继承 mPaaS 提供的类 BaseActivity BaseFragmentActivityBaseAppCompatActivity,APM 就能监控这些 Activity 上出现的卡死。

说明:启动卡死仅 Portal & Bundle 接入方式能监控到。