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 zrobić, 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 pakiecie 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 w wersji 32.5.0 lub nowszej albo wersji modułu głównego wymienionych w BoM w 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 wspiera 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 nasze pakiety SDK Firebase na Androida będą teraz lepiej obsługiwać język Kotlin. Wszystkie nowe funkcje przyjazne dla języka Kotlin dodamy bezpośrednio do naszych głównych modułów.
Ważne daty związane z tą zmianą
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óły znajdziesz w informacjach o wersji opisujących tę zmianę). 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 opublikowane wcześniej wersje modułu KTX lub BoM będą nadal działać, ale są teraz wycofane z utrzymania. 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 Androidzie 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ąć korzystać z 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.0.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.0.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