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:
- Co się zmienia
- Powód, dla którego wprowadzamy tę zmianę
- Ważne daty dotyczące tej zmiany
- Jak przejść na interfejsy API KTX z modułu głównego
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.
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") }
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