Implementing Firebase Crash Reporting and Analytics in Flutter: A Step-by-Step Guide

Mobterest Studio
4 min readJul 13, 2023

--

Implementing Firebase Crash Reporting and Analytics in Flutter

Google’s Firebase platform provides significant features for developers to obtain useful insights about app performance and stability, particularly Firebase Crash Reporting and Analytics. Integrating these features into your Flutter application can assist you in detecting and monitoring crashes, gathering user metrics, and making data-driven decisions to improve the user experience of your app. I’ll walk you through the process of integrating Firebase Crash Reporting and Analytics into your Flutter code in this guide.

Prerequisites

Before we begin, let’s verify that the following environments are in place:

Flutter SDK

Follow the official Flutter installation documentation to install Flutter and configure your development environment.

Firebase Account

Create a Firebase account at https://firebase.google.com/ and set up a new project for your Flutter app.

Flutter project

Create a Flutter project in your preferred IDE. Use the Flutter command-line tool to run the command below:

flutter create your-application-name

1. Add Firebase to your Flutter project

To integrate Firebase Crash Reporting and Analytics into your Flutter project, set up the Firebase SDK and any necessary dependencies to your Flutter app. Here’s how it’s done:

  1. Open the Firebase console (https://console.firebase.google.com/)
  2. Click on “Add project” to create a Firebase project

3. Follow the provided instructions and click on “Create project”

4. On Project Overview, select a platform to get started. We’ll use Android.

5. Register your app by following the provided instructions.

6. Download the google-services.json file.

7. Place the downloaded google-services.json file inside the android/app directory of your Flutter project.

8. Open the android/build.gradle file and add the following classpath dependency to the buildscript section:

dependencies {
// ...
classpath 'com.google.gms:google-services:4.3.8'
}

9. Open the android/app/build.gradle file and add the following dependencies:

dependencies {
// ...
implementation 'com.google.firebase:firebase-analytics:19.0.1'
implementation 'com.google.firebase:firebase-crashlytics:18.2.0'
}

10. At the end of the android/app/build.gradle file, add the following line:

apply plugin: 'com.google.gms.google-services'

2. Configure Firebase Crash Reporting and Analytics

Add the required Firebase plugins to your Flutter project.

1. Open the pubspec.yaml file in your Flutter project.

2. Under the dependencies section, add the following dependencies:

dependencies:
firebase_core: ^1.10.0
firebase_crashlytics: ^2.3.0
firebase_analytics: ^9.0.0

3. Save the pubspec.yaml file and run the command flutter pub get to fetch the new dependencies.

4. Open the lib/main.dart file in your Flutter project.

5. Import the necessary Firebase libraries by adding the following lines at the top:

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:firebase_analytics/firebase_analytics.dart';

6. Initialize Firebase by adding the following code in the main function before calling runApp:

void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}

7. Enable Crashlytics by adding the following code after initializing Firebase:

await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;

8. Add the Firebase Analytics initialization code:

final FirebaseAnalytics analytics = FirebaseAnalytics.instance;
await analytics.logAppOpen();

3. Reporting Custom Errors and Exceptions

  1. Import the necessary Crashlytics library:
import 'package:firebase_crashlytics/firebase_crashlytics.dart';

2. To report custom errors, use the following code:

try {
// Your code that might throw an error or exception
} catch (e, stackTrace) {
FirebaseCrashlytics.instance.recordError(e, stackTrace);
}

4. Tracking Events with Firebase Analytics

  1. Import the necessary Analytics library:
import 'package:firebase_analytics/firebase_analytics.dart';

2. Initialize the analytics instance:

final FirebaseAnalytics analytics = FirebaseAnalytics.instance;

3. To track a custom event, use the following code:

await analytics.logEvent(
name: 'custom_event',
parameters: {'param_key': 'param_value'},
);

Conclusion

Integrating Firebase Crash Reporting and Analytics into your Flutter app can provide valuable insights into crashes, errors, and user behavior. By following this step-by-step guide, you can leverage these powerful Firebase features to improve your app’s stability and enhance the user experience. Happy coding!

🔥 Github repository: Firebase Crash Reporting and Analytics in Flutter

👏🏽 Give this story a CLAP

👉🏽 Subscribe for upcoming articles

💰 Access Free Mobile Development tutorials

🔔 Follow for more

See you on next article 👋

--

--

No responses yet