Customize your Crashlytics crash reports

In the Crashlytics dashboard, you can click into an issue and get a detailed event report.

You can customize those reports to help you better understand what's happening in your app and the circumstances around events reported to Crashlytics.

Log custom keys

Custom keys help you get the specific state of your app leading up to a crash. You can associate arbitrary key-value pairs with your crash reports, then use the custom keys to search and filter crash reports in the Firebase console.

View instructions for logging custom keys: iOS+ Android Flutter Unity

Log custom log messages

To give yourself more context for the events leading up to a crash, you can add custom Crashlytics logs to your app. Crashlytics associates the logs with your crash data and displays them in the Crashlytics dashboard.

View instructions for logging custom log messages: iOS+ Android Flutter Unity

Log user identifiers

To diagnose an issue, it's often helpful to know which of your users experienced a given crash. Crashlytics includes a way to anonymously identify users in your crash reports.

View instructions for logging user identifiers: iOS+ Android Flutter Unity

Report exceptions

In addition to automatically reporting your app's fatal events (like crashes), the Crashlytics SDK can report non-fatal exceptions as non-fatal events. For Futter and Unity, if you have exceptions that are expected, you can have the SDK report them as non-fatal events, as well.

These non-fatal events are logged on-device and then sent along with the next fatal event report or when the end-user restarts the app.

View instructions for reporting exceptions: iOS+ Android Flutter Unity

Get breadcrumb logs

Breadcrumb logs give you a better understanding of the interactions that a user had with your app leading up to a crash, non-fatal, or ANR event. These logs can be helpful when trying to reproduce and debug an issue.

View instructions for getting breadcrumb logs: iOS+ Android Flutter Unity

Enable opt-in reporting

By default, Crashlytics automatically collects crash reports for all your app's users. To give users more control over the data they send, you can enable opt-in reporting by disabling automatic reporting and only sending data to Crashlytics when you choose to in your code.

View instructions for enabling opt-in reporting: iOS+ Android Flutter Unity

Include GWP-ASan reports to debug memory corruption issues

Crashlytics can help you debug crashes caused by native memory errors by collecting GWP-ASan reports. These memory-related errors can be associated with memory corruption within your app, which is the leading cause of app security vulnerabilities.

View instructions for including GWP-ASan reports: Android NDK Unity