HarmonyOS SDK 接入

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

前言

本SDK基于HarmonyOS API 12开发,compatibleSdkVersion为5.0.0(12)。

准备工作

  1. 请参考HarmonyOS应用开发文档准备HarmonyOS应用开发环境。

  2. 请参考Native应用开发流程创建鸿蒙应用,在应用设置中查看AppKey和AppSecret。

第一步:安装SDK

在HarmonyOS应用根目录执行以下命令来安装SDK:

ohpm install @aliyun/apm

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

第二步:初始化SDK、启动崩溃分析

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

说明

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

import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { EMAS_APM_Config, APM, ILogger } from '@aliyun/apm'



// 如果要定义自定义日志,这里要通过class 实现ILogger interface
@Sendable
class CustomLog implements ILogger {
  log(level: hilog.LogLevel, msg: string): void {
    console.log(`自定义log level:${level} msg:${msg}`);
  }
}

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

    // APM 初始化参数
    const apm_config = new EMAS_APM_Config({
      context: this.context,
      appKey: 'appKey参数',
      appSecret: 'appSecret参数',
      channel: 'channel参数',
      nick: 'nick参数',
      hilog: true, // SDK hilog 开关
      customLogger: new CustomLog() // SDK 自定义日志
    });

    // SDK 初始化操作
    APM.init(apm_config);

    // SDK 开启监控
    APM.start();
  }
  
  // 省略其它代码
 }

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

第三步:接入验证

SDK接入完成后,需进行功能验证:

  1. 编写测试代码,模拟/触发移动端崩溃。例如:

     //数组越界
      let tempList = ['a', 'b']
      hilog.info(0x0000, 'apm', 'jsCrash %s', tempList[3].toString())
  2. 重启移动端,大概2分钟后在控制台查看是否显示崩溃信息。

    说明

    崩溃数据从采集到上传到控制台显示,存在大约2~3分钟延迟。