Firebase series · Part 4 of 4
Firebase Crashlytics: Find and Fix Crashes Faster
A crash you cannot see is a crash you cannot fix. Crashlytics collects crashes from real devices, groups them by cause and tells you which ones hurt the most users. This is the overview; Google’s guide has the setup.
- What: real-time crash and error reporting.
- Groups thousands of crashes into a few issues, ranked by impact.
- Context: stack trace, device, OS, custom keys, logs, user id.
- Alerts: new issue, regression, velocity spike.
Contents
1. What it is
Crashlytics is a lightweight crash reporter. When your app crashes, the SDK saves the report and sends it at the next launch. The console then shows what broke, how often and for whom. It also records ANRs on Android, and crashes in Flutter, Unity and NDK code.
2. How a crash gets to you
3. Reading an issue
Similar crashes are grouped into one issue. Check the event and user counts first, then the version where it started, then the stack trace. Fix what affects the most users before you chase rare ones.
Release builds are obfuscated, so upload the mapping file (the Gradle plugin does it for you) to see readable names instead of a.b.c.
4. Adding context
val c = Firebase.crashlytics
c.setUserId("u_123") // use an id, not an email
c.setCustomKey("screen", "Cart")
c.log("tapped Apply coupon") // breadcrumb
5. Non-fatal errors
Caught exceptions you still care about, like a failed parse or a bad server response, can be reported with recordException. They appear as non-fatal issues without crashing the app.
6. Alerts and workflow
- New issue and regression alerts by email, Slack or Jira.
- Velocity alerts when one issue climbs quickly.
- Close an issue when fixed; it reopens as a regression if it returns.
- Link to BigQuery export for deeper analysis.
7. Limits and good habits
- Force a test crash once to confirm your setup, then remove it.
- Never log personal data in keys, logs or user ids.
- Let users opt out where the law or your policy requires it.
- Review the top issues in every release before you roll out to 100%.
Official links
Setup steps change often, so follow Google’s own guides rather than a copy here.
← Back to all writing