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")
}Если вы не используете Firebase Android BoM
ДО
dependencies {
// ...
// Using KTX libraries for Authentication and Cloud Firestore
implementation("com.google.firebase:firebase-auth-ktx:23.0.0")
implementation("com.google.firebase:firebase-firestore-ktx:25.0.0")
}ПОСЛЕ
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.5.0 or higher
implementation("com.google.firebase:firebase-auth:23.0.0")
implementation("com.google.firebase:firebase-firestore:25.0.0")
}Обновите свой код, чтобы заменить все вхождения 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