Firebase verstärkt sein Engagement für Kotlin und wir arbeiten an der Modernisierung unseres Android-Ökosystems, um Kotlin mit Firebase zugänglicher und benutzerfreundlicher zu machen.
Um diese Modernisierung zu erreichen, nehmen wir einige Änderungen an unseren Firebase SDKs für Android vor. Auf dieser Seite werden wichtige Informationen zu dieser Änderung beschrieben, darunter:
- Was ändert sich?
- Der Grund, warum wir diese Änderung vornehmen
- Wichtige Termine für diese Änderung
- So migrieren Sie zur Verwendung von KTX-APIs vom Hauptmodul
Was ändert sich?
Die Kotlin-Erweiterungs-APIs (KTX) wurden zu ihren jeweiligen Hauptmodulen hinzugefügt. Beispielsweise wurden alle APIs von firebase-perf-ktx
zu firebase-perf
im Paket com.google.firebase.perf
hinzugefügt.
Diese Änderung bedeutet, dass sich Kotlin-Entwickler nun auf die Hauptmodule statt auf die KTX-Module verlassen können (bei Verwendung von Firebase BoM v32.4.0+ oder den in BoM v32.4.0+ aufgeführten Hauptmodulversionen).
Im Rahmen dieser Änderung sind die APIs der Kotlin-Erweiterungen (KTX) in jedem KTX-Modul nun veraltet. Bereits im April 2024 werden wir keine KTX-Module mehr veröffentlichen und zu diesem Zeitpunkt auch die KTX-Bibliotheken aus dem Firebase Android BoM entfernen.
Warum nehmen wir diese Änderung vor?
Firebase setzt sich für ein Kotlin-First- Ökosystem für Android-Entwickler ein. Diese Verpackungsmodernisierung bietet folgende Vorteile:
Vereinfachtes Abhängigkeitsmanagement: Sie müssen sich jetzt nur noch auf ein einzelnes Modul verlassen, sodass Sie nicht mehr zwischen dem Hauptmodul und den Kotlin-Erweiterungen wechseln oder sich auf beide verlassen müssen.
Verbesserte Kotlin-Unterstützung: Alle unsere 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 integrieren.
Wichtige Termine für diese Änderung
Erfahren Sie mehr über die Meilensteine dieser Veränderung.
Im Oktober 2023
Die Kotlin-Erweiterungs-APIs (KTX) wurden zu ihren jeweiligen Hauptmodulen hinzugefügt, und die Kotlin-Erweiterungs-APIs (KTX) in jedem KTX-Modul wurden veraltet. Sehen Sie sich die Versionshinweise an, in denen diese Änderung angekündigt wird.
Sie können die KTX-APIs jetzt direkt von den Hauptmodulen aus verwenden, wenn Sie Firebase BoM v32.4.0+ oder in BoM v32.4.0+ aufgeführte Hauptmodulversionen verwenden.
Während dieser veralteten Phase funktionieren die veralteten APIs in den KTX-Modulen weiterhin und werden gewartet.
Bereits im April 2024
Wir werden die Veröffentlichung neuer Versionen der KTX-Module einstellen und die KTX-Module aus der Firebase-Stückliste entfernen.
Alle zuvor veröffentlichten Versionen eines KTX-Moduls oder der BoM funktionieren weiterhin, ihre Wartung endet jedoch. Das bedeutet, dass wir keine Fehlerbehebungen, abwärtskompatiblen Änderungen und neuen Funktionen mehr zu den KTX-Modulen hinzufügen werden. Stattdessen wird die gesamte zukünftige Entwicklung für Firebase auf Android in den Hauptmodulen (sowohl für Java als auch für Kotlin) erfolgen.
So migrieren Sie zur Verwendung von KTX-APIs aus den Hauptmodulen
Wenn Sie derzeit Kotlin-Erweiterungs-APIs (KTX) verwenden, nehmen Sie die folgenden Aktualisierungen in Ihrer App vor, um die APIs der Hauptmodule anstelle der KTX-Module zu verwenden.
Überarbeiten Sie Ihre Gradle-Abhängigkeiten, um sich auf das Hauptmodul und nicht auf das KTX-Modul zu verlassen. Wenn Sie beispielsweise die Firebase Android BoM verwenden (empfohlen) :
VOR
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:32.4.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.4.0 or higher implementation(platform("com.google.firebase:firebase-bom:32.4.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") }
VOR
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:22.2.0") implementation("com.google.firebase:firebase-firestore-ktx:24.9.0") }
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.4.0 or higher implementation("com.google.firebase:firebase-auth:22.2.0") implementation("com.google.firebase:firebase-firestore:24.9.0") }
Aktualisieren Sie Ihren Code, um alle Vorkommen der KTX-APIs durch die verschobenen APIs im Hauptmodul unter dem Paket
com.google.firebase
zu ersetzen.VOR
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