更新时间:2024-12-20 GMT+08:00
分享

Harmony SDK接入

APM Harmony SDK拥有以下应用监控能力:采集上报App崩溃、卡顿、错误信息、网络请求、终端设备、自定义事件等。

支持平台

API 12及以上。

传输协议

HTTPS

版本更新说明

sdk如何处理个人信息请参考华为云应用性能分析服务数据采集SDK隐私声明

您集成和使用华为的sdk时需要遵从个人信息保护基本要求,详情请参考华为云应用性能分析服务数据采集SDK开发者合规指南

表1 版本更新说明

版本号

SDK下载地址

更新说明

系统

2.0.3

SDK下载

  1. 添加参数校验;
  2. 添加调试日志。

API 12 及以上

2.0.2

SDK下载

  1. 解除SDK中对其他包的依赖。

API 12 及以上

2.0.1

SDK下载

  1. 提供采集上报App启动性能、崩溃、卡顿、错误、网络请求、终端设备、自定义上报等应用监控能力。

API 12 及以上

集成SDK

  1. 项目引入Harmony SDK。

    方法一:从Harmony仓库拉取SDK。

    • 使用如下命令,从Harmony仓库拉取SDK。
       ohpm install apm_harmony_sdk
    • 配置文件中添加依赖并引入SDK。
      在app/oh-package.json5中添加依赖
        dependencies {
          ...
          "apm_harmony_sdk": "2.0.1"
          ...
         }
      
        // 在终端中运行以下命令安装SDK
        ohpm install

    方法二:手动引入SDK。

    1. 下载应用性能监控SDK包
    2. 将下载到的har静态库文件添加到您的项目工程中(以下以根目录下的plugin文件夹为例)。
    3. 在app/oh-package.json5文件中添加依赖。
      dependencies {
            ...
            "apm_harmony_sdk": "file:../plugin/apm_harmony_sdk.har" // HAR包存放地址
            ...
          }
    4. 在终端中运行以下命令使能SDK。
      ohpm install

  2. 数据上报与获取网络状态需要在module.json5中打开相关权限,文件路径application->src->main->module.json5。

    "requestPermissions":[
          {
            "name": "ohos.permission.INTERNET"
          },
          {
            "name": "ohos.permission.GET_NETWORK_INFO"
          }
        ],

配置参数

  1. 登录APM控制台,创建Harmony App应用,详细操作参见Harmony快速接入
  2. 下载配置文件apm-sdk-config.json,并将文件拖入项目资源目录中,文件路径src->main->resources->rawfile。

    表2 鸿蒙配置参数列表

    配置参数

    说明

    是否必填

    默认值

    appId

    APM移动端AppID

    -

    authorization

    用于App认证

    -

    region

    上报APM所处的region,目前支持cn-north-4

    -

    uid

    用户自定义ID

    -

    tag

    用户自定义标签,多个时使用英文逗号隔开

    -

    url

    要上报APM的公网地址域名

    -

    networkWhiteList

    网络监控白名单,排除监控

    -

    cacheThreshold

    上报缓存阈值

    200

    timeInterval

    定时上报时间间隔

    60

    reportBackground

    是否开启App进入后台时上报

    true

    logLevel

    调试日志等级:debug|info|warn|error|off

    off

    enableNetwork

    使能网络采集

    false

    enableCrash

    使能崩溃采集

    false

    enableANR

    使能卡顿采集

    false

    enableError

    使能错误采集

    false

    enableDevice

    使能终端设备采集

    false

    enableEvent

    使能用户自定义统计

    false

    traceType

    trace类型:otel\apm

    apm

SDK使能

  1. 引入依赖模块。

    import { APMSDK } from "apm_harmony_sdk";

  2. 启动及自定义参数设置。

    // 启动SDK,在onCrate函数中添加以下代码:
     APMSDK.start(this.context.getApplicationContext());
    
     // 设置自定义ID
     APMSDK.setUid(自定义ID);
    
     // 设置自定义标签
     APMSDK.addTag(自定义标签);

其他方法

  1. 自定义上报错误数据。

    // 在try...catch...中添加捕获错误并上报到APM平台
     // 1.捕获Error类型
     import { APMSDK } from "apm_harmony_sdk";
     try {
       ...
     } catch(e) {
       APMSDK.reportError(e);
     }
     // 2.捕获BusinessError类型
     const response = await session.fetch(request).then((rep: rcp.Response) => {
        ...
     }).catch((err: BusinessError) => {
        ...
        APMSDK.reportBusinessError(err);
     });

  2. 使用rcp拦截器,上报API数据到APM平台。

    // 代码示例:
     import { APMRcpInterceptor, ResponseCache } from "apm_harmony_sdk";
     async function testInterceptor() {
      const cache: ResponseCache = new ResponseCache();
      const session = rcp.createSession({
        interceptors: [new APMRcpInterceptor(cache)]
      });
      const response = await session.get('上报地址');
    }

  3. 自定义埋点,主动上报数据。

    // 添加自定义事件
     APMSDK.event(自定义事件名, 自定义事件值);

相关文档