Firebase กำลังเพิ่มความมุ่งมั่นต่อ Kotlin และเรากำลังดำเนินการปรับปรุงระบบนิเวศ Android ของเราให้ทันสมัย เพื่อให้ Kotlin เข้าถึงได้มากขึ้นและใช้งานง่ายด้วย Firebase
เพื่อให้การปรับปรุงทันสมัยนี้สำเร็จ เรากำลังทำการเปลี่ยนแปลงเล็กน้อยกับ Firebase SDK สำหรับ Android หน้านี้อธิบายข้อมูลสำคัญเกี่ยวกับการเปลี่ยนแปลงนี้ ได้แก่:
- มีอะไรเปลี่ยนแปลงบ้าง
- เหตุผลที่เราทำการเปลี่ยนแปลงนี้
- วันสำคัญสำหรับการเปลี่ยนแปลงนี้
- วิธีโยกย้ายเพื่อใช้ KTX API จากโมดูลหลัก
มีอะไรเปลี่ยนแปลงบ้าง?
เพิ่ม Kotlin extensions (KTX) API ลงในโมดูลหลักที่เกี่ยวข้องแล้ว ตัวอย่างเช่น API ทั้งหมดจาก firebase-perf-ktx
ได้ถูกเพิ่มไปยัง firebase-perf
ภายใต้แพ็คเกจ com.google.firebase.perf
การเปลี่ยนแปลงนี้หมายความว่านักพัฒนา Kotlin สามารถพึ่งพาโมดูลหลักแทนโมดูล KTX ได้ (เมื่อใช้ Firebase BoM v32.4.0+ หรือเวอร์ชันโมดูลหลักที่แสดงอยู่ใน BoM v32.4.0+)
ส่วนหนึ่งของการเปลี่ยนแปลงนี้คือ Kotlin extensions (KTX) APIs ในทุกโมดูล KTX เลิกใช้งานแล้ว ภายในเดือนเมษายน 2024 เราจะไม่เปิดตัวโมดูล KTX อีกต่อไป และเราจะลบไลบรารี KTX ออกจาก Firebase Android BoM ในขณะนั้นด้วย
เหตุใดเราจึงทำการเปลี่ยนแปลงนี้
Firebase มุ่งมั่นที่จะสร้างระบบนิเวศ ที่เน้น Kotlin เป็นหลัก สำหรับนักพัฒนาซอฟต์แวร์ Android การปรับปรุงบรรจุภัณฑ์ให้ทันสมัยนี้มีข้อดีดังต่อไปนี้:
การจัดการการพึ่งพาที่ง่ายขึ้น: ตอนนี้คุณต้องพึ่งพาโมดูลเดียวเท่านั้น โดยไม่จำเป็นต้องสลับระหว่างโมดูลหลักและส่วนขยาย Kotlin หรือขึ้นอยู่กับทั้งสองโมดูล
การสนับสนุน Kotlin ที่ได้รับการปรับปรุง: Firebase SDK สำหรับ Android ของเราทั้งหมดจะให้การสนับสนุน Kotlin ได้ดีขึ้น เราจะรวมฟีเจอร์ใหม่ๆ ที่เป็นมิตรกับ Kotlin ไว้ในโมดูลหลักของเราโดยตรง
วันสำคัญสำหรับการเปลี่ยนแปลงนี้
เรียนรู้เกี่ยวกับเหตุการณ์สำคัญสำหรับการเปลี่ยนแปลงนี้
ในเดือนตุลาคม 2566
Kotlin extensions (KTX) APIs ถูกเพิ่มเข้าไปในโมดูลหลักตามลำดับ และ Kotlin extensions (KTX) APIs ในโมดูล KTX ทุกโมดูลถูกเลิกใช้งานแล้ว ดู บันทึกประจำรุ่น ที่ประกาศการเปลี่ยนแปลงนี้
ตอนนี้คุณสามารถใช้ KTX API ได้โดยตรงจากโมดูลหลัก เมื่อใช้ Firebase BoM v32.4.0+ หรือโมดูลหลักที่แสดงอยู่ใน BoM v32.4.0+
ในระหว่าง ระยะที่เลิกใช้แล้ว นี้ API ที่เลิกใช้แล้วในโมดูล KTX จะยังคงทำงานและได้รับการบำรุงรักษาต่อไป
ภายในเดือนเมษายน 2567
เราจะหยุดการเปิดตัวโมดูล KTX เวอร์ชันใหม่ และเราจะลบโมดูล KTX ออกจาก Firebase BoM
โมดูล KTX หรือ BoM เวอร์ชันที่เปิดตัวก่อนหน้านี้ใดๆ จะยังคงทำงานต่อไป แต่จะเข้าสู่ การสิ้นสุดการบำรุงรักษา ซึ่งหมายความว่าเราจะหยุดเพิ่มการแก้ไขข้อบกพร่อง การเปลี่ยนแปลงที่เข้ากันได้แบบย้อนหลัง และคุณสมบัติใหม่ให้กับโมดูล KTX การพัฒนา Firebase บน Android ในอนาคตทั้งหมดจะเสร็จสิ้นในโมดูลหลัก (สำหรับทั้ง Java และ Kotlin)
วิธีโยกย้ายเพื่อใช้ KTX API จากโมดูลหลัก
หากปัจจุบันคุณใช้ Kotlin extensions (KTX) API ให้ทำการอัปเดตต่อไปนี้ในแอปของคุณเพื่อเริ่มใช้ API จากโมดูลหลักแทนโมดูล KTX
แก้ไขการพึ่งพา Gradle ของคุณเพื่อพึ่งพาโมดูลหลักแทนที่จะเป็นโมดูล KTX ตัวอย่างเช่น หากคุณใช้ Firebase Android BoM (แนะนำ) :
ก่อน
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") }
หลังจาก
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") }
ก่อน
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:22.2.0") implementation("com.google.firebase:firebase-firestore-ktx:24.9.0") }
หลังจาก
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.4.0 or higher implementation("com.google.firebase:firebase-auth:22.2.0") implementation("com.google.firebase:firebase-firestore:24.9.0") }
อัปเดตโค้ดของคุณเพื่อแทนที่ KTX API ที่เกิดขึ้นทั้งหมดด้วย 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