Przejdź na interfejsy API rozszerzeń Kotlin (KTX) w modułach głównych

Firebase zwiększa swoje zaangażowanie w Kotlin, a my pracujemy nad ekosystemu Androida, aby Kotlin stał się bardziej dostępny i prosty w obsłudze Firebase.

Aby dokonać tej modernizacji, wprowadzamy kilka zmian w naszych Pakiety SDK Firebase na Androida. Na tej stronie znajdziesz ważne informacje na ten temat zmiany, w tym:


Dowiedz się, jak przenieść aplikację

Co się zmienia?

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

Dzięki tej zmianie deweloperzy z platformy Kotlin mogą polegać na modułach głównych zamiast modułów KTX (gdy używasz funkcji Firebase BoM w wersji 32.5.0 lub nowszej lub głównych wersji modułu wymienionych w BM 32.5.0 lub nowszym).

W ramach tej zmiany w każdym module KTX zostaną dodane interfejsy API rozszerzeń Kotlin (KTX) została wycofana. W kwietniu 2024 r. przestaniemy udostępniać moduły KTX. usuniemy też biblioteki KTX z Firebase Android BoM.

Dlaczego wprowadzamy tę zmianę?

W Firebase Najpierw Kotlin dla deweloperów aplikacji na Androida. Ta modernizacja opakowań zapewnia następujące zalety:

  • Uproszczone zarządzanie zależnościami: teraz wystarczy polegać na jednym eliminuje konieczność przełączania się między modułem głównym a Kotlinem. lub korzystać z obu tych rozwiązań.

  • Ulepszona obsługa Kotlin: wszystkie pakiety SDK Firebase na Androida lepsze wsparcie aplikacji Kotlin. Wszystkie nowe, przyjazne środowisku Kotlin, bezpośrednio w modułach głównych.

Ważne daty dotyczące tej zmiany

W październiku 2023 r.

Do odpowiednich modułów głównych dodaliśmy interfejsy API rozszerzeń Kotlin (KTX). Możesz teraz używać interfejsów KTX API bezpośrednio z modułów głównych w przypadku użycia funkcji Firebase BoM w wersji 32.5.0 lub nowszej lub głównych wersji modułu wymienionych w BM 32.5.0 lub nowszym.

Z kolei interfejsy API rozszerzenia Kotlin (KTX) w modułach KTX zostały wycofane (zobacz opisujące to informacje o wersji. zmiana). W trakcie fazie dla wycofanych funkcji, wycofane interfejsy API w modułach KTX będą nadal działać i utrzymywane informacje.

Od kwietnia 2024 r.

Przestaniemy udostępniać nowe wersje modułów KTX i usuniemy KTX z Firebase BoM.

Każda wcześniej opublikowana wersja modułu KTX lub BoM będzie nadal , ale wpiszą końcowego etapu konserwacji. Oznacza to, że przestaniemy dodawać poprawki błędów i zmiany zgodne wstecznie oraz w modułach KTX. Zamiast tego wszystkie przyszłe rozwiązania dla Firebase dotyczą Android zostanie umieszczony w modułach głównych (zarówno w języku Java, jak i w kotlinie).

Przejście na interfejsy KTX API z modułów głównych

Jeśli korzystasz z interfejsów API rozszerzeń Kotlin (KTX), wprowadź te aktualizacje w swojej aplikacji , aby zacząć korzystać z interfejsów API z modułów głównych zamiast KTX.

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

    PRZED

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
      // 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.5.0 or higher
      implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
      // 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 KTX APIs przeniesione interfejsy API w module głównym w pakiecie com.google.firebase.

    PRZED

    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