Version: 2021.1
Using UDP with other services
UDP reference

Using Firebase with UDP builds

Implementing Firebase in your Android games lets you leverage the Firebase product layer, for example for analytics or crashlytics. If your game uses Firebase, additional configuration is required to support the builds that Unity Distribution Portal (UDP) creates for different stores.

When your app invokes Firebase products, Firebase checks that the following information matches the details registered on the Firebase console:

  • The package name of the app
  • The certificate the app was signed with
  • The google_app_id in the Android package (APK) resource

These details must match in order for Firebase to provide accurate analysis.

For certain stores where you publish your game via UDP, UDP adds a store-specific suffix to the package name. Additionally, if you don’t use your own private key to generate the certificate, UDP generates a certificate for each repacked build. These events would cause your certificate and/or package name to no longer match the information on the Firebase console.

The UDP console displays a warning for Firebase services if you register your app to stores that need a package name suffix.

Firebase services warning in UDP console
Firebase services warning in UDP console

To enable your store-specific builds to work correctly with Firebase, you must register them with your Firebase project. The following sections explain how to configure Firebase for your UDP builds.

Configuring Firebase for your UDP builds

This section gives an overview of the steps required to configure Firebase for your UDP builds (apps). For more detailed information, see the Firebase documentation.

Prerequisites

Note: During the process to register your app, you can download a google-services.json file. Unity recommends that you register all your package versions before you download this file.

  1. Register your app with Firebase.
    • Use the store-specific package name from the UDP console: My Games > Publish > Store > Advanced page.
  2. In the Firebase console, go to Project Settings and add your app’s fingerprint store certificate.
    • If you use your own key, get your fingerprint with the command:
      keytool -keystore path-to-your-keystore -list -v
    • If you don’t use your own key, use the SHA1 certificate for the corresponding UDP store (UDP Console > My Games > Publish > Store > Advanced)
    • You can also download the APK certificate and get the fingerprint information with the command:
      openssl x509 -in path-to-your-certificate -fingerprint -noout

Repeat these steps for each store-specific app you want to link to your Firebase project. Firebase adds an App ID for each app you add.

When you’ve registered all your apps, add the Firebase configuration file to your Unity project.

Adding Firebase configuration files

When you register an app in Firebase, Firebase creates a google-services.json configuration file. When you’ve added all your apps to Firebase, download the file and add it to your project.

  1. In the Firebase console go to your app’s Project Settings page.
  2. Download the google-services.json file.
  3. Copy the google-services.json file into your Unity project’s Assets folder.

Your project is now properly configured for Firebase. To ensure stable operation of your app, rebuild and publish your project.

Adding your Firebase ID in the UDP console

For each build you’ve added to Firebase, in the UDP console, add the App ID:

  1. Copy the build-specific App ID from Firebase.
  2. In the UDP console, go to My Games > Publish > Store > Advanced page.
    1. Paste the App ID into the Firebase App ID field.
    2. Select Save.

Rebuilding your project

  1. In the Unity Editor, rebuild your project.
  2. Upload your build to the UDP console.
  3. Release a new revision.
  4. In the Publish tab, select each store you want to publish.
    1. Set the target step to Submit to Store.
    2. Select Publish.

For more information on these steps, see Managing and publishing your game on the UDP console.

Using UDP with other services
UDP reference