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 diektx
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
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:
So überschreiben Sie eine in der Stückliste angegebene Bibliotheksversion:
Pflegen Sie die Zeile zum Importieren der Stücklistenplattform.
Geben Sie in der Abhängigkeitszeile der Bibliothek die gewünschte Bibliotheksversion an. So deklarieren Sie beispielsweise Abhängigkeiten, wenn Sie v18.0.0 von App Indexing verwenden möchten, unabhängig davon, welche Version in der BoM angegeben ist, Sie aber die Versionen der BoM für die Authentifizierung und Cloud Firestore verwenden möchten:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Nein. Um Firebase-Bibliotheken tatsächlich in Ihrer App hinzuzufügen und zu verwenden, müssen Sie jede Bibliothek als separate Abhängigkeitszeile in Ihrer Modul-Gradle-Datei (auf App-Ebene) deklarieren (normalerweise app/build.gradle
).
Die Verwendung der BoM stellt sicher, dass die Versionen aller Firebase-Bibliotheken in Ihrer App kompatibel sind, aber die BoM fügt diese Firebase-Bibliotheken nicht wirklich zu Ihrer App hinzu.
Ja! Wenn Sie Ihre spezifischen Firebase-Bibliotheksabhängigkeitszeilen deklarieren, verwenden Sie einfach den KTX-Bibliotheksnamen wie folgt:
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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Nein. Die Firebase Android BoM verwaltet nur Bibliotheksversionen für Firebase-Bibliotheken. Die einzige Ausnahme ist die Einbeziehung des Google Mobile Ads SDK, da es so häufig in Firebase-Apps verwendet wird.
Obwohl jede Firebase-Bibliothek unabhängig versioniert wird, werden sie zusammengebaut, um sicherzustellen, dass die neueste Version jeder Bibliothek mit den anderen kompatibel ist.
Indem Sie die BoM verwenden, um die Firebase-Bibliotheksversionen Ihrer App zu verwalten, müssen Sie nicht nachverfolgen, welche Version einer Firebase-Bibliothek mit einer anderen Firebase-Bibliothek kompatibel ist.
Auch wenn Sie derzeit nur eine Firebase-Bibliothek in Ihrer App verwenden, empfehlen wir dennoch die Verwendung der BoM, da Sie nie wissen, wann Sie möglicherweise eine andere Firebase-Bibliothek verwenden möchten!
Ja, Sie können die Stückliste weiterhin verwenden! Für Gradle 5.0 und höher ist die BoM-Unterstützung automatisch aktiviert. Für frühere Versionen von Gradle müssen Sie jedoch nur die BoM-Funktion aktivieren und die BoM etwas anders importieren.
Fügen Sie Ihrer
settings.gradle
DateienableFeaturePreview('IMPROVED_POM_SUPPORT')
hinzu.Importieren Sie die BoM wie eine normale Bibliothek (ohne den
platform
) in Ihre Modul-Gradle-Datei (App-Ebene ) (normalerweiseapp/build.gradle
):dependencies { // Import the Firebase BoM implementation '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' }
Besuchen Sie das Firebase Android SDK-Repository auf GitHub .
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 dieunstrippedNativeLibsDir
Eigenschaft in derbuild.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
- Abhängigkeiten von Firebase Android SDKs von Google Play-Diensten
- Verknüpfen Sie Ihre Firebase-App mit Google Play
- Integrieren Sie es in Ihr Projekt für Play Games-Dienste