Add Firebase to your Android project

News

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.

Create a Firebase project

  1. In the Firebase console, click Add project, then select or enter a Project name.

    If you have an existing Google Cloud Platform (GCP) project, you can select the project from the dropdown menu to add Firebase resources to that project.

  2. (Optional) If you are creating a new project, you can edit the Project ID.

    Firebase automatically assigns a unique ID to your Firebase project. Visit Understand Firebase Projects to learn about how Firebase uses the project ID.

    After Firebase provisions resources for your Firebase project, you cannot change your project ID.
    To use a specific identifier, you must edit your project ID during this setup step.

  3. Click Continue.

  4. (Optional) Set up Google Analytics for your project, which enables you to have an optimal experience using any of the following Firebase products:

    When prompted, select to use an existing Google Analytics account or to create a new account.
    If you choose to create a new account, select your Analytics reporting location, then accept the data sharing settings and Google Analytics terms for your project.

    You can always set up Google Analytics later in the Integrations tab of your settings Project settings.

  5. Click Create project (or Add Firebase, if you’re using an existing GCP project).

Firebase automatically provisions resources for your Firebase project. When the process completes, you’ll be taken to the overview page for your Firebase project in the Firebase console.

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.

Note: Visit Understand Firebase Projects to learn more about best practices and considerations for adding apps to a Firebase project, including how to handle multiple build variants.

  1. Go to the Firebase console.

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

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

    What’s a package name, and where do you find it?

    • A package name uniquely identifies your app on the device and in the Google Play Store.

    • A package name is often referred to as an application ID.

    • Find your app’s package name in your module (app-level) Gradle file, usually app/build.gradle (example package name: com.yourcompany.yourproject).

    • Be aware that the package name value is case-sensitive, and it cannot be changed for this Firebase Android app after it’s registered with your Firebase project.

    Make sure to enter the package name that your app is actually using. The package name value is case-sensitive, and it cannot be changed for this Firebase Android app after it’s registered with your Firebase project.

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

    How are the App nickname and the Debug signing certificate SHA-1 used within Firebase?

  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.

    What do you need to know about this config file?

    • The Firebase config file contains unique, but non-secret identifiers for your project. To learn more about this config file, visit Understand Firebase Projects.

    • You can download your Firebase config file again at any time.

    • Make sure the config file name is not appended with additional characters, like (2).

  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.0.0’) // 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.0.0’) // 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.0.0’) // 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.0.0’) // 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.

      What does this workflow do?

      • This workflow automatically creates a new Firebase Android app using your app’s package name. You can create this new Firebase Android app in either an existing Firebase project or a new project.

        Here are some tips about setting up your Firebase project:

        • Visit Understand Firebase Projects to learn more about best practices and considerations for adding apps to a Firebase project, including how to handle multiple build variants.

        • If you create a new project, we strongly recommend that you set up Google Analytics for your project, which enables you to have an optimal experience using many Firebase products.

      • This workflow also adds your Firebase project’s Android configuration file (google-services.json) to the module (app-level) directory of your app.

        Note: The Firebase config file contains unique, but non-secret identifiers for your project.
        Visit Understand Firebase Projects to learn more about this config file.

    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!

Are you using Kotlin?
You can use the alternative Kotlin extensions (KTX) libraries which enable you to write beautiful and idiomatic Kotlin code.

Do you want an easier way to manage library versions?
You can use the Firebase Android BoM to manage your Firebase library versions and ensure that your app is always using compatible library versions.

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.

The Firebase Android library firebase-core is no longer needed. This SDK included the Firebase SDK for Google Analytics.

Now, to use Analytics or a product that recommends adding Analytics (see table below), you need to explicitly declare the Analytics dependency: com.google.firebase:firebase-analytics or com.google.firebase:firebase-analytics-ktx.

Next steps

Add Firebase services to your app:

Learn about Firebase:

This article originally appeared on https://firebase.google.com/docs/android/setup

Brian Jones

Author and owner of WantedDroid.com - scouring the internet for all the news related to Android. Contact me here: https://wanteddroid.com/contact/

Leave a Reply