Firebase усиливает свою приверженность Kotlin, и мы работаем над модернизацией нашей экосистемы Android, чтобы сделать Kotlin более доступным и простым в использовании с Firebase.
Чтобы выполнить эту модернизацию, мы вносим несколько изменений в наши Firebase SDK для Android. На этой странице представлена важная информация об этом изменении, в том числе:
- Что меняется
- Причина, по которой мы вносим это изменение
- Важные даты для этого изменения
- Как перейти на использование API KTX из основного модуля
Узнайте, как перенести ваше приложение
Что меняется?
API-интерфейсы расширений Kotlin (KTX) были добавлены в соответствующие основные модули. Например, все API-интерфейсы из firebase-perf-ktx
были добавлены в firebase-perf
в пакете com.google.firebase.perf
.
Это изменение означает, что разработчики Kotlin теперь могут полагаться на основные модули вместо модулей KTX (при использовании Firebase BoM v32.5.0+ или версий основного модуля, перечисленных в BoM v32.5.0+).
В рамках этого изменения API-интерфейсы расширений Kotlin (KTX) в каждом модуле KTX устарели. Уже в апреле 2024 года мы больше не будем выпускать модули KTX, а также удалим библиотеки KTX из BoM Firebase Android.
Почему мы вносим это изменение?
Firebase стремится создать экосистему Kotlin для разработчиков Android. Такая модернизация упаковки дает следующие преимущества:
Упрощенное управление зависимостями: теперь вам нужно зависеть только от одного модуля, что устраняет необходимость переключаться между основным модулем и расширениями Kotlin или зависеть от обоих.
Расширенная поддержка Kotlin: все наши SDK Firebase для Android теперь обеспечивают улучшенную поддержку Kotlin. Мы включим все новые функции, удобные для Kotlin, непосредственно в наши основные модули.
Важные даты для этого изменения
В октябре 2023 г.
API-интерфейсы расширений Kotlin (KTX) были добавлены в соответствующие основные модули. Это означает, что теперь вы можете использовать API-интерфейсы KTX непосредственно из основных модулей при использовании Firebase BoM v32.5.0+ или версий основного модуля, перечисленных в BoM v32.5.0+.
Параллельно API-интерфейсы расширения Kotlin (KTX) в модулях KTX были объявлены устаревшими (см. примечания к выпуску , описывающие это изменение). На этапе прекращения поддержки устаревшие API в модулях KTX будут продолжать функционировать и поддерживаться.
Уже в апреле 2024 г.
Мы прекратим выпуск новых версий модулей KTX и удалим модули KTX из спецификации Firebase.
Любая ранее выпущенная версия модуля KTX или BoM продолжит работать, но их обслуживание будет прекращено . Это означает, что мы прекратим добавлять исправления ошибок, обратно совместимые изменения и новые функции в модули KTX. Вместо этого вся будущая разработка Firebase на Android будет осуществляться в основных модулях (как для Java, так и для Kotlin).
Как перейти на использование API KTX из основных модулей
Если вы используете API-интерфейсы расширений Kotlin (KTX), внесите следующие обновления в свое приложение, чтобы начать использовать API-интерфейсы из основных модулей вместо модулей KTX.
Пересмотрите зависимости Gradle, чтобы они полагались на основной модуль, а не на модуль KTX. Например, если вы используете Firebase Android BoM (рекомендуется) :
ДО
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") }
ПОСЛЕ
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") }
Обновите свой код, чтобы заменить все вхождения API KTX перемещенными API в главном модуле п��кета
com.google.firebase
.ДО
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
ПОСЛЕ
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase