SDK基本信息
SDK名称 | 版本号 | md5 | 包名 |
QuickTracking 鸿蒙Next APM SDK插件(必须) | 最新版本:1.0.0 | ec3a773b943f959a8fac0ea4f5748627 | @quicktracking/apm |
SDK接入流程概览
步骤 | 集成内容 | 本文中的位置 | 是否必选 |
第一步 | SDK获取 | 查看文档「第1步下载SDK」 | 必选 |
第二步 | SDK集成 | 接入鸿蒙Next 性能体验SDK需要先集成统计分析SDK参考「引入&配置SDK」 | 必选 |
第三步 | 设置初始化参数 | 查看文档 【2.2SDK初始化】部分 | 必选 |
目前鸿蒙Next SDK 只支持离线接入,离线包获取请点击Harmony_QT_APM-SDK1.0.0.zip
1. 引入SDK
系统 API 要求,HarmonyNext API 12及以上,目前仅支持普通应用的Stage模型,暂不支持元服务
1.1 离线安装SDK
引入离线版本鸿蒙SDK
{
...
"dependencies": {
"@quicktracking/common": "file:./lib/common.har", // 必备基础组件
"@quicktracking/analytics": "file:./lib/qt_tongji.har", // 日志上报组件
"@quicktracking/apm": "file:./lib/qt_apm.har", // 性能体验组件
},
...
}
SDK文件位置

2. 基础集成
2.1 集成代码明细
鸿蒙Next性能体验SDK 依赖QuickTracking 统计分析SDKv2.1.6+及以上版本,在使用前请确保已经成功集成QuickTracking 统计SDK,并进行了SDK初始化,详情可参考鸿蒙Next SDK。
2.2 SDK初始化
SDK初始化依赖@quicktracking/common@quicktracking/analytics@quicktracking/apm 三个插件的初始化,同时进行日志上报与性能体验的SDK插件的初始化参考:
import AbilityStage from '@ohos.app.ability.AbilityStage';
import * as QT from '@quicktracking/analytics';
import { ApmPlugin, QTAPMConfig } from '@quicktracking/apm';
QT.setLogEnabled(true);
QT.setTrackDomain("收数域名", "备用收数域名")
export default class MyAbilityStage extends AbilityStage {
onCreate() {
const applicationContext = this.context.getApplicationContext()
new QT.InternalPlugin().pluginVersion
const apmConfig = new QTAPMConfig()
apmConfig.enableCrashMonitor = true; // 是否开启Crash监听
apmConfig.enableANRMonitor = true; // 是否进行APP freeze的监听
apmConfig.enableNetWorkMonitor = true; // 是否监听网络
QT.preInit({
appKey: "你的appkey",
context: applicationContext,
...
plugins: [new QT.InternalPlugin({
reportInterval: 4,
}),new ApmPlugin(this.context.getApplicationContext(), apmConfig)],
});
// 请在用户同意隐私协议后进行初始化
QT.init();
}
}插件说明:
void ApmPlugin(context: Context, config: QTAPMConfig)参数说明:
参数 | 类型 | 默认值 | 含义 | 备注 |
context | ApplicationContext | undefined | 操作句柄 | 必传 |
config | QTAPMConfig | null | APM插件配置 | 必传 |
配置参数及说明:
// 快速AB测试接口
export class QTAPMConfig {
enableCrashMonitor: boolean = false;
enableANRMonitor: boolean = false;
enableNetWorkMonitor: boolean = false;
}
开关说明
参数 | 含义 |
enableCrashMonitor | 用于开启Crash 和JSError 捕获,默认为false可设置为true进行开启 |
enableANRMonitor | 用于开启APP Freeze捕获,默认为false可设置为true进行开启 |
enableNetWorkMonitor | 用于开启网络监控功能,默认为false可设置为true进行开启 |
3. 网络监控
网络监控支持对import http from '@ohos.net.http'的request网络请求进行监控。
网络监控开关
apmConfig.enableNetWorkMonitor = true;通过HttpMonitor设置网络监控
const monitor = new HttpMonitor(url, option);
httpRequest.request(
url,
option,
(err: Error, data: http.HttpResponse) => {
monitor.setResponse(err, data)
if (!err) {
this.responseText = `状态码: ${data.responseCode}\n响应内容:\n${data.result}`;
} else {
this.responseText = `POST 请求失败: ${err.message}`;
}
}
);4. 上报策略
错误类型 | 上报策略 |
ArkTs异常 | 崩溃产生后不会立即上报,需下次启动后收到系统日志后进行上报 |
Native异常 | |
ANR | |
网络 | 实时上报 |