Firebase zwiększa swoje zaangażowanie w Kotlin i pracujemy nad modernizacją naszego ekosystemu Androida, aby Kotlin był bardziej dostępny i łatwiejszy w użyciu z Firebase.
Aby to osiągnąć, wprowadzamy kilka zmian w pakietach SDK Firebase na Androida. Na tej stronie znajdziesz ważne informacje o tej zmianie, w tym:
- Co się zmienia
- Dlaczego wprowadzamy tę zmianę
- Ważne daty związane z tą zmianą
- Jak przejść na interfejsy API KTX z głównego modułu
Dowiedz się, jak przenieść aplikację
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.
Oznacza to, że deweloperzy Kotlin mogą teraz korzystać z modułów głównych zamiast modułów KTX (gdy używają Firebase BoM wersji 32.5.0 lub nowszej albo wersji modułu głównego wymienionych w BoM wersji 32.5.0 lub nowszej).
W lipcu 2025 r. przestaliśmy wydawać nowe wersje modułów KTX i usunęliśmy biblioteki KTX z Firebase Android BoM (wersja 34.0.0).
Dlaczego wprowadzamy tę zmianę?
Firebase dba o ekosystem Kotlin-first dla deweloperów aplikacji na Androida. Modernizacja pakietów zapewnia te korzyści:
Uproszczone zarządzanie zależnościami: wystarczy teraz polegać 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 języka Kotlin: wszystkie pakiety SDK Firebase na Androida będą teraz lepiej obsługiwać język Kotlin. Wszystkie nowe funkcje obsługujące język Kotlin dodamy bezpośrednio do naszych głównych modułów.
Ważne daty dotyczące tej zmiany
W październiku 2023 r.
W październiku 2023 r. interfejsy API rozszerzeń Kotlin (KTX) zostały dodane do odpowiednich modułów głównych, co oznacza, że możesz teraz używać interfejsów API KTX bezpośrednio z modułów głównych, jeśli korzystasz z wersji Firebase BoM 32.5.0 lub nowszej albo z wersji modułu głównego wymienionych w BoM 32.5.0 lub nowszych.
Równolegle wycofaliśmy interfejsy API rozszerzenia Kotlin (KTX) w modułach KTX (szczegółowe informacje o tej zmianie znajdziesz w informacjach o wersji). W fazie wycofywania wycofane interfejsy API w modułach KTX będą nadal działać i będziemy je utrzymywać.
W lipcu 2025 r.
W lipcu 2025 r. przestaliśmy publikować nowe wersje modułów KTX i usunęliśmy je z Firebase BoM (począwszy od BoM wersji 34.0.0).
Wszystkie wcześniej opublikowane wersje modułu KTX lub BoM będą nadal działać, ale są teraz wycofane. Oznacza to, że nie będziemy dodawać do modułów KTX poprawek błędów, zmian zapewniających zgodność wsteczną ani nowych funkcji. W przyszłości wszystkie prace nad Firebase na Androida będą prowadzone tylko w modułach głównych (zarówno w przypadku Javy, jak i Kotlin).
Jak przeprowadzić migrację, aby korzystać z interfejsów KTX API w modułach głównych
Jeśli używasz interfejsów API rozszerzeń Kotlin (KTX), wprowadź w aplikacji te zmiany, aby zacząć używać interfejsów API z modułów głównych zamiast z modułów KTX.
Zmień zależności Gradle, aby korzystać z modułu głównego zamiast modułu 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.6.0")) // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx") implementation("com.google.firebase:firebase-firestore-ktx") }
AFTER
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.6.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") }
Zaktualizuj kod, aby zastąpić wszystkie wystąpienia interfejsów API KTX 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
AFTER
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase