Chuyển sang sử dụng API phần mở rộng Kotlin (KTX) trong các mô-đun chính

Firebase đang ngày càng cam kết sử dụng Kotlin và chúng tôi đang nỗ lực hiện đại hoá hệ sinh thái Android của chúng tôi để giúp Kotlin dễ truy cập và dễ sử dụng hơn với Firebase.

Để thực hiện quá trình hiện đại hoá này, chúng tôi đang thực hiện một số thay đổi đối với Firebase SDK dành cho Android. Trang này mô tả thông tin quan trọng thay đổi, bao gồm:


Tìm hiểu cách di chuyển ứng dụng

Điều gì sẽ thay đổi?

Các API mở rộng Kotlin (KTX) đã được thêm vào các biến chính tương ứng các mô-đun. Ví dụ: tất cả các API từ firebase-perf-ktx đã được thêm vào firebase-perf trong gói com.google.firebase.perf.

Thay đổi này có nghĩa là giờ đây, nhà phát triển Kotlin có thể phụ thuộc vào các mô-đun chính thay vì các mô-đun KTX (khi sử dụng Firebase BoM phiên bản 32.5.0+ hoặc các phiên bản mô-đun chính được liệt kê trong BoM v32.5.0+).

Cùng với thay đổi này, các API tiện ích Kotlin (KTX) trong mọi mô-đun KTX đều hiện không được dùng nữa. Kể từ tháng 4 năm 2024, chúng tôi sẽ không phát hành các mô-đun KTX và tại thời điểm đó, chúng tôi cũng sẽ xoá các thư viện KTX khỏi Firebase Android BoM.

Tại sao chúng tôi thực hiện thay đổi này?

Firebase cam kết Ưu tiên Kotlin dành cho nhà phát triển Android. Việc hiện đại hoá bao bì này mang đến các ưu điểm sau:

  • Đơn giản hoá việc quản lý phần phụ thuộc: Giờ đây, bạn chỉ cần phụ thuộc vào một tài khoản giúp loại bỏ nhu cầu chuyển đổi giữa mô-đun chính và Kotlin hoặc phụ thuộc vào cả hai.

  • Hỗ trợ Kotlin nâng cao: Giờ đây, tất cả Firebase SDK dành cho Android của chúng tôi sẽ cung cấp hỗ trợ tốt hơn cho Kotlin. Chúng tôi sẽ đưa vào tất cả mã mới thân thiện với Kotlin ngay trong các mô-đun chính của chúng tôi.

Các ngày quan trọng có sự thay đổi này

Vào tháng 10 năm 2023

Các API mở rộng Kotlin (KTX) đã được thêm vào các mô-đun chính tương ứng, có nghĩa là bạn hiện có thể sử dụng các API KTX trực tiếp từ các mô-đun chính khi sử dụng Firebase BoM v32.5.0+ hoặc các phiên bản mô-đun chính được liệt kê trong BoM v32.5.0+.

Song song, các API tiện ích Kotlin (KTX) trong các mô-đun KTX đều không được dùng nữa (xem ghi chú phát hành mô tả nội dung này thay đổi). Trong giai đoạn không dùng nữa, các API không dùng nữa trong các mô-đun KTX sẽ tiếp tục hoạt động và duy trì.

Từ tháng 4 năm 2024

Chúng tôi sẽ ngừng phát hành các phiên bản mới của các mô-đun KTX và sẽ xóa Các mô-đun KTX từ Firebase BoM.

Mọi phiên bản phát hành trước đây của mô-đun KTX hoặc BoM sẽ tiếp tục nhưng họ sẽ nhập kết thúc bảo trì. Điều này có nghĩa là chúng tôi sẽ ngừng thêm bản sửa lỗi, thay đổi có khả năng tương thích ngược, và các tính năng mới cho các mô-đun KTX. Thay vào đó, tất cả hoạt động phát triển trong tương lai cho Firebase về Android sẽ được triển khai trong các mô-đun chính (dành cho cả Java và Kotlin).

Cách di chuyển để sử dụng API KTX từ các mô-đun chính

Nếu bạn sử dụng API phần mở rộng Kotlin (KTX), hãy cập nhật các nội dung sau trong ứng dụng của bạn để bắt đầu sử dụng API từ các mô-đun chính thay vì các mô-đun KTX.

  1. Sửa đổi các phần phụ thuộc Gradle để dựa vào mô-đun chính thay vì mô-đun KTX. Ví dụ: nếu bạn sử dụng BoM của Firebase cho Android (đề xuất):

    TRƯỚC KHI

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

    SAU KHI

    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.1.2"))
    
      // 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. Cập nhật mã của bạn để thay thế tất cả các lần xuất hiện của API KTX bằng đã di chuyển các API vào mô-đun chính trong gói com.google.firebase.

    TRƯỚC KHI

    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
    

    SAU KHI

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