使用uts开发,调用QuickTracking性能体验SDK相关接口,实现QuickTracking原生APM能力在uniapp平台上进行扩展。
1.下载插件
平台兼容性
Android | iOS |
适用版本区间:4.4 - 向上兼容 | 适用版本区间:9 - 向上兼容 |
引入&配置SDK:
1.1 单击下载插件并导入HBuilderX

1.2 勾选需要集成原生插件的项目

1.3 插件使用说明
在使用插件前您需要在Quick Tracking平台中获取专属的埋点Appkey和收数域名

1.4 Android SDK初始化前置操作
因SDK需要Applicaiton.onCreate函数中调用预初始化函数QtConfigure.preInit(),预初始化函数不会采集设备信息
需要您修改对应module中的index.uts文件,如图:

重要
uts插件基于uni-app-x进行适配的,如果遇到无法初始化等问题,请使用 index.uts替换掉原有Android中的index.uts文件
1.5 鸿蒙Next SDK初始化前置操作
因架构限制需要在应用侧stage中进行SDK的预初始化
需要您修改对应module中的index.uts文件,如图:

2.SDK API
2.1 SDK初始化
App.uvue
<script>
// #ifdef APP
import * as QtAnalytics from '@/uni_modules/QT-Analytics';
import { initWithConfig, ApmConfig } from '@/uni_modules/QT-APM';
// #endif
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
// #ifdef APP-ANDROID || APP-HARMONY
QtAnalytics.init()
// #endif
// #ifdef APP-IOS
QtAnalytics.setCustomDomain('您的收数服务域名', '您的备用收数服务域名');
QtAnalytics.initWithAppkey('您应用的appkey', '应用市场');
// #endif
const apmConfig : ApmConfig = {
crashAndBlockMonitorEnable: true,
sendBeatInterval: 30,
initSendPVEnable: true,
};
initWithConfig(apmConfig);
}
}
</script>H5集成方式请参考文档:Web SDK
小程序集成方式请参考文档:小程序 SDK
2.2 接口相关
1. 配置功能开关
export type ApmConfig = {
// java crash捕获(Android)
enableCrashJava ?: boolean,
// native crash捕获(Android)
enableCrashNative ?: boolean,
// ANR捕获(Android)
enableAnr ?: boolean,
// 卡顿捕获(Android)
enablePa ?: boolean,
// 卡顿捕获时间(Android)
paTimeOut ?: number,
// 启动监控(Android)
enableLaunch ?: boolean,
// 内存监控(Android)
enableMemory ?: boolean,
// App与H5打通开关(Android)
enableH5 ?: boolean,
// 日志回捞(Android)
enableCodeLog ?: boolean,
// 日志回捞用户标识(Android)
logUserId ?: string,
// 冷起PV上报开关(Android)
enableSendPv ?: boolean,
// 启动模块监控开关(iOS)
launchMonitorEnable ?: boolean,
// 内存模块监控开关(iOS)
memMonitorEnable ?: boolean,
// 网络模块监控开关(iOS)
networkEnable ?: boolean,
// H5打通模块开关(iOS)
javaScriptBridgeEnable ?: boolean,
// OOM模块监控开关(iOS)
oomMonitorEnable ?: boolean,
// 原生页面模块监控开关(iOS)
pageMonitorEnable ?: boolean,
// 初始化主动发送PV(iOS)
initSendPVEnable ?: boolean,
// 用于前后端链路打通(iOS)
rumConfig ?: string,
// crash&卡顿监控开关(iOS)
crashAndBlockMonitorEnable ?: boolean,
// 卡顿监控参数:发送检测心跳的时间间隔(iOS)
sendBeatInterval ?: Number,
// 卡顿监控参数:检测卡顿的时间间隔(iOS)
checkBeatInterval ?: Number,
// 卡顿监控参数:连续多少次没心跳 认为触发卡顿(iOS)
toleranceBeatMissingCount ?: Number,
}示例:
const apmConfig : ApmConfig = {
crashAndBlockMonitorEnable: true,
sendBeatInterval: 30,
initSendPVEnable: true,
};2. 崩溃回调
export function registerUMCrashCallback(callback : QTCrash) {
const crashCall = new QTCrashCallback(callback);
UMCrash.registerUMCrashCallback(crashCall)
}3. 自定义异常
export function generateCustomLog(e : string, type : string)4. APP应用内H5页面的APM功能
export function enableJavaScriptBridge(view : WebView)5. 日志回捞(安卓)
export class QTlog该文章对您有帮助吗?