崩溃分析相关接口

此文档介绍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

ExceptionModel

异常

添加日志信息

崩溃信息SDK提供了添加日志信息的API,以便您添加额外的日志信息。

log

添加日志信息。

说明

单次崩溃可多次调用log接口添加日志,但是单次崩溃最大携带的日志是64K。如果超过64K,会按时间顺序删除最早的日志。

接口定义

void log(@NonNull String message)

所属类

ApmCrashAnalysis

参数说明

参数

类型

是否必填

说明

message

String

日志信息

添加自定义维度

崩溃分析SDK提供了一系列API,以便您可以自定义维度数据。

说明

单次崩溃最多携带64key/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

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

取值如下:

  • SourceLanguage.Unknown

  • SourceLanguage.CSharp

  • SourceLanguage.Lua

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