崩溃分析 API

更新时间:2025-05-06 03:48:30

本文档介绍移动监控 iOS SDK 提供的崩溃分析 API,包括自定义日志、自定义维度自定义异常

1. 获取崩溃分析实例

获取崩溃分析EAPMCrashAnalysis实例,该实例是一个单例对象。

接口定义

Object C
Swift
+ (instancetype)crashAnalysis;
class func crashAnalysis() -> Self

代码示例

Object C
Swift
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

EAPMCrashAnalysis *crashAnalysis = [EAPMCrashAnalysis crashAnalysis];
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

let crashAnalysis = CrashAnalysis.crashAnalysis()

2. 自定义日志

通过崩溃分析EAPMCrashAnalysis日志接口,可以增加自定义日志,该日志会跟随崩溃信息一起上报。

接口定义

Object C
Swift
/**
 * 记录自定义日志
 *
 * @param msg 要记录的消息
 */
- (void)log:(NSString *)msg;

/**
 * 记录自定义日志
 *
 * @param format 字符串格式
 * @param ... 格式替换参数
 */
- (void)logWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1, 2);
/**
 * 记录自定义日志
 *
 * @param msg 要记录的消息
 */
func log(msg: String)

自定义日志参数说明

参数

类型

是否必填

长度范围

说明

参数

类型

是否必填

长度范围

说明

msg

NSString

1~64000

自定义日志消息,超出长度会被截断

format

NSString

1~64000

自定义日志格式化字符串,格式化之后超出长度会被截断

代码示例

Object C
Swift
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

[[EAPMCrashAnalysis crashAnalysis] log:@"custome log"];
[[EAPMCrashAnalysis crashAnalysis] logWithFormat:@"This is my custom_value=%@", @"custom_value"];
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

let crashAnalysis = CrashAnalysis.crashAnalysis()
crashAnalysis.log("custome log")

3. 自定义维度

通过崩溃分析EAPMCrashAnalysis维度接口,可以增加自定义维度,SDK最多记录64个自定义维度。

接口定义

Object C
Swift
/**
 * 设置自定义维度的键值对
 *
 * @param value 值
 * @param key   唯一键
 */
- (void)setCustomValue:(nullable id)value forKey:(NSString *)key;

/**
 * 批量设置自定义维度的键值对
 *
 * @param keysAndValues 键值对
 */
- (void)setCustomKeysAndValues:(NSDictionary *)keysAndValues;
/**
 * 设置自定义维度的键值对
 *
 * @param value 值
 * @param key   唯一键
 */
func setCustomValue(value: Any?, forKey key: String)

/**
 * 批量设置自定义维度的键值对
 *
 * @param keysAndValues 键值对
 */
func setCustomKeysAndValues(keysAndValues: [String: Any])

自定义维度参数说明

参数

类型

是否必填

长度范围

说明

参数

类型

是否必填

长度范围

说明

value

id

0~128

自定义维度的值,调用其自身description方法转换为字符串

key

NSString

1~128

自定义维度的键

代码示例

Object C
Swift
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

[[EAPMCrashAnalysis crashAnalysis] setCustomValue:@"value" forKey:@"key"];

[[EAPMCrashAnalysis crashAnalysis] setCustomKeysAndValues:@{
    @"key1":@"value1",
    @"key2":@"value2",
}];
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

let crashAnalysis = CrashAnalysis.crashAnalysis()
crashAnalysis.setCustomValue("value", forKey: "key")
crashAnalysis.setCustomKeysAndValues([
    "key1": "value1",
    "key2": "value2"
])

4. 自定义异常

通过崩溃分析EAPMCrashAnalysis异常接口,可以记录自定义异常,SDK最多记录8条自定义异常。

接口定义

Object C
Swift
/**
 * 记录异常对象
 *
 * @param error 异常对象
 */
- (void)recordError:(NSError *)error;

/**
 * 记录异常对象
 *
 * @param error 异常对象
 * @param userInfo 附加键值对
 */
- (void)recordError:(NSError *)error
           userInfo:(nullable NSDictionary<NSString *, id> *)userInfo;
/**
 * 记录异常对象
 *
 * @param error 异常对象
 */
fun record(error: NSError)

/**
 * 记录异常对象
 *
 * @param error 异常对象
 * @param userInfo 附加键值对
 */
func record(error: NSError, userInfo: [String: Any]?)

自定义异常参数说明

参数

类型

是否必填

说明

参数

类型

是否必填

说明

error

NSError

异常对象

userInfo

NSDictionary<NSString *, id>

附加键值对,最多64条键值对,key&value长度均不能超过128

代码示例

Object C
Swift
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

NSError *error = [NSError errorWithDomain:@"customError" code:10001 userInfo:@{@"errorInfoKey":@"errorInfoValue"}];

[[EAPMCrashAnalysis crashAnalysis] recordError:error userInfo:@{
    @"key1":@"value1",
    @"key2":@"value2",
}];
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"

let crashAnalysis = CrashAnalysis.crashAnalysis()
let error = NSError(
    domain: "customError",
    code: 10001,
    userInfo: [
        "errorInfoKey": "errorInfoValue",
    ]
)
crashAnalysis.record(error: error, userInfo: [
    "key": "value",
])

  • 本页导读 (0)
  • 1. 获取崩溃分析实例
  • 接口定义
  • 代码示例
  • 2. 自定义日志
  • 接口定义
  • 自定义日志参数说明
  • 代码示例
  • 3. 自定义维度
  • 接口定义
  • 自定义维度参数说明
  • 代码示例
  • 4. 自定义异常
  • 接口定义
  • 自定义异常参数说明
  • 代码示例
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等