如何在不重新启动应用程序的情况下发送崩溃报告

How to send crash report without relaunching app

有没有什么方法可以在 android 和 iOS 中将崩溃报告发送到 fabric 的仪表板而无需重新启动应用程序?

这里是来自 Fabric 的迈克。在 iOS,崩溃总是在应用程序重新启动时发送,而不是之前。当应用程序崩溃时,设备处于不良状态,然后尝试发送崩溃报告是有风险的。在我们的测试中,如果我们尝试发送崩溃然后发生其他事情 "bad",则存在需要重启整个设备的风险。为了避免这种情况的发生,我们将崩溃本地存储在缓存中,并在应用程序重新启动时使用活动网络连接重新发送。

在 iOS,这可能会导致关于启动期间发生的崩溃的后续问题。如果您的应用程序在 launch 崩溃,在随后的启动中,我们将尝试发送一个崩溃报告,同时在短时间内阻塞主线程。如果您想更改此行为,我们会提供一个委托。

在 Android,由于 OS 差异,我们尝试将崩溃报告发送到后台线程以在不重新启动的情况下发送。如果失败,我们会再次在本地缓存报告并在应用启动时重试 post-crash.