Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Fügen Sie Ihrem Unity-Projekt Firebase hinzu

Schalten Sie Ihre Unity- Spiele mit unseren Firebase Unity-SDKs ein.

Um zu zeigen, wie einfach es ist, Firebase in Ihr Unity-Projekt einzubinden, haben wir ein Beispielspiel, MechaHamster, erstellt, das Sie von GitHub , dem App Store und dem Google Play Store herunterladen können .

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play Store)


Weitere Informationen zum Einschalten Ihrer Spiele mit Firebase finden Sie auf unserer Firebase-Spieleseite .

Sie haben Ihrem Unity-Projekt bereits Firebase hinzugefügt? Stellen Sie sicher, dass Sie die neueste Version des Firebase Unity SDK verwenden .

Voraussetzungen

  • Installieren Sie Unity 2017.4 oder höher. Frühere Versionen sind möglicherweise auch kompatibel, werden jedoch nicht aktiv unterstützt.

  • (Nur iOS) Installieren Sie Folgendes:

    • Xcode 9.4.1 oder höher
    • CocoaPods 1.10.0 oder höher
  • Stellen Sie sicher, dass Ihr Unity-Projekt die folgenden Anforderungen erfüllt:

    • Für iOS - Ziel iOS 10 oder höher
    • Für Android - Ziel API Level 16 (Jelly Bean) oder höher
  • Richten Sie ein physisches Gerät ein oder verwenden Sie einen Emulator, um Ihre App auszuführen.

    • Für iOS - Richten Sie ein physisches iOS-Gerät ein oder verwenden Sie den iOS-Simulator.

    • Für Android - Emulatoren müssen ein Emulatorbild mit Google Play verwenden.

Wenn Sie noch kein Unity-Projekt haben und nur ein Firebase-Produkt ausprobieren möchten, können Sie eines unserer Schnellstartbeispiele herunterladen.

Schritt 1 : Erstellen Sie ein Firebase-Projekt

Bevor Sie Firebase zu Ihrem Unity-Projekt hinzufügen können, müssen Sie ein Firebase-Projekt erstellen, um eine Verbindung zu Ihrem Unity-Projekt herzustellen. Besuchen Sie Firebase-Projekte verstehen , um mehr über Firebase-Projekte zu erfahren.

Schritt 2 : Registrieren Sie Ihre App bei Firebase

Sie können eine oder mehrere Apps oder Spiele registrieren, um eine Verbindung mit Ihrem Firebase-Projekt herzustellen.

  1. Gehen Sie zur Firebase-Konsole .

  2. Klicken Sie in der Mitte der auf das Unity- Symbol ( ), um den Setup-Workflow zu starten.

    Wenn Sie Ihrem Firebase-Projekt bereits eine App hinzugefügt haben, klicken Sie auf App hinzufügen, um die Plattformoptionen anzuzeigen.

  3. Wählen Sie aus, welches Build-Ziel Ihres Unity-Projekts Sie registrieren möchten, oder wählen Sie sogar aus, ob beide Ziele jetzt gleichzeitig registriert werden sollen.

  4. Geben Sie die plattformspezifischen IDs Ihres Unity-Projekts ein.

    • Für iOS - Geben Sie die iOS-ID Ihres Unity-Projekts in das Feld iOS-Bundle-ID ein.

    • Für Android - Geben Sie die Android-ID Ihres Unity-Projekts in das Feld Name des Android-Pakets ein.
      Die Begriffe Paketname und Anwendungs-ID werden häufig synonym verwendet.

  5. (Optional) Geben Sie die plattformspezifischen Spitznamen Ihres Unity-Projekts ein.
    Diese Spitznamen sind interne Bequemlichkeitskennungen und nur für Sie in der Firebase-Konsole sichtbar.

  6. Klicken Sie auf App registrieren .

Schritt 3 : Fügen Sie Firebase-Konfigurationsdateien hinzu

  1. Beziehen Sie Ihre plattformspezifischen Firebase-Konfigurationsdateien im Setup-Workflow der Firebase-Konsole.

    • Für iOS - Klicken Sie auf GoogleService-Info.plist herunterladen .

    • Für Android - Klicken Sie auf Download google-services.json .

  2. Öffnen Sie das Projektfenster Ihres Unity-Projekts und verschieben Sie Ihre Konfigurationsdatei (en) in den Ordner " Assets ".

  3. Klicken Sie in der Firebase-Konsole im Setup-Workflow auf Weiter .

Schritt 4 : Fügen Sie Firebase Unity SDKs hinzu

  1. Klicken Sie in der Firebase-Konsole auf Firebase Unity SDK herunterladen und entpacken Sie das SDK an einem geeigneten Ort.

    • Sie können das Firebase Unity SDK jederzeit erneut herunterladen.

    • Das Firebase Unity SDK ist nicht plattformspezifisch.

  2. Navigieren Sie in Ihrem geöffneten Unity-Projekt zu Assets > Paket importieren > Benutzerdefiniertes Paket .

  3. Wählen Sie im entpackten SDK die unterstützten Firebase-Produkte aus , die Sie in Ihrer App verwenden möchten.

    Analytics aktiviert

    • Fügen Sie das Firebase-Paket für Google Analytics hinzu: FirebaseAnalytics.unitypackage
    • Fügen Sie die Pakete für alle anderen Firebase-Produkte hinzu, die Sie in Ihrer App verwenden möchten. So verwenden Sie beispielsweise die Firebase-Authentifizierung und die Firebase-Echtzeitdatenbank:
      FirebaseAuth.unitypackage und FirebaseDatabase.unitypackage

    Analytics nicht aktiviert

    Fügen Sie die Pakete für die Firebase-Produkte hinzu, die Sie in Ihrer App verwenden möchten. So verwenden Sie beispielsweise die Firebase-Authentifizierung und die Firebase-Echtzeitdatenbank:
    FirebaseAuth.unitypackage und FirebaseDatabase.unitypackage

  4. Klicken Sie im Fenster " Unity-Paket importieren" auf " Importieren" .

  5. Klicken Sie in der Firebase-Konsole im Setup-Workflow auf Weiter .

Schritt 5 : Bestätigen Sie die Versionsanforderungen für die Google Play-Dienste

Für das Firebase Unity SDK für Android sind Google Play-Dienste erforderlich, die auf dem neuesten Stand sein müssen, bevor das SDK verwendet werden kann.

Fügen Sie zu Beginn Ihrer Anwendung den folgenden Code hinzu. Sie können nach Google Play-Diensten suchen und diese optional auf die vom Firebase Unity SDK erforderliche Version aktualisieren, bevor Sie andere Methoden im SDK aufrufen.

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

Du bist fertig! Ihr Unity-Projekt ist registriert und für die Verwendung von Firebase konfiguriert.

Bekannte Probleme

.NET-Kompatibilität bei Verwendung von Unity 2017.x und höher

Firebase unterstützt .NET 4.x als experimentelle Build-Option in Unity 2017 und höher. Firebase-Plugins verwenden Komponenten des Parse SDK , um einige .NET 4.x-Klassen in früheren Versionen von .NET bereitzustellen.

Daher bietet das Firebase Unity SDK Version 5.4.0 und höher Plugins, die entweder mit .NET 3.x oder .NET 4.x in den dotnet3 und dotnet4 des Firebase Unity SDK kompatibel sind.

Wenn Sie ein Firebase-Plugin importieren, das nicht mit der in Ihrem Projekt aktivierten .NET-Version kompatibel ist, werden Kompilierungsfehler von einigen Typen im .NET-Framework angezeigt, die vom Parse SDK implementiert werden.

So beheben Sie den Kompilierungsfehler, wenn Sie .NET 3.x verwenden:

  1. Entfernen oder deaktivieren Sie die folgenden DLLs für alle Plattformen:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll
  2. Aktivieren Sie die folgenden DLLs für alle Plattformen:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll

So beheben Sie den Kompilierungsfehler, wenn Sie .NET 4.x verwenden:

  1. Entfernen oder deaktivieren Sie die folgenden DLLs für alle Plattformen:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. Aktivieren Sie die folgenden DLLs für alle Plattformen:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

Wenn Sie ein anderes Firebase-Plugin importieren:

  • Navigieren Sie in Ihrem Unity-Projekt zu Assets > Play Services Resolver > Versionshandler > Aktualisieren , um die richtigen DLLs für Ihr Projekt zu aktivieren.

Unity 2017.1 IL2CPP-Kompilierung in .NET 4.x-Projekten

Firebase unterstützt .NET 4.x als experimentelle Build-Option in Unity 2017 und höher. Firebase-Plugins verwenden Komponenten des Parse SDK , um einige .NET 4.x-Klassen in früheren Versionen von .NET bereitzustellen.

Daher bietet das Firebase Unity SDK Version 5.4.0 und höher Typweiterleitungs-DLLs, die System.Threading.Tasks.Task (z. B. Parse-Implementierung von System.Threading.Tasks.Task ) an das .NET-Framework System.Threading.Tasks.Task . Leider verarbeitet IL2CPP (ein Transpiler, der C # in C ++ konvertiert), das in Unity 2017.1.x ausgeliefert wird, die Typweiterleitungs-DLLs nicht korrekt, was zu Erstellungsfehlern führt, die den folgenden ähneln:

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to
resolve System.Threading.Tasks.TaskCompletionSource`1<T>

Derzeit ist keine Problemumgehung für .NET 4.x IL2CPP-Erstellungsfehler in Unity 2017.1 verfügbar. Sie müssen daher ein Upgrade auf Unity 2017.2 oder höher durchführen, um .NET 4.x in mit IL2CPP kompilierten Projekten verwenden zu können.

Unity 2017.2-Vernetzung

Firebase Realtime Database erstellt TLS-Netzwerkverbindungen mithilfe des .NET-Netzwerkstapels. Die TLS-Funktionalität ist in Unity 2017.2 bei Verwendung von .NET 4.6 fehlerhaft, was dazu führt, dass das Echtzeitdatenbank-Plugin in Editoren und auf dem Desktop fehlschlägt.

Für dieses Problem gibt es keine Problemumgehung. Sie müssen daher eine andere Version von Unity verwenden, z. B. Version 2017.1 oder 2017.3.

Fehlende Firebase Android-Konfigurationsdatei in Unity 2020.

Um Versionen von Unity zu unterstützen, die den Gradle-Build nicht anpassen können, generiert das Firebase-Editor-Tool Assets/Plugins/Android/Firebase/res/values/google-services.xml als Android-Ressource, die in eine Assets/Plugins/Android/Firebase/res/values/google-services.xml soll Android-Build, damit das Firebase SDK damit die Standard-FirebaseApp-Instanz initialisieren kann.

In Unity 2020 müssen sich alle Android-Ressourcen in Verzeichnissen mit dem Suffix .androidlib . Wenn Ihr Projekt ein Firebase-SDK verwendet, das ein Assets/Plugins/Android/Firebase Verzeichnis generiert, benennen Sie es in Assets/Plugins/Android/Firebase.androidlib . AndroidManifest.xml Sie sicher, dass es AndroidManifest.xml , project.properties und res/values/google-services.xml .

Ein Problem mit Single Dex beim Erstellen einer Android-App

Beim Erstellen der Android-App kann es zu einem Buildfehler kommen, der mit einer einzelnen Dex-Datei zusammenhängt. Die Fehlermeldung sieht wie folgt aus, wenn Ihr Projekt für die Verwendung des Gradle-Build-Systems konfiguriert ist.

Cannot fit requested classes in a single dex file.

Dalvik Executable ( .dex ) -Dateien werden verwendet, um eine Reihe von Klassendefinitionen und die zugehörigen Zusatzdaten für Android-Anwendungen ( .apk ) zu .apk . Eine einzelne Dex-Datei kann nur auf 65.536 Methoden verweisen. Der Build schlägt fehl, wenn die Gesamtzahl der Methoden aus allen Android-Bibliotheken in Ihrem Projekt diese Grenze überschreitet.

Unity führte 20172.2 Minification ein, das Proguard (oder andere Tools in einigen Versionen von Unity) verwendet, um nicht verwendeten Code zu entfernen, wodurch die Gesamtzahl der Methoden, auf die verwiesen wird, in einer einzelnen Dex-Datei reduziert werden kann. Die Option finden Sie unter Player-Einstellungen> Android> Veröffentlichungseinstellungen> Minimieren . Die Optionen können in verschiedenen Versionen von Unity unterschiedlich sein. Weitere Informationen finden Sie in der offiziellen Unity-Dokumentation.

Wenn die Anzahl der Methoden, auf die multidex wird, den Grenzwert immer noch überschreitet, können Sie auch multidex . In Unity gibt es mehrere Möglichkeiten, dies zu erreichen:

  • Wenn die Custom Gradle Template unter Player Settings aktiviert ist, ändern Sie mainTemplate.gradle .
  • Wenn Sie das exportierte Projekt mit Android Studio erstellen, ändern build.gradle Datei build.gradle auf build.gradle .

Weitere Details finden Sie im Multidex-Benutzerhandbuch .

Einrichten eines Desktop-Workflows ( Beta )

Wenn Sie ein Spiel erstellen, ist es oft viel einfacher, Ihr Spiel zuerst im Unity-Editor und auf Desktop-Plattformen zu testen und später in der Entwicklung auf Mobilgeräten bereitzustellen und zu testen. Um diesen Workflow zu unterstützen, stellen wir eine Teilmenge der Firebase Unity-SDKs bereit, die unter Windows, MacOS, Linux und im Unity-Editor ausgeführt werden können.

  1. Richten Sie ein Unity-Projekt für eine Desktop-Plattform ein, indem Sie die gleichen Anweisungen wie für eine mobile Plattform befolgen (beginnen Sie mit dem obigen Schritt Registrieren Sie Ihre App bei Firebase ).

  2. Führen Sie Ihr Unity-Projekt in der Unity-IDE aus oder wählen Sie, um Ihr Unity-Projekt für den Desktop zu erstellen.

  3. (Optional) Führen Sie Ihr Unity-Projekt im Bearbeitungsmodus aus.

    Das Firebase Unity SDK kann auch im Bearbeitungsmodus von Unity ausgeführt werden, sodass es in Editor-Plugins verwendet werden kann.

    1. Verwenden Sie beim Erstellen einer vom Editor verwendeten FirebaseApp nicht die Standardinstanz.

    2. FirebaseApp.Create() stattdessen dem Aufruf von FirebaseApp.Create() einen eindeutigen Namen.

      Dies ist wichtig, um einen Optionskonflikt zwischen der von der Unity-IDE verwendeten Instanz und der von Ihrem Unity-Projekt verwendeten Instanz zu vermeiden.

Unterstützte Firebase-Produkte

Weitere Informationen zu den Unity Firebase-Bibliotheken finden Sie in der Referenzdokumentation .

Das Firebase Unity SDK unterstützt die folgenden Firebase-Produkte unter iOS und Android :

Firebase-Produkt Einheitspaket
AdMob Wird separat im AdMob Unity Plugin verteilt
Analytik FirebaseAnalytics.unitypackage
Authentifizierung FirebaseAuth.unitypackage
Cloud Firestore (Beta) FirebaseFirestore.unitypackage
Cloud-Funktionen FirebaseFunctions.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
(empfohlen) FirebaseAnalytics.unitypackage
Cloud-Speicher FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(empfohlen) FirebaseAnalytics.unitypackage
Dynamische Links FirebaseDynamicLinks.unitypackage
(empfohlen) FirebaseAnalytics.unitypackage
Echtzeitdatenbank FirebaseDatabase.unitypackage
Remote-Konfiguration FirebaseRemoteConfig.unitypackage
(empfohlen) FirebaseAnalytics.unitypackage

Unterstützte Firebase-Produkte (Desktop)

Das Firebase Unity SDK bietet Desktop-Workflow-Unterstützung für eine Teilmenge von Produkten, sodass bestimmte Teile von Firebase im Unity-Editor und in eigenständigen Desktop-Builds unter Windows, MacOS und Linux verwendet werden können.

Firebase-Produkt (Desktop) Einheitspaket
Authentifizierung FirebaseAuth.unitypackage
Cloud-Funktionen FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud-Speicher FirebaseStorage.unitypackage
Echtzeitdatenbank FirebaseDatabase.unitypackage
Remote-Konfiguration FirebaseRemoteConfig.unitypackage

Firebase stellt die verbleibenden Desktop-Bibliotheken als Stub-Implementierungen (nicht funktionsfähig) zur Verfügung, um das Erstellen für Windows, MacOS und Linux zu vereinfachen. Daher müssen Sie keinen bedingten Code kompilieren, um auf den Desktop abzuzielen.

Nächste Schritte