本文档介绍移动监控 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()