Erfahren Sie mehr über Android und Firebase

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 die ktx 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 google-services.json 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:

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 Eigenschaft unstrippedNativeLibsDir in der build.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