Firebase Crash Reporting
Comprehensive and actionable information to help diagnose and fix problems in your app.
To report server-side errors, we recommend using Google Stackdriver Error Reporting, which supports Node.js, Python, Go, Java, PHP, and Ruby errors.
|Monitor fatal and non-fatal errors||Monitor fatal errors in iOS and fatal and non-fatal errors in Android. Reports are triaged by the severity of impact on users.|
|Collect the data you need to diagnose problems||Each report contains a full stack trace as well as device characteristics, performance data, and user circumstances when the error took place. Similar reports are automatically clustered to make it easier to identify related bugs.|
|Email alerts||Enable email alerts to receive frequent updates when new crashes are uncovered or regressions are detected.|
|Integrate with Analytics||Errors captured are set as
In addition to grouping errors into similar stack traces, Crash Reporting also integrates with Analytics to provide you with the list of events that preceded a crash. This information helps to simplify your debugging process.
|Free and easy||Crash Reporting is free to use. Once you've added Firebase to your app, it's just a few lines of code to enable comprehensive error reporting.|
|Connect your app||Start by adding Firebase to your new or existing app in the Firebase console.|
|Update project dependencies||Crash Reporting is enabled as soon as you add the necessary dependencies to your Podfile on iOS or Gradle file on Android. Once enabled, crash data will begin appearing in the Firebase console.|
|Add custom logs||Custom log messages supplement the details automatically sent in a crash report. Pass custom data as a string to `FIRCrashLog()` on iOS or `FirebaseCrash.log()` on Android, and you'll see the results in the Firebase console.|
Firebase Crash Reporting does not itself collect any personally identifiable information (such as names, email addresses, or phone numbers). Developers can collect additional data using Crash Reporting with log and exception messages. Such data collected through Crash Reporting should not contain information that personally identifies an individual to Google.
Here is an example of a log message that does not contain personally identifiable information:
FirebaseCrash.log("SQL database failed to initialize");And here is another one that does contain personally identifiable information:
FirebaseCrash.log(user.getEmailAddress() + " purchased product " + product.getID());If identifying a user is necessary to diagnose an issue, then you must use adequate obfuscation measures to render the data you send to Google anonymous.