Wechseln Sie zur Verwendung der Kotlin-Erweiterungs-APIs (KTX) in den Hauptmodulen

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?

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.

  1. Ü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")
    }
    


  2. 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