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

firebase sendUnsentReports() sends exceptions only after restart

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

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

有人解决过这类问题吗?如何解决的?

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

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