...

/

Crash Reporting

Crash Reporting

Learn to report Flutter errors to Firebase Crashlytics.

Reporting errors in the Flutter app

In this lesson, we will learn how to use Firebase Crashlytics to report errors and crashes happening when our app is running. Firebase Crashlytics does this in three ways:

  • Logs: Logging events in our application so that they can be attached to crash reports for context in case our app crashes.

  • Crash reports: Each crash is automatically turned into a crash report and sent when the application opens the next time.

  • Stack traces: Even when our application catches and handles an error, Crashlytics still sends the Dart stack trace.

Integrating Firebase Crashlytics into our application involves the following steps:

  1. Creating a project on Firebase Console
  2. Adding the firebase_core and firebase_crashlytics dependencies
  3. Initializing Firebase usage within the application
  4. Reporting uncaught Flutter framework errors to Crashlytics
  5. Reporting zoned errors to Firebase Crashlytics

We’ll use the sample application below to learn how to integrate Firebase Crashlytics with Flutter:

# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.

# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml

linter:
  # The lint rules applied to this project can be customized in the
  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
  # included above or to enable additional rules. A list of all available lints
  # and their documentation is published at
  # https://dart-lang.github.io/linter/lints/index.html.
  #
  # Instead of disabling a lint rule for the entire project in the
  # section below, it can also be suppressed for a single line of code
  # or a specific dart file by using the `// ignore: name_of_lint` and
  # `// ignore_for_file: name_of_lint` syntax on the line or in the file
  # producing the lint.
  rules:
    # avoid_print: false  # Uncomment to disable the `avoid_print` rule
    # prefer_single_quotes: true  # Uncomment to enable the `prefer_single_quotes` rule

# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
Crash reporting initial code

Creating a Firebase project on Firebase Console

If you haven’t already, use the ...