基础 API

本文介绍SDK基础API

1. 初始化

功能描述

移动监控SDK初始化基础配置项,启动SDK。

接口定义

定义如下:

export declare namespace APM {
  /**
   * @aliyun/apm 2.0.0 对外的接口, 功能为APM初始化, config为APM所有子产品公共配置, products为要初始化的子产品, 当前支持崩溃分析、性能分析
   * @param config
   * @param products
   */
  function init(config: APMConfig, products?: IPlugin[]): void;
  /**
   * APM 启动监控
   */
  function start(): void;
}

代码示例

构造SDK初始化入参(初始化配置对象)。示例代码如下:

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();

  }

  // 省略其它代码
}

其中APMConfig配置各参数含义如下:

参数

说明

context

应用上下文

【数据类型】Context对象

【是否必选】是

【是否可为空】否

【默认值】无

appKey

用于指定AppAppKey

【数据类型】字符串

【是否必选】是

【是否可为空】否

【默认值】无

appSecret

用于指定AppAppSecret

【数据类型】字符串

【是否必选】是

【是否可为空】否

【默认值】无

channel

用于设置渠道标识,上报至服务端,进行渠道区分

【数据类型】字符串

【是否必选】否

【是否可为空】是

【默认值】无

nick

用于设置用户昵称,上报至服务端,进行用户区分。后续可能依据该参数,进行数据检索

【数据类型】字符串

【是否必选】否

【是否可为空】是

【默认值】无

userId

用于设置用户ID,上报至服务端,进行用户区分。后续可能依据该参数,进行数据检索

【数据类型】字符串

【是否必选】否

【是否可为空】是

【默认值】无

hiLog

SDKhilog日志开关

【数据类型】布尔型

【取值范围】true/false

【是否必选】否

【是否可为空】是

【默认值】false

customLogger

SDK日志导出接口

【数据类型】Logger接口对象

【是否必选】否

【是否可为空】是

【默认值】无

2. 设置用户id、nick

功能描述

支持在SDK运行时修改APMConfig中的userId、nick信息。

接口定义

定义如下:

export declare namespace APM {
  /**
   * 修改userId、userNick
   */
   function setUserId(id: string): void;
   
   function setUserNick(nick: string): void;
}

代码示例

APM.setUserId("id");

APM.setUserNick("nick");