了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Erfahren Sie mehr über Android und Firebase

Während Sie Ihr Android-Projekt mit Firebase entwickeln, entdecken Sie möglicherweise Konzepte, die Ihnen nicht vertraut oder spezifisch für Firebase sind. Diese Seite soll diese Fragen beantworten oder Sie auf Ressourcen verweisen, um mehr zu erfahren.

Wenn Sie Fragen zu einem Thema haben, das auf dieser Seite nicht behandelt wird, können Sie gerne eine unserer Online-Communities besuchen. Wir werden diese Seite auch regelmäßig mit neuen Themen aktualisieren, schauen Sie also wieder vorbei, um zu sehen, ob wir das Thema hinzugefügt haben, über das Sie mehr erfahren möchten!

Firebase Assistant-Plugin für Android Studio

Der Firebase-Assistent ist ein Android Studio-Plug-in, das Ihre Android-App bei einem Firebase-Projekt registriert und die erforderlichen Firebase-Konfigurationsdateien, Plug-ins und Abhängigkeiten zu Ihrem Android-Projekt hinzufügt – alles aus Android Studio heraus!

Befolgen Sie die Anweisungen auf der Seite „Erste Schritte“ für Android, um den Firebase-Assistenten zu verwenden. Stellen Sie sicher, dass Sie die aktuellsten Versionen von Android Studio und Firebase Assistant verwenden (gehen Sie zu Datei > Nach Updates suchen ).

Wenn Sie bestimmte Firebase-Produkte zum Hinzufügen zu Ihrer App auswählen, deklariert der Firebase-Assistent automatisch die erforderlichen Abhängigkeiten in Ihrer app/build.gradle Datei. Um jedoch Firebase-Funktionen zu verwenden, die über die aktuellen Möglichkeiten des Firebase-Assistenten hinausgehen, möchten Sie möglicherweise einige manuelle Änderungen an diesen Abhängigkeiten vornehmen:

  • Wenn Sie die Android-BoM von Firebase verwenden möchten, aktualisieren Sie die Abhängigkeiten in der Gradle-Datei Ihres Moduls (auf App-Ebene) (normalerweise app/build.gradle ), um die BoM-Plattform zu importieren. Sie müssen auch die Versionen aus jeder Abhängigkeitslinie der Firebase-Bibliothek entfernen.

  • Wenn Sie eine Kotlin-Erweiterungsbibliothek verwenden möchten, ändern Sie die Abhängigkeitszeile, die Ihrer Modul-Gradle-Datei (auf App-Ebene) (normalerweise app/build.gradle ) hinzugefügt wurde, um stattdessen die ktx Version der Firebase-Bibliothek zu verwenden.

Google-Dienste – Plugin und Konfigurationsdatei

Als Teil des Hinzufügens von Firebase zu Ihrem Android-Projekt müssen Sie Ihrem Projekt das google-services Plug-in und eine google-services.json Konfigurationsdatei hinzufügen.

Wenn Sie Ihrem Android-Projekt Firebase über die Firebase-Konsole , die Management-REST-API oder die Firebase-Befehlszeilenschnittstelle hinzufügen, müssen Sie das Plug-in und die Konfigurationsdatei manuell zu Ihrem Projekt hinzufügen. Wenn Sie jedoch den Firebase-Assistenten verwenden, werden diese Aufgaben während der Einrichtung automatisch für Sie erledigt.

Besuchen Sie die Android-Dokumentation, um zu erfahren, wie das Plug-in für Google-Dienste und die Konfigurationsdatei zusammenarbeiten.

Firebase Android Stückliste (Stückliste)

Mit der Firebase Android BoM (Bill of Materials) können Sie alle Ihre Firebase-Bibliotheksversionen verwalten, indem Sie nur eine Version angeben – die BoM-Version.

Wenn Sie die Firebase-Stückliste in Ihrer App verwenden, ruft die Stückliste automatisch die einzelnen Bibliotheksversionen ab, die der Version der Stückliste zugeordnet sind. Alle einzelnen Bibliotheksversionen sind kompatibel. Wenn Sie die BoM-Version in Ihrer App aktualisieren, werden alle Firebase-Bibliotheken, die Sie in Ihrer App verwenden, auf die Versionen aktualisiert, die dieser BoM-Version zugeordnet sind.

Um zu erfahren, welche Firebase-Bibliotheksversionen einer bestimmten BoM-Version zugeordnet sind, sehen Sie sich die Versionshinweise für diese BoM-Version an. Wenn Sie die einer Stücklistenversion zugeordneten Bibliotheksversionen mit einer anderen Stücklistenversion vergleichen müssen, verwenden Sie das Vergleichs-Widget unten.

Erfahren Sie mehr über die Unterstützung von Gradle für BoM-Plattformen .

So verwenden Sie die Firebase-Android-BoM, um Abhängigkeiten in Ihrer Modul-Gradle-Datei (auf App-Ebene) (normalerweise app/build.gradle ) zu deklarieren. Wenn Sie die Stückliste verwenden, geben Sie in den Abhängigkeitszeilen keine einzelnen Bibliotheksversionen an.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:32.1.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Hier sind einige häufig gestellte Fragen zur Verwendung der Firebase Android BoM:

Vergleichen Sie Firebase BoM-Versionen

Bibliotheken für Kotlin-Erweiterungen (KTX).

Firebase Kotlin Extensions (KTX)-Bibliotheken sind kleine Ergänzungen zu den Basis-Firebase-SDKs, mit denen Sie schönen und idiomatischen Kotlin-Code schreiben können.

Um eine KTX-Bibliothek in Ihrer App zu verwenden, ändern Sie Ihre Abhängigkeit so, dass sie das Suffix -ktx enthält. Jede KTX-Bibliothek hat automatisch eine Abhängigkeit von der Basisbibliothek, sodass Sie nicht beide Abhängigkeiten in Ihre App aufnehmen müssen.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:32.1.0')

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

Jede KTX-Bibliothek bietet verschiedene syntaktische Erweiterungen der Basisbibliothek. Beispielsweise vereinfacht die Analytics KTX-Bibliothek das Protokollieren von Ereignissen:

Vorher (unter Verwendung der Basisbibliothek)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

Nachher (stattdessen mit der KTX-Bibliothek)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Alle Firebase-Produkte bieten eine KTX-Bibliothek mit Ausnahme von Firebase ML und App Indexing.

Wenn Sie dies noch nicht getan haben, sehen Sie sich die API-Referenzdokumente für die KTX-Bibliotheken an.

Feature-Module und Bereitstellung von Play-Features

Ab Mai 2021 (Firebase BoM v28.0.0) können Firebase Android SDKs in dynamischen Funktionsmodulen verwendet werden, die separat von Ihrem Basisanwendungsmodul installiert werden.

Um die Unterstützung für dynamische Funktionsmodule zu aktivieren, fügen Sie die folgende Abhängigkeit zur build.gradle Datei Ihres Basismoduls hinzu:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

Nachdem Sie nun Unterstützung für dynamische Module hinzugefügt haben, können Sie Firebase SDK-Abhängigkeiten (mit oder ohne Firebase BoM) hinzufügen, um Module Ihrer App zu präsentieren, und sie wie gewohnt verwenden.

Wenn Ihre Anwendung beispielsweise Realtime Database verwendet, um eine bestimmte Echtzeitfunktion bereitzustellen, können Sie die firebase-database Abhängigkeit zu build.gradle des Funktionsmoduls statt zum Basismodul hinzufügen. Dadurch wird die Downloadgröße für die meisten Benutzer verringert.

Beachten Sie bei der Verwendung von Firebase-SDKs in Funktionsmodulen die folgenden Einschränkungen:

  • Produkte wie Dynamic Links oder Firebase In-App Messaging, die auf das Analytics first_open Ereignis angewiesen sind, verpassen dieses Ereignis möglicherweise, wenn sie in einem dynamischen Funktionsmodul verwendet werden.

  • Wenn Sie Cloud Firestore und Authentifizierung zusammen verwenden, sollten Sie beide immer in dasselbe Modul aufnehmen. Wenn dies nicht möglich ist, stellen Sie sicher, dass die Authentifizierung vor Cloud Firestore geladen wird; Andernfalls weisen einige Cloud Firestore-Vorgänge möglicherweise einen falschen Authentifizierungsstatus auf.

  • Wenn Sie firebase-crashlytics-ndk als Abhängigkeit eines dynamischen Funktionsmoduls verwenden, müssen Sie die unstrippedNativeLibsDir Eigenschaft in der build.gradle Datei Ihrer App festlegen, wie in der Crashlytics NDK-Dokumentation beschrieben.

Weitere Informationen zu Feature-Modulen und der Bereitstellung von Play-Funktionen finden Sie unter Übersicht über die Bereitstellung von Play-Funktionen .

Google-Dienste Gradle-Plugin vs. Google Play-Dienste vs. Google Play Store

Mehrere Teile des Google-, Firebase- und Android-Ökosystems haben ähnliche Namenskonventionen. Hier ist jeweils eine kurze Erklärung:

Gradle-Plug-in für Google-Dienste
Ein Gradle-Plug-in ( com.google.gms.google-services ), das zur Erstellungszeit ausgeführt wird, um sicherzustellen, dass Ihre App über die richtige Konfiguration für den Zugriff auf Firebase- und Google-APIs verfügt
Trotz seines Namens hat dieses Plugin keine Beziehung zu Google Play-Diensten (siehe nächster Eintrag) und hat keinen Einfluss auf die Fähigkeiten Ihrer App zur Laufzeit.
Dieses Plug-in verarbeitet auch die Datei google-services.json , die Sie Ihrer App als Teil der Einrichtung von Firebase hinzufügen. Erfahren Sie mehr über das Gradle-Plug-in für Google-Dienste .
Google Play-Dienste
Ein unsichtbarer Hintergrunddienst, der auf einem Android-Gerät ausgeführt wird und mehrere gängige Google-APIs (wie Google Maps und Google Sign In) für Apps auf dem Gerät bereitstellt
Durch die Zentralisierung dieser gemeinsamen APIs in einem einzigen Dienst wird die Größe anderer Apps reduziert und es einem Gerät ermöglicht, automatische Sicherheitsupdates und Funktionserweiterungen ohne Betriebssystem-Update zu erhalten. Erfahren Sie mehr über die Google Play-Dienste .
Google Play Store
Ein Store zum Herunterladen von Apps, Filmen, Büchern und mehr auf ein Android-Gerät
Als Entwickler verwalten Sie die Distribution, Releases etc. für Ihre App über die Google Play Console. Wenn ein Gerät über den Google Play Store verfügt, führt es auch Google Play-Dienste aus (siehe vorheriger Eintrag). Erfahren Sie mehr über den Google Play Store für Entwickler .
Google Play Games-Dienste
Eine Reihe von APIs für Entwickler von Handyspielen
Erfahren Sie mehr über Google Play Games-Dienste und wie Sie Firebase in Ihr Projekt für Google Play Games-Dienste integrieren .

Open-Source-Ressourcen für Firebase Android SDKs

Firebase unterstützt die Open-Source-Entwicklung und wir ermutigen Community-Beiträge und Feedback.

Firebase-Android-SDKs

Die meisten Firebase-Android-SDKs werden als Open-Source-Bibliotheken in unserem öffentlichen Firebase-GitHub-Repository entwickelt. Wir arbeiten aktiv daran, die verbleibenden privat entwickelten Firebase-Bibliotheken bald auf unseren öffentlichen GitHub zu verschieben!

Schnellstart-Beispiele

Firebase verwaltet eine Sammlung von Schnellstartbeispielen für die meisten Firebase-APIs auf Android. Diese Schnellstarts finden Sie in unserem öffentlichen Firebase-GitHub-Schnellstart-Repository .

Sie können jeden Schnellstart als Android Studio-Projekt öffnen und dann auf einem Mobilgerät oder einem virtuellen Gerät (AVD) ausführen. Oder Sie können diese Schnellstarts als Beispielcode für die Verwendung von Firebase SDKs verwenden.

Weitere interessante Themen