Firebase Crash Reporting
Crash Reporting creates detailed reports of the errors in your app. Errors are grouped into issues based on having similar stack traces, and triaged by the severity of impact on your users. In addition to automatic reports, you can log custom events to help capture the steps leading up to a crash.
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 grouped into issues 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 and Remote Config||Errors captured are set as
If your app is configured to let you disable certain features using Remote Config, you can use your analysis of Crash Reporting data to disable the features associated with errors (on specific device types, if necessary) until you have an app update ready.
|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.|
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.