A Complete Guide to Integrating Firebase in Flutter: Step-by-Step

Samra Khan
3 min readJul 14, 2023

--

Firebase, developed by Google, is a comprehensive platform that offers a wide range of backend services for mobile and web app development. It provides features like real-time database, cloud storage, authentication, and much more. In this blog post, we will walk you through the step-by-step process of integrating Firebase into your Flutter app. So let’s get started!

Step 1: Set up a Firebase Project

  • Visit the Firebase Console (console.firebase.google.com) and log in with your Google account.
  • Click on “Add Project” to create a new Firebase project.
  • Provide a name for your project and choose your country/region.
  • Once the project is created, click on “Continue” and then “Continue” again on the following screen.

Step 2: Add Flutter to Your Project

  • Open your Flutter project in your preferred IDE (e.g., Visual Studio Code).
  • Open the pubspec.yaml file.
  • Add the firebase_core and other Firebase libraries you plan to use under the dependencies section. For example:
dependencies:
flutter:
sdk: flutter
firebase_core: ^1.7.0
firebase_auth: ^3.1.0
cloud_firestore: ^2.5.0
firebase_storage: ^10.0.0
  • Save the file and run flutter pub get in your terminal to fetch the new dependencies.

Step 3: Connect Your App to Firebase

  • Go back to the Firebase Console.
  • In the Firebase project overview, click on the “Add app” button.
  • Choose the Flutter icon (represented by a blue Android head) to register your Flutter app.
  • Enter a package name for your app (e.g., “com.example.myapp”).
  • Click on “Register App” and download the google-services.json file.
  • Move the downloaded google-services.json file into the android/app directory of your Flutter project.

Step 4: Configure Android App

  • Open the android/build.gradle file.
  • Add the following classpath to the dependencies section:
dependencies {
// ...
classpath 'com.google.gms:google-services:4.3.10'
}
  • Open the android/app/build.gradle file.
  • Add the following line at the bottom of the file:
apply plugin: 'com.google.gms.google-services'

Step 5: Configure iOS App

  • Open your Flutter project in Xcode by navigating to the ios folder and opening the .xcworkspace file.
  • In Xcode, select the project file from the project navigator.
  • Select the target for your app and click on the “Signing & Capabilities” tab.
  • Enable the “Automatically manage signing” option.
  • Go back to the Firebase Console and click on the iOS icon (represented by an apple) to register your iOS app.
  • Enter your iOS bundle ID (e.g., “com.example.myapp”).
  • Click on “Register App” and download the GoogleService-Info.plist file.
  • Move the downloaded GoogleService-Info.plist file into the ios/Runner directory of your Flutter project.

Step 6: Initialize Firebase

  • Open your app’s main Dart file (usually lib/main.dart).
  • Import the firebase_core package:
import 'package:firebase_core/firebase_core.dart';
  • In the main function, initialize Firebase using the following code:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}

Step 7: Use Firebase Services

Now that you’ve integrated Firebase into your Flutter app, you can start using various Firebase services like authentication, real-time database, cloud storage, and more. Refer to the Firebase documentation and package documentation for each service to learn how to use them in your app.

Conclusion

Congratulations! You have successfully integrated Firebase into your Flutter app. By following the steps outlined in this guide, you can now leverage the power of Firebase to enhance your app’s functionality and provide a seamless user experience. Remember to explore the Firebase documentation and packages to make the most out of the available features. Happy coding!

--

--

Samra Khan

Flutter | Android | IOS | MacOS | Web | Windows | Firebase