使用 SDK

前置条件

  • 检查 rawfile 目录下 mpaas.config 里的移动分析服务端地址 logGW 配置是否正确。

  • 使用移动分析 SDK 之前,需要先初始化 mPaaS 框架 SDK,详情请参考开发指南手册中接入 mPaaS 框架。

添加权限

项目中添加网络权限,代码如下:

 "requestPermissions":[
      {
        "name" : "ohos.permission.GET_NETWORK_INFO"
      },
      {
        "name" : "ohos.permission.INTERNET"
      }
  ]

初始化 MPRemoteLogger

import { MPRemoteLogger } from '@mpaas/masadapter';

MPRemoteLogger.init();

使用接口

App 报活

import { MPRemoteLogger } from '@mpaas/masadapter';

MPRemoteLogger.reportActive();

App 登录报活

import { MPRemoteLogger } from '@mpaas/masadapter';

MPRemoteLogger.reportUserLogin(userId);
重要

在用户 ID 发生变化时调用,以保证埋点的 userId 的更新。

App 启动速度

import { MPRemoteLogger } from '@mpaas/masadapter';
const startupTime = startup; //单位为毫秒
MPRemoteLogger.reportStartupTime(startupTime);

自定义埋点

可使用自定义埋点上报业务埋点,代码如下:

import { MPRemoteLogger } from '@mpaas/masadapter';

let param = new Map<string, string>(); // 可选
param.set('a', 'b');
MPRemoteLogger.logBehavior('myBiz', 'myEventId', param);

性能监控

  • 总初始化接口

    性能监控的总初始化接口,调用之后无需再进行下述的各个(Crash 和 ANR 监控、启动卡死监控)初始化,但是需要在启动完成后调用启动完成通知 MPRemoteLogger.startupFinish()

    import { MPRemoteLogger } from '@mpaas/masadapter';
    
    /**
       * 初始化性能监控埋点(包括 crash 、 anr 、启动卡死)
       * 调用此方法后,无需再调用 initFaultTrack、startPerformanceMonitor 方法
       * 注意:启动完成的时候,需要手动调用 MPRemoteLogger.startupFinish() 方法以通知完成启动
       */
    MPRemoteLogger.initPerformanceTrack();
    
    // App启动完成的时候,调用下述代码通知完成启动
    MPRemoteLogger.startupFinish();
    
    重要

    当您需要选择性接入 Crash 监控、启动卡死监控时,请不要调用总初始化接口,而是根据需求分别调用下述所需的接口。

  • Crash 和 ANR 监控

    需做如下初始化,即可自动化进行 Crash 和 ANR 监控。

    import { MPRemoteLogger } from '@mpaas/masadapter';
    
    MPRemoteLogger.initFaultTrack();
  • 启动卡死监控

    需做如下初始化,即可自动化监控启动卡死。

    import { MPRemoteLogger } from '@mpaas/masadapter';
    
    // App启动时,开启卡死监控
    MPRemoteLogger.startPerformanceMonitor();
    // App启动完成的时候,调用下述代码通知完成启动
    MPRemoteLogger.startupFinish();

页面自动化监控

初始化页面自动化监控。

import { MPRemoteLogger } from '@mpaas/masadapter';

//在自定义的 UIAbility 里调用下述方法初始化页面自动化监控
//示例
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    //全埋点页面自动化初始化
    MPRemoteLogger.initUIAutoTrack(this.context);
}

可选配置

有个性化配置需求时,可以使用下述接口。

  • 埋点开关

    当需要关闭埋点时,可以参考如下设置。

    import { MPRemoteLogger } from '@mpaas/masadapter';
    /**
    * 关闭埋点
    */
    MPRemoteLogger.enableLog(false);
  • 强制触发上报

    import { MPRemoteLogger } from '@mpaas/masadapter';
    /**
    * 强制上报(内存中还未上报的)所有的埋点 (非必要时不要使用, 批量上报埋点有网络资源消耗)
    */
    MPRemoteLogger.uploadAllLog();
  • 通用扩展字段

    设置通用的埋点扩展字段。

    import { MPRemoteLogger } from '@mpaas/masadapter';
    
    MPRemoteLogger.setFoundationExtend('your custom field');
  • 保留已上报的埋点

    当需要保留已上报成功的埋点文件时,请调用下述方法。

    import { MPRemoteLogger } from '@mpaas/masadapter';
    
    MPRemoteLogger.reserveUploadedLog(true);
    说明

    该方法适用于开发测试阶段调试,生产环境包不建议使用。

  • 查看埋点

    当需要查看埋点时,可以在以下手机目录查看: /data/app/el2/100/base/bundleid(替换为应用的 bundleid)/haps/entry/files/mptrack 。

    未上报成功的埋点可在 logs 和 upload 目录中查看;已经上报成功的埋点可在 uploaded 目录查看(前提是开启保留已上报埋点的接口);埋点开关配置可在 logConfig 文件查看。