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:
- Yang berubah
- Alasan kami melakukan perubahan ini
- Tanggal penting untuk perubahan ini
- Cara migrasi untuk menggunakan API KTX dari modul utama
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.
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") }
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