跳到主要内容

向事件添加信息

注意

该门户网站正在开发中。文档的完整版本请看这里.

HasTracerSystemInfo 描述

Tracer SDK 提供了关于崩溃的最重要信息,您无需为此担心:

  • date - 事件发生的日期和时间;

  • board Build.BOARD;

  • brand Build.BRAND;

  • cpuABI Build.SUPPORTED_ABIS;

  • device Build.DEVICE;

  • display Build.DISPLAY;

  • manufacturer Build.MANUFACTURER;

  • model Build.MODEL;

  • osVersionSdkInt Build.VERSION.SDK_INT;

  • osVersionRelease Build.VERSION.RELEASE;

  • cpuCount Runtime.getRuntime().availableProcessors();

  • operatorName - 运营商名称(如果可用)。

您可以在应用中实现 HasTracerSystemInfo 来添加额外的崩溃信息:

class MyApplication : Application(), HasTracerSystemInfo {
override val tracerSystemInfo: Map<String, String>
get() = mapOf {
"foo" to "bar" ,
}
}

例如,userId、build flavor 或 vendor 可以是有用的信息,特别是如果构建是为了预安装。

每次发生 CRASH 和 NON-FATAL 事件时都会请求 HasTracerSystemInfo.tracerSystemInfo。它也会在应用启动时被调用一次,以防发生 ANR。

TracerCrashReport.log 描述

事件发生时,也会附带之前的日志。您可以使用 TracerCrashReport.log 方法添加日志:

  // 当某个事件发生时
TracerCrashReport.log( "button 100500 clicked" )
// 经过  100500 行之后
TracerCrashReport.report(NoSuchElementException( "Nothing here, see logs" )
// 在这个 non-fatal 的 logs 标签页中,您会看到一个行 event button  100500 clicked |

日志不会无限积累。目前,它们被收集在一个大小为 64KB 的循环缓冲区中。