Khi đang phát triển dự án Android của mình bằng Firebase, bạn có thể phát hiện ra các khái niệm không quen thuộc hoặc cụ thể đối với Firebase. Trang này nhằm mục đích trả lời những câu hỏi đó hoặc hướng dẫn bạn đến các tài nguyên để tìm hiểu thêm.
Nếu bạn có câu hỏi về một chủ đề không được đề cập trên trang này, vui lòng truy cập một trong các cộng đồng trực tuyến của chúng tôi. Chúng tôi cũng sẽ cập nhật trang này với các chủ đề mới theo định kỳ, vì vậy hãy kiểm tra lại để xem chúng tôi đã thêm chủ đề bạn muốn tìm hiểu chưa!
Plugin Hỗ trợ Firebase dành cho Android Studio
Trợ lý Firebase là một plugin Android Studio đăng ký ứng dụng Android của bạn với dự án Firebase và thêm tệp cấu hình Firebase, plugin và phụ thuộc cần thiết vào dự án Android của bạn - tất cả đều từ bên trong Android Studio!
Làm theo hướng dẫn trong trang bắt đầu sử dụng Android để sử dụng Trợ lý Firebase. Đảm bảo rằng bạn đang sử dụng phiên bản cập nhật nhất của cả Android Studio và Trợ lý Firebase (chuyển đến Tệp> Kiểm tra bản cập nhật ).
Khi bạn chọn các sản phẩm Firebase cụ thể để thêm vào ứng dụng của mình, Trợ lý Firebase sẽ tự động khai báo các phần phụ thuộc bắt buộc trong tệp app/build.gradle
của bạn. Tuy nhiên, để sử dụng các tính năng Firebase vượt quá khả năng hiện tại của Trợ lý Firebase, bạn có thể muốn thực hiện một số thay đổi thủ công đối với các phần phụ thuộc sau:
Nếu bạn muốn sử dụng Firebase Android BoM , hãy cập nhật các phần phụ thuộc trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là
app/build.gradle
) để nhập nền tảng BoM. Bạn cũng sẽ cần xóa các phiên bản khỏi từng dòng phụ thuộc thư viện Firebase.Nếu bạn muốn sử dụng thư viện phần mở rộng Kotlin , hãy sửa đổi dòng phụ thuộc được thêm vào tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là
app/build.gradle
) để sử dụng phiên bảnktx
của thư viện Firebase thay thế.
Các dịch vụ của Google - plugin và tệp cấu hình
Là một phần của việc thêm căn cứ hỏa lực cho dự án Android của bạn, bạn cần phải thêm google-services
cắm và
tập tin cấu hình để dự án của bạn.
Nếu bạn thêm Firebase vào dự án Android của mình thông qua bảng điều khiển Firebase , API Management REST hoặc Firebase CLI , bạn phải thêm plugin và tệp cấu hình vào dự án của mình theo cách thủ công. Tuy nhiên, nếu bạn sử dụng Trợ lý Firebase , các tác vụ này sẽ tự động được thực hiện cho bạn trong quá trình thiết lập.
Truy cập tài liệu Android để tìm hiểu về cách plugin và tệp cấu hình dịch vụ của Google hoạt động cùng nhau.
Firebase Android BoM (Bill of Materials)
Firebase Android BoM (Bill of Materials) cho phép bạn quản lý tất cả các phiên bản thư viện Firebase của mình bằng cách chỉ định một phiên bản - phiên bản của BoM.
Khi bạn sử dụng Firebase BoM trong ứng dụng của mình, BoM sẽ tự động lấy các phiên bản thư viện riêng lẻ được ánh xạ tới phiên bản của BoM. Tất cả các phiên bản thư viện riêng lẻ sẽ tương thích. Khi bạn cập nhật phiên bản của BoM trong ứng dụng của mình, tất cả các thư viện Firebase mà bạn sử dụng trong ứng dụng của mình sẽ cập nhật lên các phiên bản được ánh xạ tới phiên bản BoM đó.
Để tìm hiểu phiên bản thư viện Firebase nào được ánh xạ tới một phiên bản BoM cụ thể, hãy xem ghi chú phát hành cho phiên bản BoM đó. Nếu bạn cần so sánh các phiên bản thư viện được ánh xạ tới một phiên bản BoM so với phiên bản BoM khác, hãy sử dụng tiện ích so sánh bên dưới.
Tìm hiểu thêm về sự hỗ trợ của Gradle cho các nền tảng BoM .
Dưới đây là cách sử dụng Firebase Android BoM để khai báo các phần phụ thuộc trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là app/build.gradle
). Khi sử dụng BoM, bạn không chỉ định các phiên bản thư viện riêng lẻ trong các dòng phụ thuộc.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.6.0') // Declare the dependencies for the desired Firebase products without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Dưới đây là một số câu hỏi thường gặp về cách sử dụng Firebase Android BoM:
Đây là cách ghi đè phiên bản thư viện được chỉ định trong BoM:
Duy trì đường truyền để nhập nền tảng BoM.
Trong dòng phụ thuộc của thư viện, hãy chỉ định phiên bản thư viện mong muốn. Ví dụ: đây là cách khai báo các phụ thuộc nếu bạn muốn sử dụng v18.0.0 của Lập chỉ mục ứng dụng bất kể phiên bản nào được chỉ định trong BoM, nhưng bạn muốn sử dụng các phiên bản của BoM cho Xác thực và Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.6.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Không. Để thực sự thêm và sử dụng thư viện Firebase trong ứng dụng của mình, bạn phải khai báo mỗi thư viện là một dòng phụ thuộc riêng biệt trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là app/build.gradle
).
Việc sử dụng BoM đảm bảo rằng các phiên bản của bất kỳ thư viện Firebase nào trong ứng dụng của bạn đều tương thích, nhưng BoM không thực sự thêm các thư viện Firebase đó vào ứng dụng của bạn.
Đúng! Khi bạn khai báo các dòng phụ thuộc thư viện Firebase cụ thể của mình, chỉ cần sử dụng tên thư viện KTX, như sau:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.6.0') // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Không. Firebase Android BoM chỉ quản lý các phiên bản thư viện cho các thư viện Firebase. Ngoại lệ duy nhất là việc bao gồm SDK quảng cáo trên thiết bị di động của Google vì SDK này rất thường được sử dụng trong các ứng dụng Firebase.
Mặc dù mỗi thư viện Firebase được tạo phiên bản độc lập, chúng được xây dựng cùng nhau để đảm bảo rằng bản phát hành mới nhất của mỗi thư viện tương thích với các thư viện khác.
Bằng cách sử dụng BoM để quản lý các phiên bản thư viện Firebase của ứng dụng, bạn không cần theo dõi phiên bản nào của thư viện Firebase tương thích với một thư viện Firebase khác.
Ngay cả khi bạn chỉ sử dụng một thư viện Firebase trong ứng dụng của mình ngay bây giờ, chúng tôi vẫn khuyên bạn nên sử dụng BoM vì bạn không bao giờ biết khi nào mình có thể muốn sử dụng một thư viện Firebase khác!
Có, bạn vẫn có thể sử dụng BoM! Đối với Gradle 5.0 trở lên, hỗ trợ BoM sẽ tự động được bật. Tuy nhiên, đối với các phiên bản trước của Gradle, bạn chỉ cần bật tính năng BoM và nhập BoM hơi khác một chút.
enableFeaturePreview('IMPROVED_POM_SUPPORT')
tệpsettings.gradle
của bạn, hãy thêmenableFeaturePreview('IMPROVED_POM_SUPPORT')
.Đối với tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là
app/build.gradle
), hãy nhập BoM giống như một thư viện bình thường (không có công cụ sửa đổiplatform
), như sau:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:26.6.0' // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Truy cập kho lưu trữ SDK Android Firebase trên GitHub .
So sánh các phiên bản Firebase BoM
Thư viện phần mở rộng Kotlin (KTX)
Thư viện phần mở rộng Firebase Kotlin (KTX) là những người bạn đồng hành nhỏ với các SDK Firebase cơ sở cho phép bạn viết mã Kotlin đẹp và dễ hiểu.
Để sử dụng thư viện KTX trong ứng dụng của bạn, hãy thay đổi phần phụ thuộc của bạn để bao gồm hậu tố -ktx
. Mỗi thư viện KTX tự động có phần phụ thuộc vào thư viện cơ sở, vì vậy không cần phải đưa cả hai phần phụ thuộc vào ứng dụng của bạn.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:26.6.0')// Declare the base library implementation 'com.google.firebase:firebase-analytics'// Declare the KTX library instead (which automatically has a dependency on the base library) implementation 'com.google.firebase:firebase-analytics-ktx' }
Mỗi thư viện KTX cung cấp các phần mở rộng cú pháp khác nhau của thư viện cơ sở. Ví dụ: thư viện KTX của Analytics giúp việc ghi nhật ký các sự kiện trở nên đơn giản hơn:
Trước (sử dụng thư viện cơ sở)
val analytics = FirebaseAnalytics.getInstance(); val bundle = Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);
Sau khi (sử dụng thư viện KTX thay thế)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, id) param(FirebaseAnalytics.Param.ITEM_NAME, name) param(FirebaseAnalytics.Param.CONTENT_TYPE, "image") }
Tất cả các sản phẩm Firebase đều cung cấp thư viện KTX ngoại trừ Firebase ML và App Indexing.
Nếu bạn chưa có, hãy xem tài liệu tham khảo API cho các thư viện KTX.
Các dịch vụ của Google Plugin Gradle so với các dịch vụ của Google Play và Cửa hàng Google Play
Một số phần của hệ sinh thái Google, Firebase và Android có các quy ước đặt tên tương tự. Dưới đây là giải thích ngắn gọn cho mỗi:
- Các dịch vụ của Google plugin Gradle
- Một plugin Gradle (
com.google.gms.google-services
) chạy tại thời điểm xây dựng để đảm bảo rằng ứng dụng của bạn có cấu hình phù hợp để truy cập vào các API của Firebase và Google - Bất chấp tên gọi của nó, plugin này không liên quan đến các dịch vụ của Google Play (xem mục tiếp theo) và không ảnh hưởng đến khả năng của ứng dụng của bạn trong thời gian chạy.
- Plugin này cũng xử lý tệp
google-services.json
mà bạn thêm vào ứng dụng của mình như một phần của quá trình thiết lập Firebase. Tìm hiểu thêm về plugin Gradle các dịch vụ của Google . - Các dịch vụ của Google Play
- Một dịch vụ nền ẩn chạy trên thiết bị Android và cung cấp một số API thông dụng của Google (như Google Maps và Google Sign In) cho các ứng dụng trên thiết bị
- Bằng cách tập trung các API phổ biến này vào một dịch vụ duy nhất, nó làm giảm kích thước của các ứng dụng khác và cho phép thiết bị nhận các bản cập nhật bảo mật tự động và cải tiến tính năng mà không cần cập nhật hệ điều hành. Tìm hiểu thêm về các dịch vụ của Google Play .
- Cửa hàng Google Play
- Một cửa hàng để tải xuống ứng dụng, phim, sách và hơn thế nữa trên thiết bị Android
- Với tư cách là nhà phát triển, bạn quản lý việc phân phối, phát hành, v.v. cho ứng dụng của mình thông qua Google Play Console. Nếu một thiết bị có Cửa hàng Google Play, thiết bị đó cũng đang chạy các dịch vụ của Google Play (xem mục trước). Tìm hiểu thêm về Cửa hàng Google Play dành cho nhà phát triển .
- Dịch vụ Google Play Trò chơi
- Một bộ API dành cho nhà phát triển trò chơi trên thiết bị di động
- Tìm hiểu thêm về dịch vụ Google Play Trò chơi và cách tích hợp Firebase với dự án dịch vụ Google Play Trò chơi của bạn .
Tài nguyên nguồn mở cho SDK Android Firebase
Firebase hỗ trợ phát triển mã nguồn mở và chúng tôi khuyến khích sự đóng góp và phản hồi của cộng đồng.
SDK Android Firebase
Hầu hết các SDK Android Firebase được phát triển dưới dạng thư viện nguồn mở trong kho lưu trữ Firebase GitHub công khai của chúng tôi. Chúng tôi đang tích cực làm việc để sớm chuyển các thư viện Firebase do tư nhân phát triển còn lại sang GitHub công cộng của chúng tôi!
Bắt đầu nhanh mẫu
Firebase duy trì một bộ sưu tập các mẫu bắt đầu nhanh cho hầu hết các API Firebase trên Android. Tìm các khởi động nhanh này trong kho lưu trữ khởi động nhanh Firebase GitHub công khai của chúng tôi.
Bạn có thể mở từng phần khởi động nhanh dưới dạng dự án Android Studio, sau đó chạy chúng trên thiết bị di động hoặc thiết bị ảo (AVD). Hoặc bạn có thể sử dụng các khởi động nhanh này làm mã ví dụ để sử dụng SDK Firebase.