Firebase Database Quickstart
The Firebase Database Unity Sample demonstrates
Firebase Realtime Database
with the
Firebase Unity SDK
inside the Unity Editor.
- Unity The quickstart project requires 2019 or higher.
- Xcode 13.3.1 or higher
(when developing for iOS or tvOS).
- Android SDK
(when developing for Android).
Running the Sample inside the Editor
- Download the
Firebase Unity SDK
and unzip it somewhere convenient.
- Open the sample project in the Unity editor.
- Select the File > Open Project menu item.
- If Unity Hub appears, click Add. Otherwise click Open.
- Navigate to the sample directory testapp in the file dialog and click
Open.
- You might be prompted to upgrade the project to your version of Unity.
Click Confirm to upgrade the project and continue.
- Open the scene MainScene.
- Navigate to Assets/Firebase/Sample/Database in the Project window.
- Double click on the MainScene file to open it.
- Import the Firebase Database plugin.
- Select the Assets > Import Package > Custom Package menu item.
- From the Firebase Unity SDK
downloaded previously, import FirebaseDatabase.unitypackage.
- When the Import Unity Package window appears, click the Import
button.
- Turn off secure access.
Configure your rules for public access.
Once you have done this, you can run the Unity Editor and test the application.
You will be able to enter an email, a score, and press Add Score to see the
leaderboard update.
- The Score field accepts a numeric score that will be added to the
leaderboard.
- The Add Score button only appears once an email is entered. It uses a
Firebase Database transaction to record the score if it falls within the
current top 5 all time scores.
Once you are ready to secure your database, you can
configure your rules
with private or user access and still access the database within the editor
without logging in. To do this, you will need to create a service account and
register it with Firebase by following the steps in the
Unity getting started
documentation.
Building the Sample for Devices
- Register your iOS+ (iOS or tvOS) app with Firebase.
- Create a project in the
Firebase console.
- Associate your project to an app by clicking the Add app button,
and selecting the Unity icon.
- Check the box labeled Register as Apple app.
- You should use com.google.firebase.unity.database.testapp as the
Apple bundle ID when creating the Unity app in the console.
- If you do not use the prescribed Bundle ID, you will later need to
update the bundle identifier in Unity as described in
Optional: Update the Project Bundle Identifier below.
- Download the GoogleService-Info.plist file associated with your
Firebase project from the console. This file identifies your iOS+
app to the Firebase backend, and will need to be included in the sample
later.
- For further details please refer to the
general instructions
page which describes how to configure a Firebase application for iOS
and tvOS.
- Download the
Firebase Unity SDK
and unzip it somewhere convenient.
- Open the sample project in the Unity editor.
- Select the File > Open Project menu item.
- If Unity Hub appears, click Add. Otherwise click Open.
- Navigate to the sample directory testapp in the file dialog and click
Open.
- You might be prompted to upgrade the project to your version of Unity.
Click Confirm to upgrade the project and continue.
- Open the scene MainScene.
- Navigate to Assets/Firebase/Sample/Database in the Project window.
- Double click on the MainScene file to open it.
- Import the Firebase Database plugin.
- Select the Assets > Import Package > Custom Package menu item.
- From the Firebase Unity SDK
downloaded previously, import FirebaseDatabase.unitypackage.
- When the Import Unity Package window appears, click the Import
button.
- Add the GoogleService-Info.plist file to the project.
- Navigate to the Assets/Firebase/Sample/Auth folder in the Project
window.
- Drag the GoogleService-Info.plist downloaded from the Firebase console
into the folder.
- NOTE: GoogleService-Info.plist can be placed anywhere under the
Assets folder.
- Optional: Update the Project Bundle Identifier.
- If you did not use com.google.firebase.unity.database.testapp
as the Apple bundle ID when creating your app in the Firebase
Console, you will need to update the sample's Bundle Identifier.
- Select the File > Build Settings menu option.
- Select iOS or tvOS in the Platform list, depending on your
build target.
- Click Player Settings.
- In the Settings for iOS or Settings for tvOS panel, scroll down
to Bundle Identifier and update the value to the
Apple bundle ID you provided when you registered your app with
Firebase.
- Build for iOS or tvOS.
- Select the File > Build Settings menu option.
- Select either iOS or tvOS in the Platform list.
- Click Switch Platform to enable your selection as the target platform.
- Wait for the spinner (compiling) icon to stop in the bottom right corner
of the Unity status bar.
- Click Build and Run.
- Build the Xcode project by selecting Project > Run from the menu.
- Register your Android app with Firebase.
- Create a Unity project in the
Firebase console.
- Associate your project to an app by clicking the Add app button,
and selecting the Unity icon.
- You should use com.google.firebase.unity.database.testapp as the
Android package name while you're testing.
- If you do not use the prescribed package name, you will need to update
the bundle identifier as described in the
Optional: Update the Project Bundle Identifier below.
- Android apps must be signed by a key, and the key's signature must
be registered to your project in the Firebase Console. To
generate a SHA1,
first you will need to set the keystore in the Unity project.
- Locate the Publishing Settings under Player Settings in the
Unity editor.
- Select an existing keystore, or create a new keystore using the
toggle.
- Select an existing key, or create a new key using Create a new
key.
- After setting the keystore and key, you can generate a SHA1 by
running this command:
keytool -list -v -keystore <path_to_keystore> -alias <key_name>
- Copy the SHA1 digest string into your clipboard.
- Navigate to your Android App in your firebase console.
- From the main console view, click on your Android App at the top and
click the gear to open the settings page.
- Scroll down to your apps at the bottom of the page and click on
Add Fingerprint.
- Paste the SHA1 digest of your key into the form. The SHA1 box
will illuminate if the string is valid. If it's not valid, check
that you have copied the entire SHA1 digest string.
- Download the google-services.json file associated with your
Firebase project from the console.
This file identifies your Android app to the Firebase backend, and will
need to be included in the sample later.
- For further details please refer to the
general instructions
page which describes how to configure a Firebase application for
Android.
- Open the sample project in the Unity editor.
- Select the File > Open Project menu item.
- If Unity Hub appears, click Add. Otherwise click Open.
- Navigate to the sample directory testapp in the file dialog and click
Open.
- You might be prompted to upgrade the project to your version of Unity.
Click Confirm to upgrade the project and continue.
- Open the scene MainScene.
- Navigate to Assets/Firebase/Sample/Database in the Project window.
- Double click on the MainScene file to open it.
- You might be prompted to upgrade the project to your version of Unity.
Click Confirm to upgrade the project and continue.
- Import the Firebase Database plugin.
- Select the Assets > Import Package > Custom Package menu item.
- From the Firebase Unity SDK
downloaded previously, import FirebaseDatabase.unitypackage.
- When the Import Unity Package window appears, click the Import
button.
- Add the google-services.json file to the project.
- Navigate to the Assets/Firebase/Sample/Database folder in the
Project window.
- Drag the google-services.json downloaded from the Firebase console
into the folder.
- NOTE: google-services.json can be placed anywhere under the Assets
folder.
- Optional: Update the Project Bundle Identifier.
- If you did not use com.google.firebase.unity.database.testapp
as the Android package name when you created your app in the Firebase
Console, you will need to update the sample's Bundle Identifier.
- Select the File > Build Settings menu option.
- Select Android in the Platform list.
- Click Player Settings.
- In the Settings for Android panel scroll down to
Bundle Identifier and update the value to the Android package name
you provided when you registered your app with Firebase.
- Build for Android.
- Select the File > Build Settings menu option.
- Select Android in the Platform list.
- Click Switch Platform to select Android as the target platform.
- Wait for the spinner (compiling) icon to stop in the bottom right corner
of the Unity status bar.
- Click Build and Run.
This testapp was designed for use on iOS and Android targets, and when
running in the Unity editor. While the code will also execute on tvOS,
the buttons will be unresponsive as there isn't an easy way to provide
the app with the click / touch events to orchestrate the UI elements on
that platform.
- When upgrading to a new Firebase release: import the new firebase
unity package through Assets > Import Package > Custom Package as above.
After the import is complete you may need to run the Assets > Play
Services Resolver for the changes to be reflected in the editor. If
issues persist, delete the plugin and install it again.
- Android: After exiting the editor and returning you will need to
reconfigure the Project Keystore in Player Settings > Publishing
Settings. Select your Custom Keystore from the dropdown list and
enter its password. Then, select your Project Key alias and enter
your key's password.
- Please see the
Known Issues
section of the
Unity Setup Guide for other
troubleshooting topics.
- When running the app, if all that you see is a blue horizon, then please
ensure that you followed the steps to Open the scene MainScene
above.
https://firebase.google.com/support/
Copyright 2016 Google, Inc.
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.