Lakukan migrasi untuk menggunakan API ekstensi Kotlin (KTX) di modul utama

Firebase meningkatkan komitmennya terhadap Kotlin, dan kami sedang berupaya melakukan modernisasi ekosistem Android kami agar Kotlin lebih mudah diakses dan digunakan dengan Firebase.

Untuk mencapai modernisasi ini, kami melakukan beberapa perubahan pada Firebase SDK untuk Android. Halaman ini menjelaskan informasi penting tentang perubahan ini, termasuk:


Pelajari cara memigrasikan aplikasi Anda

Apa yang berubah?

API ekstensi Kotlin (KTX) telah ditambahkan ke modul utamanya masing-masing. Misalnya, semua API dari firebase-perf-ktx telah ditambahkan ke firebase-perf di bagian paket com.google.firebase.perf.

Perubahan ini berarti bahwa developer Kotlin kini dapat bergantung pada modul utama, bukan modul KTX (saat menggunakan Firebase BoM v32.5.0+ atau versi modul utama yang tercantum dalam BoM v32.5.0+).

Sebagai bagian dari perubahan ini, API ekstensi Kotlin (KTX) di setiap modul KTX kini tidak digunakan lagi. Mulai September 2024, kami tidak akan lagi merilis modul KTX, dan kami juga akan menghapus library KTX dari Firebase Android BoM pada saat itu.

Mengapa kami melakukan perubahan ini?

Firebase berkomitmen pada ekosistem yang mengutamakan Kotlin untuk developer Android. Modernisasi paket ini memberikan keunggulan berikut:

  • Menyederhanakan pengelolaan dependensi: Sekarang Anda hanya perlu bergantung pada satu modul, sehingga Anda tidak perlu beralih antara modul utama dan ekstensi Kotlin atau bergantung pada keduanya.

  • Dukungan Kotlin yang disempurnakan: Semua Firebase SDK untuk Android kini akan memberikan dukungan yang lebih baik untuk Kotlin. Kami akan menyertakan semua fitur baru yang cocok untuk Kotlin secara langsung dalam modul utama kami.

Tanggal penting untuk perubahan ini

Di bulan Oktober 2023

API ekstensi Kotlin (KTX) telah ditambahkan ke modul utamanya masing-masing. Artinya, Anda kini dapat menggunakan API KTX langsung dari modul utama saat menggunakan Firebase BoM v32.5.0+ atau versi modul utama yang tercantum dalam BoM v32.5.0+.

Secara paralel, API ekstensi Kotlin (KTX) dalam modul KTX tidak digunakan lagi (lihat catatan rilis yang menjelaskan perubahan ini). Selama fase penghentian, API yang tidak digunakan lagi dalam modul KTX akan terus berfungsi dan dipelihara.

Mulai awal September 2024

Kami akan berhenti merilis versi baru modul KTX, dan kami akan menghapus modul KTX dari Firebase BoM.

Setiap versi modul KTX atau BoM yang dirilis sebelumnya akan terus berfungsi, tetapi akan memasuki akhir pemeliharaan. Ini berarti kami akan berhenti menambahkan perbaikan bug, perubahan yang kompatibel dengan versi lama, dan fitur baru ke modul KTX. Sebagai gantinya, semua pengembangan mendatang untuk Firebase di Android akan dilakukan di modul utama (untuk Java dan Kotlin).

Cara migrasi untuk menggunakan API KTX dari modul utama

Jika Anda menggunakan API ekstensi Kotlin (KTX), lakukan update berikut di aplikasi Anda untuk mulai menggunakan API dari modul utama, bukan modul KTX.

  1. Revisi dependensi Gradle Anda untuk bergantung pada modul utama, bukan modul KTX. Misalnya, jika Anda menggunakan Firebase Android BoM (direkomendasikan):

    BEFORE

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

    AFTER

    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.6.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. Update kode Anda untuk mengganti semua kemunculan API KTX dengan API yang dipindahkan di modul utama pada paket com.google.firebase.

    BEFORE

    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

    AFTER

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