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

Firebase zwiększa swoje zaangażowanie w Kotlin i pracuje nad unowocześnieniem ekosystemu Androida, aby Kotlin był bardziej dostępny i łatwiejszy w użyciu z Firebase.

Aby to osiągnąć, wprowadzamy kilka zmian w pakietach Firebase SDK na Androida. Na tej stronie znajdziesz ważne informacje o tej zmianie, w tym:


Dowiedz się, jak przeprowadzić migrację aplikacji

Co się zmienia?

Interfejsy Kotlin Extensions (KTX) API 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 pakiecie com.google.firebase.perf.

Ta zmiana oznacza, że deweloperzy Kotlina mogą teraz polegać na modułach głównych zamiast na modułach KTX (gdy używają Firebase BoM w wersji 32.5.0+ albo wersji modułu głównego wymienionej w BoM w wersji 32.5.0 lub nowszej).

W lipcu 2025 r. przestaliśmy udostępniać nowe wersje modułów KTX i usunęliśmy biblioteki KTX z Firebase Android BoM (wersja 34.0.0).

Dlaczego wprowadzamy tę zmianę?

Firebase dąży do stworzenia ekosystemu, w którym Kotlin jest najważniejszym językiem dla deweloperów Androida. Ta modernizacja pakowania zapewnia te korzyści:

  • Uproszczone zarządzanie zależnościami: teraz wystarczy, że będziesz polegać tylko na jednym module, co eliminuje konieczność przełączania się między modułem głównym a rozszerzeniami Kotlin lub polegania na obu.

  • Ulepszona obsługa Kotlina: wszystkie nasze pakiety Firebase SDK na Androida będą teraz lepiej obsługiwać Kotlin. Wszystkie nowe funkcje przyjazne dla Kotlina będziemy dodawać bezpośrednio do naszych modułów głównych.

Ważne daty związane z tą zmianą

Październik 2023 r.

W październiku 2023 r. interfejsy Kotlin Extensions (KTX) API zostały dodane do odpowiednich modułów głównych. Oznacza to, że możesz teraz używać interfejsów KTX API bezpośrednio z modułów głównych, gdy używasz Firebase BoM w wersji 32.5.0 lub nowszej albo wersji modułu głównego wymienionej w BoM w wersji 32.5.0 lub nowszej.

Równolegle interfejsy Kotlin Extension (KTX) API w modułach KTX zostały wycofane (więcej informacji znajdziesz w informacjach o wersji opisujących tę zmianę). W okresie wycofania, wycofane interfejsy API w modułach KTX będą nadal działać i będą utrzymywane.

Lipiec 2025 r.

W lipcu 2025 r. przestaliśmy udostępniać nowe wersje modułów KTX i usunęliśmy moduły KTX z Firebase BoM (począwszy od BoM w wersji 34.0.0).

Wszystkie wcześniej opublikowane wersje modułu KTX lub BoM będą nadal działać, ale nie będą już utrzymywane. Oznacza to, że nie będziemy dodawać do modułów KTX poprawek błędów, zmian zapewniających zgodność wsteczną ani nowych funkcji. Zamiast tego wszystkie przyszłe prace nad Firebase na Androida będą wykonywane tylko w modułach głównych (zarówno w Javie, jak i w Kotlinie).

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

Jeśli używasz interfejsów Kotlin Extensions (KTX) API, wprowadź w aplikacji te zmiany, aby zacząć korzystać z interfejsów API z modułów głównych zamiast z modułów KTX.

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

    PRZED

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:34.13.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.5.0 or higher
      implementation(platform("com.google.firebase:firebase-bom:34.13.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 kod, aby zastąpić wszystkie wystąpienia interfejsów KTX API przeniesionymi interfejsami 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