Firebase มุ่งมั่นที่จะใช้ Kotlin มากขึ้น และเรากําลังปรับปรุงระบบนิเวศ Android ให้ทันสมัยเพื่อให้ Kotlin เข้าถึงได้ง่ายและใช้งานร่วมกับ Firebase ได้ง่ายขึ้น
เรากําลังทําการเปลี่ยนแปลงบางอย่างกับ Firebase SDK สําหรับ Android เพื่อให้ทันสมัยยิ่งขึ้น หน้านี้จะอธิบายข้อมูลสำคัญเกี่ยวกับการเปลี่ยนแปลงนี้ ซึ่งรวมถึงข้อมูลต่อไปนี้
- สิ่งที่เปลี่ยนแปลงไป
- เหตุผลที่เราทำการเปลี่ยนแปลงนี้
- วันที่สําคัญสําหรับการเปลี่ยนแปลงนี้
- วิธีเปลี่ยนไปใช้ KTX API จากโมดูลหลัก
สิ่งที่เปลี่ยนแปลง
เพิ่ม 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 ออกจาก Firebase Android BoM ด้วย
เพราะเหตุใดเราจึงทำการเปลี่ยนแปลงนี้
Firebase มุ่งมั่นที่จะสร้างระบบนิเวศเน้น Kotlin เป็นหลักสำหรับนักพัฒนาแอป Android การปรับปรุงแพ็กเกจนี้มีข้อดีดังนี้
การจัดการทรัพยากรแบบง่าย: ตอนนี้คุณต้องใช้เพียงโมดูลเดียวเท่านั้น จึงไม่จำเป็นต้องสลับระหว่างโมดูลหลักกับส่วนขยาย Kotlin หรือใช้ทั้ง 2 อย่าง
การรองรับ Kotlin ที่ดีขึ้น: ตอนนี้ Firebase SDK ทั้งหมดสำหรับ 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 BoM
โมดูล KTX หรือ BoM เวอร์ชันที่เผยแพร่ก่อนหน้านี้จะยังคงทำงานต่อไป แต่จะเข้าสู่ช่วงสิ้นสุดการบำรุงรักษา ซึ่งหมายความว่าเราจะหยุดเพิ่มการแก้ไขข้อบกพร่อง การเปลี่ยนแปลงที่เข้ากันได้แบบย้อนหลัง และฟีเจอร์ใหม่ๆ ลงในโมดูล KTX แต่การพัฒนา Firebase สำหรับ Android ในอนาคตทั้งหมดจะดำเนินการในโมดูลหลัก (ทั้ง Java และ Kotlin)
วิธีย้ายข้อมูลไปใช้ KTX API จากโมดูลหลัก
หากคุณใช้ API ของส่วนขยาย Kotlin (KTX) ให้ทําการอัปเดตต่อไปนี้ในแอปเพื่อเริ่มใช้ API จากโมดูลหลักแทนโมดูล KTX
แก้ไข Dependency ของ Gradle ให้ใช้โมดูลหลักแทนที่จะเป็นโมดูล KTX ตัวอย่างเช่น หากคุณใช้ Firebase Android BoM (แนะนำ)
ก่อน
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:33.10.0")) // 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.10.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") }
หากคุณไม่ได้ใช้ Firebase Android BoM
ก่อน
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:23.2.0") implementation("com.google.firebase:firebase-firestore-ktx:25.1.2") }
หลังจาก
dependencies { // ... // No need to use the KTX libraries, everything is now in the main module // Make sure to use a version listed in Firebase BoM v32.5.0 or higher implementation("com.google.firebase:firebase-auth:23.2.0") implementation("com.google.firebase:firebase-firestore:25.1.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