firebase-android-sdk icon indicating copy to clipboard operation
firebase-android-sdk copied to clipboard

Enhancing Crashlytics Reporting: Timely Delivery of Non-Fatal Reports

Open redmanit opened this issue 1 year ago • 6 comments

What feature would you like to see?

I've been seeing a ton of important non-fatal reports missing from Crashlytics lately. Turns out, reports only get sent when the app crashes or restarts (please correct me if I'm wrong!). This is a real problem for a couple of reasons:

User Relaunch Roulette: We have no control over when users restart the app, so reports could be stuck forever. Asking users to restart just for reports isn't exactly an option either. This means reports are delayed, and by the time we see them, the info might be old news.

Apps That Never Sleep: These days, apps can run for ages without needing a restart. Some might even run forever! Relying solely on restarts for reports is clearly not a good approach.

Here's my suggestions:

Dev Report Control: Let developers manually send reports whenever they want. We might not need them instantly, but sending them within seconds or minutes would be a huge improvement.

Smarter Reporting System: We need a smarter way to send reports internally, not just when the app crashes or restarts. Maybe reports could be sent after a certain amount of time has passed or when a specific number of reports have been collected.

How would you use it?

It depends on your solution, as long as it guarantees timely report delivery to the Crashlytics dashboard

redmanit avatar Apr 24 '24 03:04 redmanit

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

google-oss-bot avatar Apr 24 '24 03:04 google-oss-bot

Hi @redmanit, sorry for the frustration! You've raised some interesting points - can you tell us more about your use case with non-fatals?

anitdas avatar Jun 06 '24 18:06 anitdas

Hello @anitdas My app uses an Accessibility service, meaning it runs continuously unless manually stopped by the user or system, or the device is restarted. When the app encounters an exception or enters an unexpected state, I capture non-fatal reports along with logs to help me troubleshoot and improve it. However, since the app rarely terminates, these non-fatal reports are often delayed or might not even be delivered as expected.

redmanit avatar Jun 21 '24 07:06 redmanit