ย้ายข้อมูลไปใช้ Kotlin Extensions (KTX) API ในโมดูลหลัก

Firebase มุ่งมั่นที่จะใช้ Kotlin มากขึ้น และเรากําลังปรับปรุงระบบนิเวศ Android ให้ทันสมัยเพื่อให้ Kotlin เข้าถึงได้ง่ายและใช้งานร่วมกับ Firebase ได้ง่ายขึ้น

เรากําลังทําการเปลี่ยนแปลงบางอย่างกับ Firebase SDK สําหรับ Android เพื่อให้ทันสมัยยิ่งขึ้น หน้านี้จะอธิบายข้อมูลสำคัญเกี่ยวกับการเปลี่ยนแปลงนี้ ซึ่งรวมถึงข้อมูลต่อไปนี้


ดูวิธีย้ายข้อมูลแอป

สิ่งที่เปลี่ยนแปลง

เพิ่ม 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

  1. แก้ไข 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")
    }

    ก่อน

    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")
    }


  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