Google is committed to advancing racial equity for Black communities. See how.

Add Firebase to your Android project

Prerequisites

  • Install or update Android Studio to its latest version.

  • Make sure that your project meets these requirements:

    • Targets API level 16 (Jelly Bean) or later
    • Uses Gradle 4.1 or later
    • Uses Jetpack (AndroidX), which includes meeting these version requirements:
      • com.android.tools.build:gradle v3.2.1 or later
      • compileSdkVersion 28 or later
  • Set up a physical device or use an emulator to run your app.
    Emulators must use an emulator image with Google Play.

  • Sign into Firebase using your Google account.

If you don't already have an Android project and just want to try out a Firebase product, you can download one of our quickstart samples.


You can connect your Android app to Firebase using one of the following options:

  • Option 1: (recommended) Use the Firebase console setup workflow.
  • Option 2: Use the Android Studio Firebase Assistant (may require additional configuration).



Option 1: Add Firebase using the Firebase console

Adding Firebase to your app involves tasks both in the Firebase console and in your open Android project (for example, you download Firebase config files from the console, then move them into your Android project).

Step 1: Create a Firebase project

Before you can add Firebase to your Android app, you need to create a Firebase project to connect to your Android app. Visit Understand Firebase Projects to learn more about Firebase projects.

Step 2: Register your app with Firebase

To use Firebase in your Android app, you need to register your app with your Firebase project. Registering your app is often called "adding" your app to your project.

  1. Go to the Firebase console.

  2. In the center of the project overview page, click the Android icon () or Add app to launch the setup workflow.

  3. Enter your app's package name in the Android package name field.

  4. (Optional) Enter other app information: App nickname and Debug signing certificate SHA-1.

  5. Click Register app.

Step 3: Add a Firebase configuration file

  1. Add the Firebase Android configuration file to your app:

    1. Click Download google-services.json to obtain your Firebase Android config file (google-services.json).

    2. Move your config file into the module (app-level) directory of your app.

  2. To enable Firebase products in your app, add the google-services plugin to your Gradle files.

    1. In your root-level (project-level) Gradle file (build.gradle), add rules to include the Google Services Gradle plugin. Check that you have Google's Maven repository, as well.

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.4'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. In your module (app-level) Gradle file (usually app/build.gradle), apply the Google Services Gradle plugin:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

Step 4: Add Firebase SDKs to your app

  1. Using the Firebase Android BoM, declare the dependencies for the Firebase products that you want to use in your app. Declare them in your module (app-level) Gradle file (usually app/build.gradle).

    Analytics enabled

    Java

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation platform('com.google.firebase:firebase-bom:26.1.1')
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Declare the dependency for the Firebase SDK for Google Analytics
      implementation 'com.google.firebase:firebase-analytics'
    
      // Declare the dependencies for any other desired Firebase products
      // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
      implementation 'com.google.firebase:firebase-auth'
      implementation 'com.google.firebase:firebase-firestore'
    }
    

    Kotlin+KTX

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation platform('com.google.firebase:firebase-bom:26.1.1')
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Declare the dependency for the Firebase SDK for Google Analytics
      implementation 'com.google.firebase:firebase-analytics-ktx'
    
      // Declare the dependencies for any other desired Firebase products
      // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
      implementation 'com.google.firebase:firebase-auth-ktx'
      implementation 'com.google.firebase:firebase-firestore-ktx'
    }
    

    By using the Firebase Android BoM, your app will always use compatible versions of the Firebase Android libraries.

    Analytics not enabled

    Java

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation platform('com.google.firebase:firebase-bom:26.1.1')
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Declare the dependencies for the desired Firebase products
      // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
      implementation 'com.google.firebase:firebase-auth'
      implementation 'com.google.firebase:firebase-firestore'
    }
    

    Kotlin+KTX

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation platform('com.google.firebase:firebase-bom:26.1.1')
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Declare the dependencies for the desired Firebase products
      // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
      implementation 'com.google.firebase:firebase-auth-ktx'
      implementation 'com.google.firebase:firebase-firestore-ktx'
    }
    

    By using the Firebase Android BoM, your app will always use compatible versions of the Firebase Android libraries.

  2. Sync your app to ensure that all dependencies have the necessary versions.

That's it! You can skip ahead to check out the recommended next steps.



Option 2: Add Firebase using the Firebase Assistant

The Firebase Assistant registers your app with a Firebase project and adds the necessary Firebase files, plugins, and dependencies to your Android project — all from within Android Studio!

  1. Open your Android project in Android Studio and access the Firebase Assistant:

    1. Go to File > Check for updates to make sure that you're using the latest versions of Android Studio and the Firebase Assistant.

    2. Go to Tools > Firebase to open the Assistant pane.

  2. Choose a Firebase product to add to your app. Expand its section, then click the tutorial link (for example, Analytics > Log an Analytics event).

    1. Click Connect to Firebase to connect your Android project with Firebase.

    2. Click the button to add a desired Firebase product (for example, Add Analytics to your app).

  3. Sync your app to ensure that all dependencies have the necessary versions.

  4. In the Firebase Assistant pane, follow the remaining setup instructions for your selected Firebase product.

  5. Add as many other Firebase products as you'd like via the Firebase Assistant!

That's it! Make sure to check out the recommended next steps.



Available libraries

This section lists the Firebase products supported for Android and their Gradle dependencies. Learn more about these Firebase Android libraries:

Note that when using the Firebase Android BoM, you don't specify individual library versions when you declare Firebase library dependencies in build.gradle.

Java

Service or Product Gradle dependency Latest
version
Add Analytics?
Firebase Android BoM
(Bill of Materials)
com.google.firebase:firebase-bom

The latest Firebase BoM version contains the latest versions of each Firebase Android library. To learn which library versions are mapped to a specific BoM version, review the release notes for that BoM version.

26.1.1
AdMob com.google.android.gms:play-services-ads 19.5.0
Analytics com.google.firebase:firebase-analytics 18.0.0
App Indexing com.google.firebase:firebase-appindexing 19.1.0
Authentication com.google.firebase:firebase-auth 20.0.1
Cloud Firestore com.google.firebase:firebase-firestore 22.0.0
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions 19.1.0
Cloud Messaging com.google.firebase:firebase-messaging 21.0.0
Cloud Storage com.google.firebase:firebase-storage 19.2.0
Crashlytics com.google.firebase:firebase-crashlytics 17.3.0
Dynamic Links com.google.firebase:firebase-dynamic-links 19.1.1
Firebase ML Vision APIs com.google.firebase:firebase-ml-vision 24.1.0
Firebase ML Custom Model APIs com.google.firebase:firebase-ml-model-interpreter 22.0.4
In-App Messaging com.google.firebase:firebase-inappmessaging 19.1.2
(required)
In-App Messaging Display com.google.firebase:firebase-inappmessaging-display 19.1.2
(required)
Performance Monitoring com.google.firebase:firebase-perf 19.0.10
Realtime Database com.google.firebase:firebase-database 19.5.1
Remote Config com.google.firebase:firebase-config 20.0.2
Google Play services plugin com.google.gms:google-services 4.3.4
Deprecated libraries
Firebase ML: Image Labeling Model com.google.firebase:firebase-ml-vision-image-label-model 20.0.2
Firebase ML: Object Detection and Tracking Model com.google.firebase:firebase-ml-vision-object-detection-model 19.0.6
Firebase ML: Face Detection Model com.google.firebase:firebase-ml-vision-face-model 20.0.2
Firebase ML: Barcode Scanning Model com.google.firebase:firebase-ml-vision-barcode-model 16.1.2
Firebase ML: AutoML Vision Edge API com.google.firebase:firebase-ml-vision-automl 18.0.6
Firebase ML: Natural Language APIs com.google.firebase:firebase-ml-natural-language 22.0.1
Firebase ML: Language Identification Model com.google.firebase:firebase-ml-natural-language-language-id-model 20.0.8
Firebase ML: Translate Model com.google.firebase:firebase-ml-natural-language-translate-model 20.0.9
Firebase ML: Smart Reply Model com.google.firebase:firebase-ml-natural-language-smart-reply-model 20.0.8

Kotlin+KTX

Service or Product Gradle dependency Latest
version
Add Analytics?
Firebase Android BoM
(Bill of Materials)
com.google.firebase:firebase-bom

The latest Firebase BoM version contains the latest versions of each Firebase Android library. To learn which library versions are mapped to a specific BoM version, review the release notes for that BoM version.

26.1.1
AdMob com.google.android.gms:play-services-ads 19.5.0
Analytics com.google.firebase:firebase-analytics-ktx 18.0.0
App Indexing com.google.firebase:firebase-appindexing 19.1.0
Authentication com.google.firebase:firebase-auth-ktx 20.0.1
Cloud Firestore com.google.firebase:firebase-firestore-ktx 22.0.0
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions-ktx 19.1.0
Cloud Messaging com.google.firebase:firebase-messaging-ktx 21.0.0
Cloud Storage com.google.firebase:firebase-storage-ktx 19.2.0
Crashlytics com.google.firebase:firebase-crashlytics-ktx 17.3.0
Dynamic Links com.google.firebase:firebase-dynamic-links-ktx 19.1.1
Firebase ML Vision APIs com.google.firebase:firebase-ml-vision 24.1.0
Firebase ML Custom Model APIs com.google.firebase:firebase-ml-model-interpreter 22.0.4
In-App Messaging com.google.firebase:firebase-inappmessaging-ktx 19.1.2
(required)
In-App Messaging Display com.google.firebase:firebase-inappmessaging-display-ktx 19.1.2
(required)
Performance Monitoring com.google.firebase:firebase-perf-ktx 19.0.10
Realtime Database com.google.firebase:firebase-database-ktx 19.5.1
Remote Config com.google.firebase:firebase-config-ktx 20.0.2
Google Play services plugin com.google.gms:google-services 4.3.4
Deprecated libraries
Firebase ML: Image Labeling Model com.google.firebase:firebase-ml-vision-image-label-model 20.0.2
Firebase ML: Object Detection and Tracking Model com.google.firebase:firebase-ml-vision-object-detection-model 19.0.6
Firebase ML: Face Detection Model com.google.firebase:firebase-ml-vision-face-model 20.0.2
Firebase ML: Barcode Scanning Model com.google.firebase:firebase-ml-vision-barcode-model 16.1.2
Firebase ML: AutoML Vision Edge API com.google.firebase:firebase-ml-vision-automl 18.0.6
Firebase ML: Natural Language APIs com.google.firebase:firebase-ml-natural-language 22.0.1
Firebase ML: Language Identification Model com.google.firebase:firebase-ml-natural-language-language-id-model 20.0.8
Firebase ML: Translate Model com.google.firebase:firebase-ml-natural-language-translate-model 20.0.9
Firebase ML: Smart Reply Model com.google.firebase:firebase-ml-natural-language-smart-reply-model 20.0.8



Next steps

Add Firebase services to your app:

Learn about Firebase: