此文档介绍Android崩溃分析SDK提供的接口。
自定义异常
崩溃信息SDK提供了上报自定义异常的API,方便您上报自定义异常。每次上报最多携带8条自定义异常。
recordException
上报自定义异常。
接口定义
void recordException(@NonNull Throwable throwable)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
throwable | Throwable | 是 | 异常 |
代码示例
import com.aliyun.emas.apm.crash.ApmCrashAnalysis
ApmCrashAnalysis.getInstance()
.recordException(RuntimeException("This is an non-fatal"))
import com.aliyun.emas.apm.crash.ApmCrashAnalysis;
ApmCrashAnalysis.getInstance()
.recordException(new RuntimeException("This is an non-fatal"));
recordException
上报自定义异常。
2.3.0版本新增接口,该接口主要用于非Java/Kotlin语言的自定义异常。
接口定义
void recordException(@NonNull ExceptionModel exceptionModel)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
exceptionModel | 是 | 异常 |
添加日志信息
崩溃信息SDK提供了添加日志信息的API,以便您添加额外的日志信息。
log
添加日志信息。
单次崩溃可多次调用log接口添加日志,但是单次崩溃最大携带的日志是64K。如果超过64K,会按时间顺序删除最早的日志。
接口定义
void log(@NonNull String message)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
message | String | 是 | 日志信息 |
添加自定义维度
崩溃分析SDK提供了一系列API,以便您可以自定义维度数据。
单次崩溃最多携带64条key/value对。
setCustomKey
添加值是boolean
类型的数据。
接口定义
void setCustomKey(@NonNull String key, boolean value)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | boolean | 是 | 值 |
setCustomKey
添加值是double
类型的数据。
接口定义
void setCustomKey(@NonNull String key, double value)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | double | 是 | 值 |
setCustomKey
添加值是float
类型的数据。
接口定义
void setCustomKey(@NonNull String key, float value)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | float | 是 | 值 |
setCustomKey
添加值是int
类型的数据。
接口定义
void setCustomKey(@NonNull String key, int value)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | int | 是 | 值 |
setCustomKey
添加值是long
类型的数据。
接口定义
void setCustomKey(@NonNull String key, long value)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | long | 是 | 值 |
setCustomKey
添加值是String
类型的数据。
接口定义
void setCustomKey(@NonNull String key, @NonNull String value)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | String | 是 | 值,最长1024位,超过会截断。 |
setCustomKeys
添加一批键值对。
接口定义
void setCustomKeys(@NonNull CustomKeysAndValues keysAndValues)
所属类
ApmCrashAnalysis
参数说明
参数 | 类型 | 是否必填 | 说明 |
keysAndValues | 是 | 一批键值对。 |
CustomKeysAndValues
CustomKeysAndValues可以包含一组自定义的键值对。
putString
添加值是String
类型的数据。
接口定义
CustomKeysAndValues.Builder putString(@NonNull String key, @NonNull String value)
所属类
CustomKeysAndValues.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | String | 是 | 值,最长1024位,超过会截断。 |
putBoolean
添加值是boolean
类型的数据。
接口定义
CustomKeysAndValues.Builder putBoolean(@NonNull String key, boolean value)
所属类
CustomKeysAndValues.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | boolean | 是 | 值 |
putDouble
添加值是double
类型的数据。
接口定义
CustomKeysAndValues.Builder putDouble(@NonNull String key, double value)
所属类
CustomKeysAndValues.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | double | 是 | 值 |
putFloat
添加值是float
类型的数据。
接口定义
CustomKeysAndValues.Builder putFloat(@NonNull String key, float value)
所属类
CustomKeysAndValues.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | float | 是 | 值 |
putLong
添加值是long
类型的数据。
接口定义
CustomKeysAndValues.Builder putLong(@NonNull String key, long value)
所属类
CustomKeysAndValues.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | long | 是 | 值 |
putInt
添加值是int
类型的数据。
接口定义
CustomKeysAndValues.Builder putInt(@NonNull String key, int value)
所属类
CustomKeysAndValues.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
key | String | 是 | 键,最长1024位,超过会截断。 |
value | int | 是 | 值 |
build
构建CustomKeysAndValues
实例。
接口定义
CustomKeysAndValues build()
所属类
CustomKeysAndValues.Builder
返回值说明
类型 | 说明 |
CustomKeysAndValues | CustomKeysAndValues实例 |
ExceptionModel
自定义异常的数据类。可以通过Builder模式构造。
2.3.0版本新增类。
setName
设置异常类名。
接口定义
ExceptionModel.Builder setName(@NonNull String name)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
name | String | 是 | 比如Java语言中的异常类名。 |
setReason
设置异常原因。
接口定义
ExceptionModel.Builder setReason(@NonNull String reason)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
reason | String | 是 | 比如Java语言中的异常Message。 |
setSourceLanguage
设置语言类型。
接口定义
ExceptionModel.Builder setSourceLanguage(@NonNull SourceLanguage language)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
language | SourceLanguage | 是 | 取值如下:
|
setStackTrace
设置异常堆栈。
接口定义
ExceptionModel.Builder setStackTrace(@Nullable List<StackFrame> stackTrace)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
stackTrace | List<StackFrame> | 否 | 栈帧列表 |
setCustom
设置是否自定义异常。如果是平台运行时抛出的异常,建议是false;如果是自己捕获的异常,建议是true。
接口定义
ExceptionModel.Builder setCustom(boolean custom)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
custom | boolean | 是 | 默认true。 |
setUrgent
设置是否立即上报。
如果不是立即上报,则随崩溃一起上报或者下一次冷启动批量上报。
接口定义
ExceptionModel.Builder setUrgent(boolean urgent)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
urgent | boolean | 是 | 默认false。 |
setQuitApp
设置处理完自定义异常后是否退出App。
接口定义
ExceptionModel.Builder setQuitApp(boolean quitApp)
所属类
ExceptionModel.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
quitApp | boolean | 是 | 默认false。 |
build
生成ExceptionModel实例。
接口定义
ExceptionModel build()
所属类
ExceptionModel.Builder
StackFrame
栈帧数据类,可以通过Builder模式构造。
2.3.0版本新增类。
setSymbol
设置符号,一般是函数/方法名。
接口定义
StackFrame.Builder setSymbol(@NonNull String symbol)
所属类
StackFrame.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
symbol | String | 是 | 符号,一般是函数/方法名 |
setFile
设置文件名。
接口定义
StackFrame.Builder setFile(@NonNull String file)
所属类
StackFrame.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
file | String | 是 | 文件名。 |
setLine
设置行号。
接口定义
StackFrame.Builder setLine(int line)
所属类
StackFrame.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
line | int | 是 | 行号。 |
setLibrary
设置库。
接口定义
StackFrame.Builder setLibrary(@Nullable String library)
所属类
StackFrame.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
library | String | 否 | 库。 |
setAddress
设置地址。
接口定义
StackFrame.Builder setAddress(long address)
所属类
StackFrame.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
address | long | 否 | 地址。 |
build
生成StackFrame实例。
接口定义
StackFrame build()
所属类
StackFrame.Builder