# Create a Firebase Project

> Discover how to create a Firebase project to utilize services like authentication, push notifications, and analytics on Android and iOS platforms. This article provides detailed instructions for setting up Firebase for your applications, including iOS and Android configurations.

https://docs.pandasuite.com/essentials/integrations/create-a-firebase-project/

**Firebase is Google's mobile application development platform that offers a multitude of services including authentication, push notifications on Android, analytics, and many others.**

You need to create a Firebase project to take advantage of these services for your application: [Authentication](https://docs.pandasuite.com/essentials/components/authentication/) & [Firebase session](https://docs.pandasuite.com/essentials/components/firebase-session/), [push notifications for Android](https://docs.pandasuite.com/essentials/deployment-services/push-notifications-to-ios-and-android-devices/) and [Firebase analytics for iOS & Android](https://docs.pandasuite.com/essentials/integrations/connect-to-firebase-analytics/).

## Create a firebase project

Creating an account on Firebase is free up to a certain volume ([details here](https://firebase.google.com/pricing)). Firebase's Spark plan is free and offers many features to get started. As your needs grow, you can then opt for the Blaze Plan.

Go to <https://console.firebase.google.com/>

Sign in with your Google account.

Create a new project: you need to create a new project for each application.

[Image: Firebase console welcome page, with the Create a project button that starts a new project]

Choose a name. Follow the steps and confirm.

[Image: Step 1 of creating a Firebase project: the Project name field, filled in with panda-auth, then the Continue button]

If you want to enable analytics, you need to select a Google Analytics account associated with your account.

[Image: Google Analytics step: the Enable Google Analytics for this project option, turned off here, then the Create project button]

Once the project is created, you are redirected to the dashboard.

[Image: Dashboard of the Firebase project Test, prompting you to add Firebase to an app with the iOS, Android, Web, Unity and Flutter icons]

## Add an iOS app

If your application is already published in an iOS and/or Android format and you want to benefit from analytics or push notifications, you also need to add your application in Firebase: iOS, Android, or both depending on your distribution.

> **Info**
>
> Please make sure to start with the iOS app, then create the Android app
> afterward.

Here is how to add an existing iOS app to Firebase.

On the Firebase console, click on the **iOS** icon

In the form, insert the [Bundle ID](https://docs.pandasuite.com/essentials/mobile-publishing/ios/register-an-app-id-and-bundle-id-for-your-ios-app/) of your application. The other fields are optional.

[Image: Add Firebase to your Apple app form: the Apple bundle ID field, framed in red; the other fields are optional]

Click on the **Download GoogleService-Info.plist** button

[Image: Second step of adding the iOS app in Firebase: the Download GoogleService-Info.plist button, then the Next button]

For the next steps, click **Next** and return to the console

[Image: Last step of adding the iOS app in Firebase: the Continue to console button to return to the console]

Go to your PandaSuite dashboard in the **Apps** > **Settings** > **Firebase Configuration** section

[Image: Firebase Configuration tab of the app settings: the Import button of the automatic configuration is framed]

Import the .plist file; the fields are automatically filled in

[Image: Firebase Configuration after importing the .plist: API Key, Sender ID, Firebase Application ID (1:…:ios:…) and Project ID are filled in and framed]

The import saves the Firebase configuration automatically. If you edit a field manually afterward, click **Save Changes**.

## Add an Android app

Here is how to add an existing Android app

On the console, click **Add an App** and the **Android** icon

[Image: Firebase dashboard after clicking Add an App: the platform icons, including Android, next to Select a platform]

> **Warning: Keep the two Android identifiers separate**
>
> The **Android Package Name** identifies the Android app and looks like
> `com.company.app`. The **Firebase Application ID** identifies the app inside
> Firebase and looks like `1:1234567890:android:abcdef`. These values are not
> interchangeable.

In the Firebase form, enter the [package name](https://docs.pandasuite.com/essentials/mobile-publishing/android/export-an-apk-or-aab-file/) of your application. It must exactly match the **Android Package Name** shown for the latest APK in PandaSuite under **Apps** > **Settings** > **Firebase Configuration**. The other fields are optional.

Generate an Android build before importing the Firebase configuration so that PandaSuite can identify its **Android Package Name**. This lets the importer select the matching client when `google-services.json` contains several Android apps.

[Image: Add Firebase to your Android app form: the Android package name field, followed by two optional fields]

Click on the **Download google-services.json** button

[Image: Second step of adding the Android app in Firebase: the Download google-services.json button, then the Next button]

For the next steps, click **Next** and return to the console

Go to your PandaSuite dashboard in the **Apps** > **Settings** > **Firebase Configuration** section

[Image: Firebase Configuration tab of the app settings: the Android Package Name com.pandasuite.… is framed]

Import `google-services.json`; the fields are automatically filled in and saved. When an **Android Package Name** is available, PandaSuite selects the client whose `client_info.android_client_info.package_name` matches it, then fills **Firebase Application ID** with `client_info.mobilesdk_app_id`. Without an existing Android build, the importer uses the first client in the file.

After importing, check that:

- **Android Package Name** uses a package format such as `com.company.app`.
- **Firebase Application ID** uses the long format `1:…:android:…`.

[Image: Firebase Configuration after the import: the Firebase Application ID field, in the long format 1:…:android:…, is framed]

> **Info**
>
> If you have already imported the .plist file corresponding to the iOS app in
> the interface, replace it with the .json file of the Android app.

Generate a new Android build. PandaSuite exposes the imported **Firebase Application ID** to Firebase as the Android `google_app_id` resource. If you edit a field manually after the import, click **Save Changes** before generating the build.
