Przeprowadź migrację do korzystania z interfejsów API rozszerzeń Kotlin (KTX) w głównych modułach

Firebase zwiększa swoje zaangażowanie w Kotlin i pracujemy nad modernizacją naszego ekosystemu Androida, aby uczynić Kotlin bardziej dostępnym i łatwym w obsłudze dzięki Firebase.

Aby przeprowadzić tę modernizację, wprowadzamy kilka zmian w naszych pakietach SDK Firebase dla Androida. Na tej stronie znajdują się ważne informacje dotyczące tej zmiany, w tym:

Co się zmienia?

Interfejsy API rozszerzeń Kotlin (KTX) zostały dodane do odpowiednich modułów głównych. Na przykład wszystkie interfejsy API z firebase-perf-ktx zostały dodane do firebase-perf w ramach pakietu com.google.firebase.perf .

Ta zmiana oznacza, że ​​programiści Kotlina mogą teraz polegać na modułach głównych zamiast na modułach KTX (w przypadku korzystania z Firebase BoM v32.4.0+ lub wersji modułów głównych wymienionych w BoM v32.4.0+).

W ramach tej zmiany interfejsy API rozszerzeń Kotlin (KTX) w każdym module KTX są teraz przestarzałe. Już w kwietniu 2024 r. nie będziemy już wypuszczać modułów KTX, a także usuniemy wówczas biblioteki KTX z Firebase Android BoM.

Dlaczego wprowadzamy tę zmianę?

Firebase angażuje się w ekosystem oparty na Kotlinie dla programistów Androida. Ta modernizacja opakowań zapewnia następujące korzyści:

  • Uproszczone zarządzanie zależnościami: teraz musisz polegać tylko na jednym module, eliminując potrzebę przełączania się między modułem głównym a rozszerzeniami Kotlin lub polegania na obu.

  • Ulepszona obsługa Kotlina: wszystkie nasze zestawy SDK Firebase dla Androida będą teraz zapewniać lepszą obsługę Kotlina. Wszystkie nowe funkcje przyjazne dla Kotlina uwzględnimy bezpośrednio w naszych głównych modułach.

Ważne daty dla tej zmiany

Dowiedz się o kluczowych momentach tej zmiany.

W październiku 2023 r

Interfejsy API rozszerzeń Kotlin (KTX) zostały dodane do odpowiednich modułów głównych, a interfejsy API rozszerzeń Kotlin (KTX) w każdym module KTX zostały uznane za przestarzałe. Zobacz informacje o wersji ogłaszające tę zmianę.

Możesz teraz korzystać z interfejsów API KTX bezpośrednio z modułów głównych podczas korzystania z Firebase BoM v32.4.0+ lub wersji modułów głównych wymienionych w BoM v32.4.0+.

W tej fazie wycofania przestarzałe interfejsy API w modułach KTX będą nadal działać i być utrzymywane.

Już w kwietniu 2024 r

Przestaniemy wydawać nowe wersje modułów KTX i usuniemy moduły KTX z BoM Firebase.

Każda wcześniej wydana wersja modułu KTX lub BoM będzie nadal działać, ale ich konserwacja zakończy się . Oznacza to, że przestaniemy dodawać poprawki błędów, zmiany zapewniające kompatybilność wsteczną i nowe funkcje do modułów KTX. Zamiast tego cały przyszły rozwój Firebase na Androida będzie realizowany w głównych modułach (zarówno dla Java, jak i Kotlin).

Jak przeprowadzić migrację, aby korzystać z API KTX z głównych modułów

Jeśli obecnie korzystasz z interfejsów API rozszerzeń Kotlin (KTX), wprowadź następujące aktualizacje w swojej aplikacji, aby rozpocząć korzystanie z interfejsów API z modułów głównych zamiast modułów KTX.

  1. Zmień zależności Gradle, aby polegać na module głównym, a nie na module KTX. Na przykład, jeśli używasz Firebase Android BoM (zalecane) :

    ZANIM

    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")
    }
    

    PO

    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. Zaktualizuj swój kod, aby zastąpić wszystkie wystąpienia interfejsów API KTX przeniesionymi interfejsami API w module głównym w pakiecie com.google.firebase .

    ZANIM

    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
    

    PO

    import com.google.firebase.auth.auth
    import com.google.firebase.firestore.firestore
    import com.google.firebase.firestore.toObject
    import com.google.firebase.Firebase