错误报告
让用户通过屏幕截图从应用内提交 Bug Report。
KMonitor 允许用户从您的应用内部提交 Bug Report,这样您就可以直接从客户那里听到问题。
每个 Bug Report 最多包含五张屏幕截图,以及用户输入的最多 4,000 个字符描述。截图会使用与 KMonitor 其他功能相同的屏幕截图遮罩级别,因此敏感内容会被排除在外。
启动错误报告屏幕
每个 SDK 都附带原生 Bug Report UI。触发时会自动捕获当前屏幕,用户可以在发送之前继续补充内容。通过一次调用即可启动它:
import sh.measure.android.Measure
Measure.launchBugReportActivity(takeScreenshot = true)import Measure
Measure.launchBugReport(takeScreenshot: true)在 Android 和 iOS,您可以自定义屏幕主题,让它匹配您的应用。
| 深色模式 | 灯光模式 |
|---|---|
![]() | ![]() |
| 深色模式 | 灯光模式 |
|---|---|
![]() | ![]() |
摇一摇报告
用户还可以在应用中的任意位置摇动设备来打开 Bug Report。注册一个 shake handler 即可启用:
import sh.measure.android.Measure
import sh.measure.android.bugreport.MsrShakeListener
Measure.setShakeListener(object : MsrShakeListener {
override fun onShake() {
Measure.launchBugReportActivity()
}
})import Measure
Measure.onShake {
Measure.launchBugReport()
}传递空 handler 可以再次关闭 shake report。
Session Timeline
每个 Bug Report 都附带一个 Session Timeline。它会按顺序列出用户提交报告前发生的事情:打开的屏幕、点击、网络请求、错误和日志。使用它可以准确追溯用户在提交报告前做了什么。
默认情况下,时间线覆盖报告前 5 分钟。可以在 Dashboard 的 Adaptive Capture 中调整回溯时长。
自定义属性
可以给报告附加自定义属性,携带有助于分类的上下文,例如用户套餐、订单 ID 或所在屏幕。之后可以在 Dashboard 中按这些属性过滤和分组。无论您打开 Bug Report UI,还是从自己的 UI 调用 trackBugReport,属性都会被附加到报告上。
import sh.measure.android.Measure
import sh.measure.android.attributes.AttributesBuilder
val attributes = AttributesBuilder().put("screen", "Cart").build()
Measure.launchBugReportActivity(takeScreenshot = true, attributes = attributes)
Measure.trackBugReport(description = "...", attributes = attributes)import Measure
let attributes: [String: AttributeValue] = ["screen": .string("Cart")]
Measure.launchBugReport(takeScreenshot: true, attributes: attributes)
Measure.trackBugReport(description: "...", attributes: attributes)查看属性限制,了解允许的键和值。
构建您自己的用户界面
如果您已经有自己的 Bug Report UI,或者想构建一个更贴合应用的 UI,请使用 trackBugReport 提交报告。描述最多可包含 4,000 个字符,最多可包含五个附件。
import sh.measure.android.Measure
Measure.trackBugReport(description = "Cart items disappear after reopening the app")import Measure
Measure.trackBugReport(description: "Cart items disappear after reopening the app")配置
Bug Report 可通过远程配置 Adaptive Capture 调整,这样无需发布新版本也能更改采集内容。设置 Session Timeline duration 可以控制报告前回溯多久,默认值为 5 分钟。查看 Bug Report 设置项。



