阿里云首页 移动开发平台 mPaaS 相关技术圈

接入 Android

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

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

  1. 添加 SDK

  2. 初始化 mPaaS

  3. 使用性能监控功能

前提条件

  • 确保 mPaaS 基线版本为 10.1.68.44 或以上版本。

  • 已将 mPaaS 接入到工程,不同接入方式的操作不同:

  • 如需使用 RPC 性能监控功能,需接入移动网关组件。具体操作参见 接入移动网关服务

  • 如需使用自动化页面性能监控、应用启动速度监控功能、闪退监控功能、卡顿监控功能、卡死监控功能,需接入移动分析组件。具体操作参见 接入移动分析服务

  • 如需使用 H5 性能监控功能,需接入 H5 容器。具体操作参见 接入 H5 容器

  • 如需使用小程序性能监控功能,需接入小程序。具体操作参见 接入小程序

添加 SDK

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

原生 AAR 方式

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

mPaaS Inside 方式

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

组件化方式(Portal & Bundle)

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

初始化 mPaaS

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

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

使用性能监控功能

开启 RPC 性能监控

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

MPMonitor.enableRpcMonitor();

开启自定义网络性能监控

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

// 开启自定义网络性能监控开关
MPMonitor.enableNetMonitor();

// 针对每个网络请求,自主上报性能信息
String url = "xxxx.com/test"; // 请求的 URL
long duration = 1234; // 请求耗时,单位为 ms
int responseCode = 200; // 响应码
MPMonitor.recordNetPerf(url, duration, responseCode);

开启自动化页面性能监控

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

开启应用启动速度监控

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

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 提供的类 BaseActivityBaseFragmentActivityBaseAppCompatActivity,APM 就能监控这些 Activity 上出现的卡死。

说明

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

开启小程序监控

接入小程序后,小程序会自动上报性能监控数据,无需您手动埋点。