Firebase setzt verstärkt auf Kotlin und wir arbeiten daran, unser Android-System zu modernisieren, damit Kotlin mit Firebase noch einfacher und zugänglicher wird.
Um diese Modernisierung zu erreichen, nehmen wir einige Änderungen an unseren Firebase SDKs für Android vor. Auf dieser Seite finden Sie wichtige Informationen zu dieser Änderung, darunter:
- Was ändert sich?
- Grund für diese Änderung
- Wichtige Termine für diese Änderung
- KTX APIs aus dem Hauptmodul verwenden
Weitere Informationen zur Migration Ihrer App
Was ändert sich?
Die Kotlin-Erweiterungen (KTX) wurden den jeweiligen Hauptmodulen hinzugefügt. Beispiel: Alle APIs von firebase-perf-ktx
wurden firebase-perf
im Paket com.google.firebase.perf
hinzugefügt.
Durch diese Änderung können Kotlin-Entwickler jetzt die Hauptmodule anstelle der KTX-Module verwenden, wenn sie Firebase BoM v32.5.0 oder höher oder die in BoM v32.5.0 oder höher aufgeführten Hauptmodulversionen verwenden.
Im Rahmen dieser Änderung werden die KTX-APIs (Kotlin Extensions) in jedem KTX-Modul eingestellt. Ab September 2024 werden wir keine KTX-Module mehr veröffentlichen und die KTX-Bibliotheken aus der Firebase Android BoM entfernen.
Warum nehmen wir diese Änderung vor?
Firebase setzt auf ein Kotlin-first-Entwicklungsumfeld für Android-Entwickler. Diese Verpackungsmodernisierung bietet folgende Vorteile:
Vereinfachtes Abhängigkeitsmanagement:Sie müssen jetzt nur noch von einem einzigen Modul abhängig sein. Es ist nicht mehr nötig, zwischen dem Hauptmodul und den Kotlin-Erweiterungen zu wechseln oder von beiden abhängig zu sein.
Erweiterter Kotlin-Support:Alle Firebase SDKs für Android bieten jetzt eine bessere Unterstützung für Kotlin. Wir werden alle neuen Kotlin-freundlichen Funktionen direkt in unsere Hauptmodule aufnehmen.
Wichtige Termine für diese Änderung
Oktober 2023
Die Kotlin-Erweiterungen (KTX) wurden den jeweiligen Hauptmodulen hinzugefügt. Wenn Sie Firebase BoM v32.5.0 oder höher oder die in BoM v32.5.0 oder höher aufgeführten Hauptmodulversionen verwenden, können Sie die KTX-APIs jetzt direkt aus den Hauptmodulen verwenden.
Parallel dazu wurden die Kotlin-Erweiterungs-APIs (KTX) in den KTX-Modulen eingestellt. Weitere Informationen zu dieser Änderung finden Sie in den Versionshinweisen. Während der Phase der Einstellung funktionieren die eingestellten APIs in den KTX-Modulen weiterhin und werden gewartet.
Schon ab September 2024
Wir veröffentlichen keine neuen Versionen der KTX-Module mehr und entfernen sie aus der Firebase BoM.
Alle zuvor veröffentlichten Versionen eines KTX-Moduls oder der BoM funktionieren weiterhin, aber die Wartung endet. Das bedeutet, dass wir den KTX-Modulen keine Fehlerkorrekturen, rückwärtskompatiblen Änderungen und neuen Funktionen mehr hinzufügen werden. Stattdessen werden alle zukünftigen Entwicklungen für Firebase auf Android in den Hauptmodulen (sowohl für Java als auch für Kotlin) durchgeführt.
Von den Hauptmodulen zu KTX-APIs migrieren
Wenn Sie APIs für Kotlin-Erweiterungen (KTX) verwenden, nehmen Sie die folgenden Änderungen an Ihrer App vor, um die APIs aus den Hauptmodulen anstelle der KTX-Module zu verwenden.
Überarbeiten Sie Ihre Gradle-Abhängigkeiten, damit sie sich auf das Hauptmodul und nicht auf das KTX-Modul beziehen. Wenn Sie beispielsweise Firebase Android BoM verwenden (empfohlen):
VORHER
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:33.10.0")) // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx") implementation("com.google.firebase:firebase-firestore-ktx") }
NACH
dependencies { // ... // Import the Firebase BoM as usual // Make sure to use Firebase BoM v32.5.0 or higher implementation(platform("com.google.firebase:firebase-bom:33.10.0")) // No need to use the KTX libraries, everything is now in the main module implementation("com.google.firebase:firebase-auth") implementation("com.google.firebase:firebase-firestore") }
Wenn Sie das Firebase Android BoM nicht verwenden
VORHER
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:23.2.0") implementation("com.google.firebase:firebase-firestore-ktx:25.1.2") }
NACH
dependencies { // ... // No need to use the KTX libraries, everything is now in the main module // Make sure to use a version listed in Firebase BoM v32.5.0 or higher implementation("com.google.firebase:firebase-auth:23.2.0") implementation("com.google.firebase:firebase-firestore:25.1.2") }
Aktualisieren Sie Ihren Code, um alle Vorkommen der KTX-APIs im Hauptmodul unter dem
com.google.firebase
-Paket durch die verschobenen APIs zu ersetzen.VORHER
import com.google.firebase.auth.ktx.auth import com.google.firebase.firestore.ktx.firestore import com.google.firebase.firestore.ktx.toObject import com.google.firebase.ktx.Firebase
NACH
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase