鸿蒙Next SDK

更新时间:
复制为 MD 格式

添加网页链接

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文件位置

image

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

网络

实时上报