SDK基本信息
SDK名称:Quick Tracking 鸿蒙 Next 性能体验 SDK
SDK包含插件名称 | 版本号 | md5 | 包名 | 离线包下载 |
Quick Tracking 鸿蒙 Next 性能体验 SDK插件(必须) | 最新版本:1.0.1 | af4a8e8b722e4f4921a935abd5a9e2eb | @quicktracking/apm |
个人信息处理规则:(面向SAAS使用)隐私权政策
开发者:瓴羊智能科技有限公司
主要功能说明:应⽤性能稳定是良好⽤户体验中⾮常关键的⼀环,⽽现实情况却是应⽤崩溃、卡顿、加载缓慢、⻚⾯⽩屏等问题,频频出现在⽤户的真实体验之中,成为影响业务表现的直接杀⼿。为了更好保障应⽤性能稳定,产研团队在整个开发周期与线上运营阶段都⾯临诸多痛点,亟需⾼效便捷的应对解决。Quick Tracking 鸿蒙 Next 性能体验 SDK 通过轻量级的集成接⼊即可拥有实时、可靠、全⾯的应⽤崩溃、ANR、⾃定义异常等捕获能⼒,及卡顿、启动分析等性能的能⼒,⽀持多场景、多通道智能告警监控,帮助开发者⾼效还原异常、卡顿⽤户的访问路径和业务现场,缩短故障排查时间。
SDK接入流程概览
步骤 | 集成内容 | 本文中的位置 | 是否必选 |
第一步 | SDK获取 | 查看文档「第1步下载SDK」 | 必选 |
第二步 | SDK集成 | 接入鸿蒙Next 性能体验SDK需要先集成统计分析SDK参考「引入&配置SDK」 | 必选 |
第三步 | 设置初始化参数 | 查看文档 【2.2SDK初始化】部分 | 必选 |
目前鸿蒙Next SDK 只支持离线接入,离线包获取请点击Harmony_QT_APM-SDK1.0.1.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()
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 | |
网络 | 实时上报 |