HarmonyOS SDK接入

本章节介绍了HarmonyOS SDK的接入方法。

一、前提条件

  1. 请参考HarmonyOS应用开发文档准备HarmonyOS应用开发环境,本SDK基于HarmonyOS API 12开发,compatibleSdkVersion5.0.0(12)。

  2. 请参考Native应用创建鸿蒙应用,在应用设置中查看AppKeyAppSecret。

  3. 如已经接入1.0.0版本SDK,请参考HarmonyOS SDK升级指南

二、将SDK添加到您的应用

HarmonyOS应用根目录执行以下命令来安装SDK,其中apm包必须安装,根据崩溃和性能功能的需求,选择安装apm_crashapm_perf:

ohpm install @aliyun/apm
ohpm install @aliyun/apm_crash
ohpm install @aliyun/apm_perf

ohpm工具及更多关于OpenHarmony安装第三方SDK的信息请参考OpenHarmony三方库中心仓说明

三、使用SDK

1. 初始化

Ability onCreate生命周期回调中执行以下代码初始化配置SDK:

说明

建议SDK初始化代码段,放在所有业务代码之前,确保App在启动时,优先加载移动监控服务,保障后续的崩溃、性能信息,可以即时获取并上传至控制台。

import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { APM, APMConfig, Logger } from '@aliyun/apm';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { crashAnalysisApi } from '@aliyun/apm_crash';
import { performanceApi } from '@aliyun/apm_perf';

class MyCustomLog implements Logger {
  print(domain: number, tag: string, level: hilog.LogLevel, msg: string): void {
    switch (level) {
      case hilog.LogLevel.DEBUG:
        console.debug(`自定义log msg:${msg}`);
        break;
      case hilog.LogLevel.INFO:
        console.info(`自定义log msg:${msg}`);
        break;
      case hilog.LogLevel.WARN:
        console.warn(`自定义log msg:${msg}`);
        break;
      case hilog.LogLevel.ERROR:
      case hilog.LogLevel.FATAL:
        console.error(`自定义log msg:${msg}`);
        break;
    }
  }
}

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');

    const apm_config: APMConfig = {
      context: this.context,  // 必填
      appKey: 'appKey参数',    // 必填
      appSecret: 'appSecret参数',  // 必填
      nick: '用户昵称参数',  // 可选
      userId: '用户ID参数',  // 可选
      channel: '用户渠道参数',  // 可选
      hiLog: true, // SDK内的hilog开关,可选
      customLogger: new MyCustomLog(), // 自定义日志接口,可选
    }
    // init时根据实际使用功能选择崩溃、性能Api
    APM.init(apm_config, [crashAnalysisApi, performanceApi])
    APM.start();

  }

  // 省略其它代码
}

其中appKey,appSecret请配置为在准备工作中获取的AppKeyAppSecret。

四、接入验证

接入完成后启动应用,在Log中设置日志级别为Debug,可以查看SDK日志输出结果进行验证。

1. 验证崩溃分析接入

可以在Log中看到以下关键日志:

I  自定义log msg:Crash SDK init succeeded
I  自定义log msg:Crash SDK start success

2. 验证性能分析接入

可以在Log中看到以下关键日志:

I  自定义log msg:Perf SDK init succeeded
I  自定义log msg:Perf SDK start success

五、扩展资料