当 Firebase Crashlytics 使用 “发生在用户会话的第一秒” 标记崩溃事件时。
一个明显的场景是当用户单击应用程序图标时,应用程序在 1 秒内崩溃。
这是否也意味着,当用户将应用程序置于后台并稍后返回时?
我认为它可能包括系统在后台清除所有活动,然后重新启动之前可见的活动的情况。
任何对文档的参考也会有所帮助。
我认为您可以尝试在启用了 crashlytics 的测试应用程序的 onRestart 中引发崩溃,然后看看是否是这种情况。我尝试搜索一下有关此内容的文档,但没有找到任何有用的内容。
当我们可以查看实际代码时,为什么还要查看文档:) 这是 Crashlytics 用于管理会话的 class,它表示:
这会在应用程序冷启动时发生,并且当应用程序在后台运行一段时间(默认 30 分钟)然后返回前台时。
进一步观察,可以通过 Firebase 设置远程以及在本地配置此超时:
/** Background timeout config value before which a new session is generated. */
val sessionRestartTimeout: Duration
get() {
localOverrideSettings.sessionRestartTimeout?.let {
if (isValidSessionRestartTimeout(it)) {
return it
}
}
remoteSettings.sessionRestartTimeout?.let {
if (isValidSessionRestartTimeout(it)) {
return it
}
}
// SDK Default
return 30.minutes
}
最后,这是来自 Google Analytics 的文档,我认为它应该与 Crashlytics 相同,并且描述了与 Crashltycis 来源大致相同的行为。