firebase sendUnsentReports() 仅在重启后发送异常

bli*_*ker 4 android firebase crashlytics crashlytics-android

我想通过 recordException() 方法发送有关用户非致命异常的信息,但默认的 crashlytics 实现仅在应用程序重新启动后才发送它们(这是一种非常奇怪的行为 o_O)

我尝试通过 setCrashlyticsCollectionEnabled(false) 方法禁用自动报告收集并通过 sendUnsentReports() 手动发送它们,但是,唉,firebase 仅在应用程序重新启动后才继续发送它们。

有没有人解决过这种问题以及如何解决?

Ole*_*ysh 5

是的,这是预期的。记录的异常不会在记录时立即发送,否则会以随机间隔出现拉取请求,这会消耗大量带宽和电池。

它们在启动时或崩溃时被批处理和发送,当您调用 sendUnsentReports 时,所有缓存的报告都会在那时发送,但它不会从当前会话发送任何内容。

  • “...但它不会从当前会话发送任何内容”是这里的关键句子。Google 将 this is 注释添加到 `sendUnsentReports()` 函数会这么困难吗?浪费了很多时间试图找出为什么东西不起作用。不管怎样,我很感谢这里的澄清...谢谢。 (4认同)
  • “...但它不会从当前会话发送任何内容”,如果您有一个永远不会重新启动的企业应用程序,那么 Crashlytics 和 Flutter 也将成为一个完全无用的组合。 (2认同)