You need to enable JavaScript to run this app.
导航

应用接入Harmony SDK

最近更新时间2024.04.18 20:33:55

首次发布时间2024.04.18 19:56:47

本文介绍Harmony SDK的详细接入步骤。接入SDK后,即可在应用性能监控全链路版平台上使用相关分析功能。

注意事项

  • Harmony SDK目前仅限在中国大陆应用使用(不包括港澳台地区)。
  • 调用SDK初始化接口不会采集用户信息,调用SDK启动接口会开始采集用户信息,请确保采集用户信息之前已经获得用户授权SDK隐私政策
  • 目前仅支持离线包接入,请单击此处提交工单获取har包。

步骤一:获取SDK包,引入依赖

  1. 把har包拷贝到工程中,如entry/libs目录下。
  2. 在主入口module的oh-package.json5文件中,添加离线har包依赖。
    "dependencies": {
      "@hpem/apmplus_crash": "file:libs/apmplus_crash_x.x.x.har"
    }
    

步骤二:初始化SDK并开启监控

注意

初始化SDK阶段,不获取用户个人信息。

  1. 在AbilityStage的onCreate中,添加以下代码,初始化崩溃相关功能。

    import {MonitorCrash, Config } from '@hpem/apmplus_crash';
    /**
    * 入口module的module.json5中配置的srcEntry
    */
    export default class EntryAbilityStage extends AbilityStage {
    
      let mMonitor:MonitorCrash|undefined = undefined;
      // 应用的HAP在首次加载时,为该Module初始化
      onCreate(): void {
        this.initCrashMonitor(this.context);
      }
    
    
      onAcceptWant(want: Want) {
        return "EntryAbilityStage";
      }
    
      onMemoryLevel(level: AbilityConstant.MemoryLevel): void {
      }
      
      initCrashMonitor(context: Context) {
          let config:Config.Config = Config.app({{AppId}}) // AppId为string类型
              .token({{AppToken}})// 设置鉴权token,可从平台应用信息处获取,token错误无法上报数据
              .channel(CHANNEL) // 应用渠道,string类型
              .versionCode(100) // 可选,number类型
              .versionName('1.0.0') // 可选,string类型
              .dynamicParams({ // 可选
                getDeviceId() {
                  return DID; // string类型,不设置默认生成本地id
                },
                getUserId() {
                  return UID; // string类型,不设置默认为空
                }
              })
              // .debug(true) // 控制是否输出日志
              .autoStart(false) // 控制是否在初始化时自动开启监控,默认为true
              .build();
        this.mMonitor = MonitorCrash.init(context, config);
        // 在用户同意隐私协议后开启监控,未设置autoStart或者autoStart传true时不需要调用
        // this.mMonitor.start();
    }
    

    说明

    • Context建议传递ApplicationContext。
    • versionCode为数字版本号,例如100;versionName为字符版本号,例如"1.0.0"。
    • 初始化返回的MonitorCrash实例为后续配置的入口。
    • 避免重复调用初始化方法。
    • AppID和AppToken获取方法,请参见如何查询AppID和AppToken?
  2. 启动崩溃监控,开始收集数据。

    注意

    请在用户同意隐私政策后,再调用方法收集数据。

    // 启动监控
    // 当初始化时autoStart传入false设置为初始化时不自动开启监控,需要在合适的位置调用start方法开启监控;
    // 如果初始化时未设置autoStart参数或者设置为true,将自动开启监控,不需要调用start方法。
    
     this.mCrash?.start();