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:
- Có gì thay đổi?
- Lý do chúng tôi thực hiện thay đổi này
- Các ngày quan trọng của sự 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 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.
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") }
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