基础 API

本文档介绍移动监控 iOS SDK 提供的基础 API,包括启动 SDK 、更新用户ID和昵称、获取 SDK 版本号和调整日志级别

1. 启动SDK

使用配置选项options启动 SDK。

接口定义

#import "AlicloudApmCore/AlicloudApmCore.h"

+ (void)startWithOptions:(EAPMOptions *)options;
#import "AlicloudApmCore/AlicloudApmCore.h"

class func start(options: EAPMOptions)

EAPMOptions参数说明

参数

类型

是否必填

说明

appKey

NSString

应用监控服务的 appKey

appSecret

NSString

应用监控服务的 appSecret

appRsaSecret

NSString

应用监控服务的 appRsaSecret

sdkComponents

NSArray<Class<

EAPMSDKComponent>>

应用监控 SDK加载的业务组件

崩溃分析:[EAPMCrashAnalysis class]

性能分析:[EAPMPerformance class]

远程日志:[EAPMRemoteLog class]

userId

NSString

用户ID,建议保持唯一,字符串最大长度不超过128

userNick

NSString

用户昵称,字符串最大长度不超过128

channel

NSString

渠道标识

代码示例

#import "AlicloudApmCore/AlicloudApmCore.h"
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"
#import "AlicloudApmRemoteLog/AlicloudApmRemoteLog.h"

EAPMOptions *options = [[EAPMOptions alloc] initWithAppKey:@"您的AppKey"
                                                 appSecret:@"您的AppSecret"];
options.appRsaSecret = @"您的AppRsaSecret";
options.sdkComponents = @[[EAPMCrashAnalysis class], [EAPMPerformance class], [EAPMRemoteLog class]];

options.userId = @"userId";
options.userNick = @"userNick";
options.channel = @"channel";

[EAPMApm startWithOptions:options];
#import "AlicloudApmCore/AlicloudApmCore.h"
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"
#import "AlicloudApmRemoteLog/AlicloudApmRemoteLog.h"

let options = EAPMOptions(
    appKey: "您的AppKey",
    appSecret: "您的AppSecret",
    // 以下sdkComponents分别对应崩溃分析、性能分析和远程日志,可按需裁剪
    sdkComponents: [CrashAnalysis.self, Performance.self, RemoteLog.self]
)

options.userId = "userId"
options.userNick = "userNick"
options.channel = "channel"
options.appRsaSecret = "您的AppRsaSecret"

EAPMApm.start(options: options)
        

2. 更新用户ID

接口定义

#import "AlicloudApmCore/AlicloudApmCore.h"

- (void)setUserId:(NSString *)userId;
#import "AlicloudApmCore/AlicloudApmCore.h"

func setUserId(userId: String)

参数说明

参数

类型

是否必填

说明

userId

NSString

用户ID,建议保持唯一,字符串最大长度不超过128

代码示例

#import "AlicloudApmCore/AlicloudApmCore.h"

[[EAPMApm defaultApm] setUserId:@"userId"];
#import "AlicloudApmCore/AlicloudApmCore.h"

EAPMApm.apm().setUserId("userId")

3. 更新用户昵称

接口定义

#import "AlicloudApmCore/AlicloudApmCore.h"

- (void)setUserNick:(NSString *)userNick;
#import "AlicloudApmCore/AlicloudApmCore.h"

func setUserNick(userNick: String)

参数说明

参数

类型

是否必填

说明

userNick

NSString

用户昵称,字符串最大长度不超过128

代码示例

#import "AlicloudApmCore/AlicloudApmCore.h"

[[EAPMApm defaultApm] setUserNick:@"userNick"];
#import "AlicloudApmCore/AlicloudApmCore.h"

EAPMApm.apm().setUserNick("userNick")

4. 获取SDK版本号

通过以下 API 获取 SDK 的版本号

接口定义

#import "AlicloudApmCore/AlicloudApmCore.h"

NSString *EAPMVersion(void);
#import "AlicloudApmCore/AlicloudApmCore.h"

func EAPMVersion() -> String

代码示例

#import "AlicloudApmCore/AlicloudApmCore.h"

NSString *apmVersion = EAPMVersion();
#import "AlicloudApmCore/AlicloudApmCore.h"

let apmVersion: String = EAPMVersion()

5. 调整SDK日志级别

设置或者获取SDK日志级别,默认日志打印级别是信息级别EAPMLoggerLevelInfo。

接口定义

#import "AlicloudApmCore/AlicloudApmCore.h"

/**
 * 设置EAPM SDK日志级别
 *
 * @param loggerLevel 日志级别,默认级别是EAPMLoggerLevelNotice.
 */
- (void)setLoggerLevel:(EAPMLoggerLevel)loggerLevel;

/**
 * 返回EAPM日志级别
 */
- (EAPMLoggerLevel)loggerLevel;
#import "AlicloudApmCore/AlicloudApmCore.h"

/**
 * 设置EAPM SDK日志级别
 *
 * @param loggerLevel 日志级别,默认级别是EAPMLoggerLevelNotice.
 */
func setLoggerLevel(loggerLevel: EAPMLoggerLevel)

func EAPMSetLoggerLevelNotice()
func EAPMSetLoggerLevelWarning()
func EAPMSetLoggerLevelError()
func EAPMSetLoggerLevelDebug()

/**
 * 返回EAPM日志级别
 */
func loggerLevel() -> EAPMLoggerLevel

EAPMLoggerLevel枚举说明

参数

说明

EAPMLoggerLevelError

错误级别,表示严重的错误信息。

EAPMLoggerLevelWarning

警告级别,表示潜在的问题或异常情况。

EAPMLoggerLevelNotice

通知级别,表示正常的但值得注意的事件。

EAPMLoggerLevelInfo

信息级别,表示一般性的运行信息。

EAPMLoggerLevelDebug

调试级别,表示详细的调试信息,主要用于开发阶段排查问题。

代码示例

#import "AlicloudApmCore/AlicloudApmCore.h"

// 设置日志级别
[EAPMConfiguration.sharedInstance setLoggerLevel:EAPMLoggerLevelDebug];

// 获取日志级别
EAPMLoggerLevel loggerLevel = [EAPMConfiguration.sharedInstance loggerLevel];
#import "AlicloudApmCore/AlicloudApmCore.h"

// 设置日志级别
EAPMConfiguration.shared.setLoggerLevel(EAPMLoggerLevel.debug)
EAPMSetLoggerLevelDebug()

// 获取日志级别
let loggerLevel: EAPMLoggerLevel = EAPMConfiguration.shared.loggerLevel()