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

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

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


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

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

Các API tiện ích Kotlin (KTX) đã được thêm vào các mô-đun chính tương ứng. Ví dụ: tất 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à nhà phát triển Kotlin hiện 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 v32.5.0 trở lên hoặc các phiên bản mô-đun chính được liệt kê trong BoM v32.5.0 trở lên).

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

Lý do chúng tôi tiến hành thay đổi này

Firebase cam kết cung cấp một hệ sinh thái ưu tiên Kotlin cho các nhà phát triển Android. Việc hiện đại hoá quy trình đóng gói này mang lại các lợi ích 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 mô-đun duy nhất, không cần phải chuyển đổi giữa mô-đun chính và các tiện ích Kotlin hoặc phụ thuộc vào cả hai.

  • Tăng cường hỗ trợ Kotlin: Tất cả SDK Firebase cho Android của chúng tôi hiện sẽ hỗ trợ Kotlin tốt hơn. Chúng ta sẽ đưa tất cả các tính năng mới thân thiện với Kotlin vào trực tiếp trong các mô-đun chính.

Các ngày quan trọng liên quan đến thay đổi này

Tháng 10 năm 2023

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

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

Sớm nhất là tháng 9 năm 2024

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

Mọi phiên bản mô-đun KTX hoặc BoM đã phát hành trước đây sẽ tiếp tục hoạt động, nhưng sẽ chuyển sang trạng thái kết thúc bảo trì. Điều này có nghĩa là chúng tôi sẽ ngừng thêm các bản sửa lỗi, thay đổi tương thích ngược và tính năng mới vào các mô-đun KTX. Thay vào đó, tất cả hoạt động phát triển trong tương lai cho Firebase trên Android sẽ được thực hiện 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 các API tiện ích Kotlin (KTX), hãy thực hiện các nội dung cập nhật sau trong ứng dụng để bắt đầu sử dụng các 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 Firebase Android BoM (nên dùng):

    TRƯỚC KHI

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

    SAU

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

    TRƯỚC KHI

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

    SAU

    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. 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 các API đã di chuyển trong 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

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