How to Track Crashes & Errors in Mobile Apps
You cannot fix what you cannot see. Here is exactly how to set up crash tracking, what signals to monitor, and how to interpret reports before and after launch.
Most crashes happen on devices you don't own, on OS versions you haven't tested, in conditions you can't reproduce in a development environment. Without crash tracking, those failures are invisible: until a 1-star review appears.
Crash and error signal types
Fatal crash (hard crash)
App terminates immediately with no recovery
Priority
Critical: fix before any store submission
How to track
All crash tools capture these automatically. Sort by instance count × affected users.
ANR (App Not Responding)
Android only: app becomes unresponsive for 5+ seconds
Priority
Critical on Google Play: ANR rate is a Play Store ranking factor
How to track
Firebase Crashlytics tracks ANRs separately from crashes. Google Play Console also shows ANR data.
Non-fatal exception
An error is caught and handled, but logged: app continues running
Priority
High: indicates unstable states that can become fatal
How to track
Use Crashlytics.recordException() or Sentry.captureException() in your catch blocks.
Memory warning
iOS sends a low memory warning before potentially killing the app
Priority
Medium: often precedes a crash that won't appear in reports
How to track
Log UIApplicationDidReceiveMemoryWarningNotification as a breadcrumb event.
Network error (logged)
API calls fail, timeout, or return unexpected status codes
Priority
Medium-High: often the root cause of downstream crashes
How to track
Log all non-200 responses as breadcrumbs with endpoint, status code, and response time.
Crash tracking tools comparison
Firebase Crashlytics
iOS + Android
Best-in-class crash grouping, breadcrumb trail, non-fatal event tracking. Integrates natively with Google Analytics. Free.
Sentry
iOS + Android + Web
Excellent stack trace deobfuscation, release tracking, issue assignment, Slack/GitHub integration. Free tier is generous.
Bugsnag
iOS + Android
App stability score, automated triage, breadcrumb recording, user impact metrics. Strong enterprise features.
Embrace
iOS + Android
Session replay, network request tracking, user journey analysis. Goes beyond crashes into full session observability.
Apple CrashReporter / Xcode Organizer
iOS only
Apple aggregates crashes from all users who have consented to sharing. No SDK required. Available directly in Xcode.
Before launch: crash testing checklist
Install your release build (not debug) on a physical device and run through all core flows
Test on at least one low-end or older device: crashes on flagships are rarer than crashes on mid-range hardware
Test offline: airplane mode, then reconnect mid-flow
Test with edge-case inputs: empty strings, very long text, special characters in form fields
Test rapid tapping: double-tap every button to check for duplicate action crashes
Test app backgrounding and foregrounding mid-flow (especially mid-payment or mid-upload)
Check Xcode Organizer / Play Console internal testing for any crashes from your internal testers
Run AppTester.co human testing: real devices across OS versions and manufacturers
Catch crashes before your users do
Real testers on real devices find crashes that your dev setup never will. Upload your APK or IPA and get a structured crash report within 48 hours.