Перейдите на использование API-интерфейсов расширений Kotlin (KTX) в основных модулях.

Firebase усиливает свою приверженность Kotlin, и мы работаем над модернизацией нашей экосистемы Android, чтобы сделать Kotlin более доступным и простым в использовании с Firebase.

Чтобы выполнить эту модернизацию, мы вносим несколько изменений в наши Firebase SDK для Android. На этой странице представлена ​​важная информация об этом изменении, в том числе:


Узнайте, как перенести ваше приложение

Что меняется?

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.

  1. Пересмотрите зависимости 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")
    }
    


  2. Обновите свой код, чтобы заменить все вхождения 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