Firebase Crashlytics

Get clear, actionable insight into app issues with this powerful crash reporting solution for Apple, Android, Flutter, and Unity.

Firebase Crashlytics is a lightweight, realtime crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality. Crashlytics saves you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that lead up to them.

Find out if a particular crash is impacting a lot of users. Get alerts when an issue suddenly increases in severity. Figure out which lines of code are causing crashes.

Install Crashlytics

Key capabilities

Curated crash reports Crashlytics synthesizes an avalanche of crashes into a manageable list of issues, provides contextual information, and highlights the severity and prevalence of crashes so you can pinpoint the root cause faster.
Cures for the common crash Crashlytics offers Crash Insights, helpful tips that highlight common stability problems and provide resources that make them easier to troubleshoot, triage, and resolve.
Integrated with Analytics Crashlytics can capture your app's errors as app_exception events in Analytics. The events simplify debugging by giving you access a list of other events leading up to each crash, and provide audience insights by letting you pull Analytics reports for users with crashes.
Realtime alerts Get realtime alerts for new issues, regressed issues, and growing issues that might require immediate attention.

Implementation path

Connect your app Start by adding Firebase to your app in the Firebase console.
Integrate the SDK Add the Crashlytics SDK via CocoaPods, Gradle, or Pub, and Crashlytics starts collecting reports.
Check reports in the Firebase console Visit the Firebase console to track, prioritize, and fix issues in your app.

How does Crashlytics analyze your crashes for easier debugging?

To provide metrics and reports about your app, Crashlytics collects and analyzes crashes, non-fatal exceptions, and other event types from your app. We use the mapping information for your app's build to create human-readable crash reports to help you understand the events (for example, we use the debug symbol (dSYM) files for Apple platform apps).

When Crashlytics receives events, it uses an analysis engine to group related events into issues. The analysis engine looks at the frames in the stack trace, exception message, error code, and other platform or error type characteristics to group events into issues. In an issue, all events have a common point of failure. As more incoming events match to an issue, the issue rises towards the top of your app's Issues table in the Crashlytics dashboard. This grouping and ranking helps you identify and fix the most impactful problems faster.

Yet even within this group of events, the stack traces leading to the point-of-failure might be different. And a different stack trace could mean a different root cause. To represent this possible difference within an issue, Crashlytics creates variants within issues — each variant is a sub-group of events in an issue that have the same failure point and a similar stack trace. With variants, you can debug the most common stack traces within an issue and determine if different root causes are leading to the failure.

Next steps