前置条件
检查
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 文件查看。