top of page
  • Alejandro Carrazana

Learn how to integrate Firebase into your Flutter app

How can I authenticate users in my mobile or web application, or store and synchronize data in real-time? If we also need to send push notifications to users and perform analysis of the interaction that my application receives daily. All these issues constitute a challenge for developers today.


There are several alternatives to solve these challenges, but an effective solution is the use of the Firebase platform created by Google. Let's see how to easily and quickly configure Firebase within a Flutter application, empowering our product.


Introduction to Firebase

Firebase is a Google mobile and web application development platform that provides a variety of tools and services for developers. Some of Firebase's most popular features include real-time data storage, user authentication, push notifications, app analytics, and monitoring.


Firebase has a wide range of features and services to help developers build and scale mobile and web applications.

  • Real-time database: Firebase automatically stores and synchronizes data in real-time between devices and applications. This allows developers to build applications in which users can collaborate in real-time.

  • File storage: Firebase provides cloud storage for images, videos, files, and other multimedia content.

  • User authentication: Firebase provides a variety of authentication options, including email and password login, social media login, and two-factor authentication.

  • Push notifications: Firebase allows push notifications to be sent to users of mobile applications.

  • Hosting: Firebase provides a secure and scalable web hosting service for web applications.

  • Machine Learning: Firebase provides a range of tools and services to integrate artificial intelligence into applications, including the image recognition service, automatic translation, and text generation.

  • Performance analysis: Firebase allows developers to track the performance of their applications and obtain detailed reports on usage and errors.

Firebase easily integrates with other Google tools and services, such as Google Cloud Storage, Google Cloud Functions, and Google Analytics. It is a popular platform among developers due to its ease of use and scalability.


Firebase integration with Flutter

Firebase and Flutter are widely used to create high-quality, scalable mobile applications. Integrating Firebase with Flutter allows developers to add backend functionalities to their mobile applications.


By using Firebase with Flutter, developers can save time and effort in creating servers, databases, and instead focus on developing the user interface and business logic of the application.


Below are the steps to create a project in Firebase.


Steps to create a project in Firebase

Go to the link https://console.firebase.google.com/ and add a new project.

Next, set the name of the project.

Enable or disable Google Analytics in your Firebase project. By enabling Google Analytics it will be possible to use the following features in Firebase: A/B Testing, User segmentation and targeting of products, Users who do not experience failures, Event-based Cloud Function Triggers and unlimited free Reports.

Set up Google Analytics. To do this you must choose an account you already have or create a new one.

With these simple steps, a Firebase project is already created.


Steps to integrate a Firebase project into a Flutter application

The recommended way to add Firebase to a Flutter application is through the FlutterFire command-line interface (CLI). To do this, you need to install Firebase CLI and log in to the Google account associated with the Firebase project using the firebase login command within the terminal.


Once authenticated with the Google account, you can install the FlutterFire CLI with the following command: dart pub global activate flutterfire_cli.


Next, in the root directory of your Flutter project, run the command: flutterfire configure in a terminal. This command will show you the list of projects you already have in Firebase or give you the option to create a new one to add to the Flutter application.


Once the Firebase project is selected, you will be given the option to configure the platforms that the application targets (android, ios, macos, windows, web). And a configuration file lib/firebase_options.dart will be added.


You must include the Firebase packages for Flutter in the pubspec.yaml file: firebase_core and others that are necessary based on the functionalities you use.

Next, you need to initialize Firebase in the main method with the configuration obtained from the firebase_options.dart file.

import 'package:octa_app/firebase_options.dart'; 
import 'package:firebase_core/firebase_core.dart';

void main() async { 
	... 
	await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
	 ... 
}

In addition, it is recommended to add the google-services.json file for Android to ensure that Google Analytics works correctly. This file is downloaded from the Firebase project in the application configuration and is inserted into the app directory of the project as shown in the image.

For iOS, place the GoogleService-Info.plist file, which you can download from Firebase, in the root directory of your Xcode project.

In this way, Firebase is configured in a Flutter application.


Don't miss more articles on Flutter app development! Follow us and stay updated with everything new we have prepared for you on our blog! In future articles we will know how to optimize the behavior and appearance of your Flutter app with Remote Config


bottom of page