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:
- Những thay đổi sắp tới
- Lý do chúng tôi thực hiện thay đổi này
- Ngày quan trọng đối với thay đổi này
- Cách di chuyển để sử dụng các API KTX từ mô-đun chính
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.
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") }
Nếu bạn không sử dụng Firebase Android BoM
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") }
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