Esegui la migrazione all'utilizzo delle API di estensioni Kotlin (KTX) nei moduli principali

Firebase sta aumentando il suo impegno nei confronti di Kotlin e stiamo lavorando per modernizzare il nostro ecosistema Android per rendere Kotlin più accessibile e facile da usare con Firebase.

Per portare a termine questa modernizzazione, stiamo apportando alcune modifiche ai nostri SDK Firebase per Android. Questa pagina descrive informazioni importanti su questa modifica, tra cui:


Scopri come eseguire la migrazione dell'app

Che cosa cambia?

Le API delle estensioni Kotlin (KTX) sono state aggiunte ai rispettivi moduli principali. Ad esempio, tutte le API di firebase-perf-ktx sono state aggiunte a firebase-perf nel pacchetto com.google.firebase.perf.

Questa modifica significa che gli sviluppatori Kotlin ora possono dipendere dai moduli principali anziché dai moduli KTX (quando utilizzano Firebase BoM v32.5.0+ o versioni del modulo principale elencate in BoM v32.5.0+).

A luglio 2025, abbiamo interrotto la pubblicazione di nuove versioni dei moduli KTX e rimosso le librerie KTX dal Firebase Android BoM (v34.0.0).

BoM

Perché stiamo apportando questa modifica?

Firebase si impegna a creare un ecosistema Kotlin-first per gli sviluppatori Android. Questa modernizzazione del packaging offre i seguenti vantaggi:

  • Gestione delle dipendenze semplificata: ora devi dipendere da un solo modulo, eliminando la necessità di passare dal modulo principale alle estensioni Kotlin o di dipendere da entrambi.

  • Supporto Kotlin migliorato: tutti i nostri SDK Firebase per Android ora forniranno un supporto migliore per Kotlin. Includeremo tutte le nuove funzionalità compatibili con Kotlin direttamente nei nostri moduli principali.

Date importanti per questa modifica

A ottobre 2023

A ottobre 2023, le API delle estensioni Kotlin (KTX) sono state aggiunte ai rispettivi moduli principali, il che significa che ora puoi utilizzare le API KTX direttamente dai moduli principali quando utilizzi Firebase BoM v32.5.0+ o versioni del modulo principale elencate in BoM v32.5.0+.

Parallelamente, le API delle estensioni Kotlin (KTX) nei moduli KTX sono state ritirate (consulta le note di rilascio che descrivono questa modifica). Durante la fase di ritiro, le API ritirate nei moduli KTX continueranno a funzionare e a essere gestite.

A luglio 2025

A luglio 2025, abbiamo interrotto la pubblicazione di nuove versioni dei moduli KTX e abbiamo rimosso i moduli KTX dal Firebase BoM (a partire da BoM v34.0.0).

Qualsiasi versione rilasciata in precedenza di un modulo KTX o del BoM continuerà a funzionare, ma ora è in fase di fine manutenzione. Ciò significa che non aggiungeremo correzioni di bug, modifiche compatibili con le versioni precedenti o nuove funzionalità ai moduli KTX. Al contrario, tutti gli sviluppi futuri per Firebase su Android verranno eseguiti solo nei moduli principali (sia per Java che per Kotlin).

Come eseguire la migrazione per utilizzare le API KTX dai moduli principali

Se utilizzi le API delle estensioni Kotlin (KTX), apporta i seguenti aggiornamenti nella tua app per iniziare a utilizzare le API dai moduli principali anziché dai moduli KTX.

  1. Modifica le dipendenze Gradle in modo che si basino sul modulo principale anziché sul modulo KTX. Ad esempio, se utilizzi il Firebase Android BoM (consigliato):

    PRIMA DI

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:34.13.0"))
    
      // Using KTX libraries for Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth-ktx")
      implementation("com.google.firebase:firebase-firestore-ktx")
    }

    DOPO IL GIORNO

    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:34.13.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. Aggiorna il codice per sostituire tutte le occorrenze delle API KTX con le API spostate nel modulo principale nel pacchetto com.google.firebase.

    PRIMA DI

    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

    DOPO IL GIORNO

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