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 tiện ích 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 Firebase vào dự án Android của bạn, bạn cần thêm plugin google- google-services
và tệp cấu hình
vào dự án của mình.
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:30.0.2') // 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:
Dưới đâ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ần 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:30.0.2') // 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 các 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:30.0.2') // 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 Gradle trước đó, bạn chỉ cần bật tính năng BoM và nhập BoM hơi khác một chút.
Vào tệp
settings.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:30.0.2' // 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:30.0.2')// 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.
Mô-đun tính năng và Phân phối tính năng trên Play
Kể từ tháng 5 năm 2021 (Firebase BoM v28.0.0), SDK Android Firebase có thể được sử dụng trong các mô-đun tính năng động được cài đặt riêng biệt với mô-đun ứng dụng cơ sở của bạn.
Để bật hỗ trợ cho các mô-đun tính năng động, hãy thêm phần phụ thuộc sau vào tệp build.gradle
của mô-đun cơ sở của bạn:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}
Bây giờ bạn đã thêm hỗ trợ mô-đun động, bạn có thể thêm các phụ thuộc SDK Firebase (có hoặc không có Firebase BoM) vào các mô-đun của ứng dụng và sử dụng chúng như bình thường.
Ví dụ: nếu ứng dụng của bạn sử dụng Cơ sở dữ liệu thời gian thực để cung cấp năng lượng cho một tính năng thời gian thực cụ thể, bạn có thể thêm phụ thuộc firebase-database
vào build.gradle
của mô-đun tính năng thay vì mô-đun cơ sở. Điều này sẽ làm giảm kích thước tải xuống cho hầu hết người dùng.
Hãy lưu ý những lưu ý sau khi sử dụng SDK Firebase trong các mô-đun tính năng:
Các sản phẩm như Liên kết động hoặc Nhắn tin trong ứng dụng Firebase dựa trên sự kiện Analytics
first_open
có thể bỏ lỡ sự kiện này khi được sử dụng trong mô-đun tính năng động.Khi sử dụng Cloud Firestore và Authentication cùng nhau, bạn phải luôn đưa chúng vào cùng một mô-đun. Nếu điều này là không thể, hãy đảm bảo rằng Xác thực được tải trước Cloud Firestore; nếu không, một số hoạt động Cloud Firestore có thể có trạng thái xác thực không chính xác.
Khi sử dụng
firebase-crashlytics-ndk
làm phần phụ thuộc của mô-đun tính năng động, bạn cần đặt thuộc tínhunstrippedNativeLibsDir
trong tệpbuild.gradle
của ứng dụng, như được mô tả trong tài liệu Crashlytics NDK .
Để biết thêm thông tin về các mô-đun tính năng và Phân phối tính năng trên Play, hãy truy cập Tổng quan về Phân phối tính năng trên Play .
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 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 khởi động nhanh cho hầu hết các API Firebase trên Android. Tìm những phần 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.
Các chủ đề quan tâm khác
- Sự phụ thuộc của SDK Android Firebase vào các dịch vụ của Google Play
- Liên kết ứng dụng Firebase của bạn với Google Play
- Tích hợp với dự án dịch vụ Play Trò chơi của bạn