Migrer vers l'utilisation des API des extensions Kotlin (KTX) dans les modules principaux

Firebase renforce son engagement envers Kotlin et nous travaillons à moderniser notre écosystème Android pour rendre Kotlin plus accessible et plus facile à utiliser avec Firebase.

Pour réaliser cette modernisation, nous apportons quelques modifications à nos SDK Firebase pour Android. Cette page décrit des informations importantes sur ce changement, notamment :

Qu'est-ce qui change ?

Les API des extensions Kotlin (KTX) ont été ajoutées à leurs modules principaux respectifs. Par exemple, toutes les API de firebase-perf-ktx ont été ajoutées à firebase-perf sous le package com.google.firebase.perf .

Ce changement signifie que les développeurs Kotlin peuvent désormais s'appuyer sur les modules principaux au lieu des modules KTX (lors de l'utilisation de Firebase BoM v32.4.0+ ou des versions de modules principaux répertoriées dans BoM v32.4.0+).

Dans le cadre de ce changement, les API des extensions Kotlin (KTX) de chaque module KTX sont désormais obsolètes. Dès avril 2024, nous ne publierons plus de modules KTX et nous supprimerons également les bibliothèques KTX de la BoM Android Firebase à ce moment-là.

Pourquoi faisons-nous ce changement ?

Firebase s'engage en faveur d'un écosystème Kotlin first pour les développeurs Android. Cette modernisation des emballages offre les avantages suivants :

  • Gestion simplifiée des dépendances : vous ne devez désormais dépendre que d'un seul module, éliminant ainsi le besoin de basculer entre le module principal et les extensions Kotlin ou de dépendre des deux.

  • Prise en charge améliorée de Kotlin : tous nos SDK Firebase pour Android offriront désormais une meilleure prise en charge de Kotlin. Nous inclurons toutes les nouvelles fonctionnalités compatibles avec Kotlin directement dans nos modules principaux.

Dates importantes pour ce changement

Découvrez les étapes de ce changement.

En octobre 2023

Les API des extensions Kotlin (KTX) ont été ajoutées à leurs modules principaux respectifs, et les API de l'extension Kotlin (KTX) dans chaque module KTX sont devenues obsolètes. Consultez les notes de version annonçant ce changement.

Vous pouvez désormais utiliser les API KTX directement à partir des modules principaux lorsque vous utilisez Firebase BoM v32.4.0+ ou les versions de module principal répertoriées dans BoM v32.4.0+.

Pendant cette phase obsolète , les API obsolètes des modules KTX continueront de fonctionner et d'être maintenues.

Dès avril 2024

Nous arrêterons de publier de nouvelles versions des modules KTX et nous supprimerons les modules KTX de la BoM Firebase.

Toute version précédemment publiée d'un module KTX ou de la BoM continuera à fonctionner, mais entrera en fin de maintenance . Cela signifie que nous arrêterons d'ajouter des corrections de bugs, des modifications rétrocompatibles et de nouvelles fonctionnalités aux modules KTX. Au lieu de cela, tous les développements futurs de Firebase sur Android seront effectués dans les modules principaux (pour Java et Kotlin).

Comment migrer pour utiliser les API KTX à partir des modules principaux

Si vous utilisez actuellement les API des extensions Kotlin (KTX), effectuez les mises à jour suivantes dans votre application pour commencer à utiliser les API des modules principaux au lieu des modules KTX.

  1. Révisez vos dépendances Gradle pour vous appuyer sur le module principal plutôt que sur le module KTX. Par exemple, si vous utilisez la BoM Android Firebase (recommandé) :

    AVANT

    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")
    }
    

    APRÈS

    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")
    }
    


  2. Mettez à jour votre code pour remplacer toutes les occurrences des API KTX par les API déplacées dans le module principal sous le package com.google.firebase .

    AVANT

    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
    

    APRÈS

    import com.google.firebase.auth.auth
    import com.google.firebase.firestore.firestore
    import com.google.firebase.firestore.toObject
    import com.google.firebase.Firebase