Während Sie Ihr Android-Projekt mit Firebase entwickeln, entdecken Sie möglicherweise Konzepte, die Ihnen unbekannt oder spezifisch für Firebase sind. Ziel dieser Seite ist es, diese Fragen zu beantworten oder Sie auf Ressourcen hinzuweisen, mit denen Sie mehr erfahren können.
Wenn Sie Fragen zu einem Thema haben, das auf dieser Seite nicht behandelt wird, besuchen Sie gerne eine unserer Online-Communities . Wir werden diese Seite außerdem regelmäßig mit neuen Themen aktualisieren. Schauen Sie also noch einmal 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 Assistant ist ein Android Studio-Plugin, das Ihre Android-App bei einem Firebase-Projekt registriert und die erforderlichen Firebase-Konfigurationsdateien, Plugins 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 auswählen, die Sie Ihrer App hinzufügen möchten, deklariert der Firebase-Assistent automatisch die erforderlichen Abhängigkeiten in Ihrer app/build.gradle
-Datei. Um jedoch Firebase-Funktionen zu nutzen, 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 Firebase Android BoM verwenden möchten, aktualisieren Sie die Abhängigkeiten in der Gradle-Datei Ihres Moduls (App-Ebene) (normalerweise
app/build.gradle
), um die BoM-Plattform zu importieren. Sie müssen außerdem die Versionen aus jeder Abhängigkeitszeile 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) hinzugefügt wurde (normalerweise
app/build.gradle
), um stattdessen diektx
Version der Firebase-Bibliothek zu verwenden.
Google-Dienste – Plugin und Konfigurationsdatei
Im Rahmen des Hinzufügens von Firebase zu Ihrem Android-Projekt müssen Sie das google-services
-Plugin und eine Konfigurationsdatei
zu Ihrem Projekt hinzufügen.
Wenn Sie Firebase über die Firebase-Konsole , die Management-REST-API oder die Firebase-CLI zu Ihrem Android-Projekt hinzufügen, müssen Sie das Plugin und die Konfigurationsdatei manuell zu Ihrem Projekt hinzufügen. Wenn Sie jedoch den Firebase Assistant verwenden, werden diese Aufgaben während der Einrichtung automatisch für Sie erledigt.
Besuchen Sie die Android-Dokumentation, um zu erfahren, wie das Google-Services-Plugin und die Konfigurationsdatei zusammenarbeiten.
Firebase Android Stückliste (Stückliste)
Mit der Stückliste (Bill of Materials) von Firebase Android können Sie alle Versionen Ihrer Firebase-Bibliothek verwalten, indem Sie nur eine Version angeben – die Stücklistenversion.
Wenn Sie die Firebase-Stückliste in Ihrer App verwenden, ruft die Stückliste automatisch die einzelnen Bibliotheksversionen ab, die der Stücklistenversion zugeordnet sind. Alle einzelnen Bibliotheksversionen sind kompatibel. Wenn Sie die Stücklistenversion in Ihrer App aktualisieren, werden alle Firebase-Bibliotheken, die Sie in Ihrer App verwenden, auf die Versionen aktualisiert, die dieser Stücklistenversion zugeordnet sind.
Um zu erfahren, welche Firebase-Bibliotheksversionen einer bestimmten BoM-Version zugeordnet sind, lesen Sie die Versionshinweise für diese BoM-Version. 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 Gradles Unterstützung für BoM-Plattformen .
So verwenden Sie die Firebase Android BoM, um Abhängigkeiten in der Gradle-Datei Ihres Moduls (App-Ebene) zu deklarieren (normalerweise app/build.gradle
). Bei Verwendung der Stückliste 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.4.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 Version 18.0.0 der App-Indexierung verwenden möchten, unabhängig davon, welche Version in der Stückliste angegeben ist, Sie aber die Versionen der Stückliste für Authentifizierung und Cloud Firestore verwenden möchten:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.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 tatsächlich Firebase-Bibliotheken 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
).
Durch die Verwendung der Stückliste wird sichergestellt, dass die Versionen aller Firebase-Bibliotheken in Ihrer App kompatibel sind. Die Stückliste fügt diese Firebase-Bibliotheken jedoch nicht tatsächlich zu Ihrer App hinzu.
Ja! Wenn Sie Ihre spezifischen Firebase-Bibliotheksabhängigkeitszeilen deklarieren, verwenden Sie einfach den KTX-Bibliotheksnamen, etwa so:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.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. Das Firebase Android BoM verwaltet nur Bibliotheksversionen für Firebase-Bibliotheken. Die einzige Ausnahme ist die Einbeziehung des Google Mobile Ads SDK, da es in Firebase-Apps so häufig verwendet wird.
Obwohl jede Firebase-Bibliothek unabhängig voneinander versioniert wird, werden sie gemeinsam erstellt, um sicherzustellen, dass die neueste Version jeder Bibliothek mit den anderen kompatibel ist.
Wenn Sie die Stückliste zum Verwalten der Firebase-Bibliotheksversionen Ihrer App verwenden, 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 BoM 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 lediglich die Stücklistenfunktion aktivieren und die Stückliste etwas anders importieren.
Fügen Sie zu Ihrer Datei
settings.gradle
enableFeaturePreview('IMPROVED_POM_SUPPORT')
hinzu.Importieren Sie in die Gradle-Datei Ihres Moduls (App-Ebene) (normalerweise
app/build.gradle
) die Stückliste wie eine normale Bibliothek (ohne denplatform
), etwa so:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:32.4.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-Stücklistenversionen
Bibliotheksmodule für Kotlin-Erweiterungen (KTX).
Die Bibliotheksmodule der Firebase Kotlin-Erweiterungen (KTX) sind kleine Ergänzungen zu den Hauptmodulen der Firebase-Bibliothek und Sie können sie zum Schreiben von schönem und idiomatischem Kotlin-Code verwenden.
Um ein KTX-Bibliotheksmodul in Ihrer App zu verwenden, ändern Sie Ihre Abhängigkeit so, dass sie das Suffix -ktx
enthält. Jedes KTX-Modul weist automatisch eine Abhängigkeit vom Hauptbibliotheksmodul auf, sodass nicht beide Abhängigkeiten in Ihre App einbezogen werden müssen.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:32.4.0')// Declare the main module implementation 'com.google.firebase:firebase-analytics'// Declare the KTX module instead (which automatically has a dependency on the main module) implementation 'com.google.firebase:firebase-analytics-ktx' }
Jedes KTX-Modul bietet unterschiedliche syntaktische Erweiterungen des Hauptmoduls. Das Analytics KTX-Modul vereinfacht beispielsweise die Protokollierung von Ereignissen:
Vorher (mit dem Hauptmodul)
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 das KTX-Modul verwenden)
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 ein KTX-Modul mit Ausnahme von Firebase ML und App Indexing.
Wenn Sie es noch nicht getan haben, sehen Sie sich die API-Referenzdokumente für die KTX-Module an.
Feature-Module und Play Feature Delivery
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 der build.gradle
Datei Ihres Basismoduls die folgende Abhängigkeit hinzu:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}
Nachdem Sie nun die Unterstützung dynamischer Module hinzugefügt haben, können Sie Firebase SDK-Abhängigkeiten (mit oder ohne Firebase BoM) zu Funktionsmodulen Ihrer App hinzufügen und diese wie gewohnt verwenden.
Wenn Ihre Anwendung beispielsweise eine Echtzeitdatenbank verwendet, um eine bestimmte Echtzeitfunktion zu betreiben, können Sie die firebase-database
zum build.gradle
des Funktionsmoduls und nicht zum Basismodul hinzufügen. Dadurch wird die Downloadgröße für die meisten Benutzer reduziert.
Beachten Sie die folgenden Einschränkungen, wenn Sie Firebase SDKs in Funktionsmodulen verwenden:
Produkte wie Dynamic Links oder Firebase In-App Messaging, die auf dem Analytics-Ereignis
first_open
basieren, können dieses Ereignis verpassen, wenn sie in einem dynamischen Funktionsmodul verwendet werden.Wenn Sie Cloud Firestore und Authentifizierung zusammen verwenden, sollten Sie beide immer in dasselbe Modul einbinden. 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 EigenschaftunstrippedNativeLibsDir
in derbuild.gradle
Datei Ihrer App festlegen, wie in der Crashlytics NDK-Dokumentation beschrieben.
Weitere Informationen zu Funktionsmodulen und Play Feature Delivery finden Sie unter Übersicht über Play Feature Delivery .
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-Plugin für Google-Dienste
- Ein Gradle-Plugin (
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 keinen Bezug zu Google Play-Diensten (siehe nächster Eintrag) und hat keinen Einfluss auf die Funktionen Ihrer App zur Laufzeit.
- Dieses Plugin verarbeitet auch die Datei
google-services.json
, die Sie im Rahmen der Einrichtung von Firebase zu Ihrer App hinzufügen. Erfahren Sie mehr über das Gradle-Plugin 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 ein 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 Verteilung, Veröffentlichungen usw. Ihrer App über die Google Play Console. Wenn ein Gerät über den Google Play Store verfügt, werden darauf auch Google Play-Dienste ausgeführt (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 mobiler Spiele
- Erfahren Sie mehr über die Google Play Games-Dienste und wie Sie Firebase in Ihr Google Play Games-Diensteprojekt 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!
Schnellstartbeispiele
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 ihn dann auf einem mobilen Gerä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 Play Games-Dienstprojekt