Firebase zwiększa swoje zaangażowanie w Kotlin i pracujemy nad modernizacją naszego ekosystemu Androida, aby uczynić Kotlin bardziej dostępnym i łatwym w obsłudze dzięki Firebase.
Aby przeprowadzić tę modernizację, wprowadzamy kilka zmian w naszych pakietach SDK Firebase dla Androida. Na tej stronie znajdują się ważne informacje dotyczące tej zmiany, w tym:
- Co się zmienia
- Powód, dla którego wprowadzamy tę zmianę
- Ważne daty dla tej zmiany
- Jak przeprowadzić migrację, aby korzystać z API KTX z modułu głównego
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
.
Ta zmiana oznacza, że programiści Kotlina mogą teraz polegać na modułach głównych zamiast na modułach KTX (w przypadku korzystania z Firebase BoM v32.4.0+ lub wersji modułów głównych wymienionych w BoM v32.4.0+).
W ramach tej zmiany interfejsy API rozszerzeń Kotlin (KTX) w każdym module KTX są teraz przestarzałe. Już w kwietniu 2024 r. nie będziemy już wypuszczać modułów KTX, a także usuniemy wówczas biblioteki KTX z Firebase Android BoM.
Dlaczego wprowadzamy tę zmianę?
Firebase angażuje się w ekosystem oparty na Kotlinie dla programistów Androida. Ta modernizacja opakowań zapewnia następujące korzyści:
Uproszczone zarządzanie zależnościami: teraz musisz polegać tylko na jednym module, eliminując potrzebę przełączania się między modułem głównym a rozszerzeniami Kotlin lub polegania na obu.
Ulepszona obsługa Kotlina: wszystkie nasze zestawy SDK Firebase dla Androida będą teraz zapewniać lepszą obsługę Kotlina. Wszystkie nowe funkcje przyjazne dla Kotlina uwzględnimy bezpośrednio w naszych głównych modułach.
Ważne daty dla tej zmiany
Dowiedz się o kluczowych momentach tej zmiany.
W październiku 2023 r
Interfejsy API rozszerzeń Kotlin (KTX) zostały dodane do odpowiednich modułów głównych, a interfejsy API rozszerzeń Kotlin (KTX) w każdym module KTX zostały uznane za przestarzałe. Zobacz informacje o wersji ogłaszające tę zmianę.
Możesz teraz korzystać z interfejsów API KTX bezpośrednio z modułów głównych podczas korzystania z Firebase BoM v32.4.0+ lub wersji modułów głównych wymienionych w BoM v32.4.0+.
W tej fazie wycofania przestarzałe interfejsy API w modułach KTX będą nadal działać i być utrzymywane.
Już w kwietniu 2024 r
Przestaniemy wydawać nowe wersje modułów KTX i usuniemy moduły KTX z BoM Firebase.
Każda wcześniej wydana wersja modułu KTX lub BoM będzie nadal działać, ale ich konserwacja zakończy się . Oznacza to, że przestaniemy dodawać poprawki błędów, zmiany zapewniające kompatybilność wsteczną i nowe funkcje do modułów KTX. Zamiast tego cały przyszły rozwój Firebase na Androida będzie realizowany w głównych modułach (zarówno dla Java, jak i Kotlin).
Jak przeprowadzić migrację, aby korzystać z API KTX z głównych modułów
Jeśli obecnie korzystasz z interfejsów API rozszerzeń Kotlin (KTX), wprowadź następujące aktualizacje w swojej aplikacji, aby rozpocząć korzystanie z interfejsów API z modułów głównych zamiast modułów KTX.
Zmień zależności Gradle, aby polegać na module głównym, a nie na module KTX. Na przykład, jeśli używasz Firebase Android BoM (zalecane) :
ZANIM
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:32.4.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.4.0 or higher implementation(platform("com.google.firebase:firebase-bom:32.4.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") }
ZANIM
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:22.2.0") implementation("com.google.firebase:firebase-firestore-ktx:24.9.0") }
PO
dependencies { // ... // No need to use the KTX libraries, everything is now in the main module // Make sure to use a version listed in Firebase BoM v32.4.0 or higher implementation("com.google.firebase:firebase-auth:22.2.0") implementation("com.google.firebase:firebase-firestore:24.9.0") }
Zaktualizuj swój kod, aby zastąpić wszystkie wystąpienia interfejsów API KTX przeniesionymi interfejsami API w module głównym w pakiecie
com.google.firebase
.ZANIM
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