Tìm hiểu thêm về Android và Firebase

Khi đang phát triển dự án Android của mình bằng Firebase, bạn có thể khám phá các khái niệm chưa quen thuộc hoặc dành riêng cho Firebase. Trang này nhằm mục đích trả lời những câu hỏi đó hoặc chỉ cho bạn các tài nguyên để tìm hiểu thêm.

Nếu bạn có thắc mắc 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 liệu chúng tôi đã thêm chủ đề mà bạn muốn tìm hiểu chưa!

Plugin Trợ lý 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 các tệp cấu hình, plugin và phần phụ thuộc Firebase cần thiết vào dự án Android của bạn — tất cả đều từ trong Android Studio!

Làm theo hướng dẫn trên trang bắt đầu 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 (đi tới 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 này:

  • 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) (thường là app/build.gradle ) để nhập nền tảng BoM. Bạn cũng cần xóa các phiên bản khỏi từng dòng phụ thuộc của 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) (thường là app/build.gradle ) để sử dụng phiên bản ktx của thư viện Firebase.

Dịch vụ của Google - tệp plugin và cấu hình

Là một phần của việc thêm Firebase vào dự án Android, bạn cần thêm plugin google-services và tệp cấu hình google-services.json 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 REST quản lý 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.

Hãy truy cập tài liệu Android để tìm hiểu về cách plugin dịch vụ Google và tệp cấu hình hoạt động cùng nhau.

Firebase Android BoM (Đơn vị vật liệu)

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 BoM Firebase 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ả 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 này với một 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 dành cho 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:32.4.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:

So sánh các phiên bản Firebase BoM

Mô-đun thư viện mở rộng Kotlin (KTX)

Các mô-đun thư viện mở rộng Firebase Kotlin (KTX) là những người bạn đồng hành nhỏ với các mô-đun thư viện Firebase chính và bạn có thể sử dụng chúng để viết mã Kotlin đẹp và đặc trưng.

Để sử dụng mô-đun 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 mô-đun KTX tự động có phần phụ thuộc vào mô-đun thư viện chính, do đó không cần đư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:32.4.0')

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

Mỗi mô-đun KTX cung cấp các phần mở rộng cú pháp khác nhau của mô-đun chính. Ví dụ: mô-đun Analytics KTX giúp việc ghi nhật ký sự kiện trở nên đơn giản hơn:

Trước (sử dụng mô-đun chính)

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 (sử dụng mô-đun 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 mô-đun KTX ngoại trừ Firebase ML và Lập chỉ mục ứng dụng.

Nếu bạn chưa có, hãy xem tài liệu tham khảo API cho mô-đun KTX.

Mô-đun tính năng và Phân phối tính năng Play

Kể từ tháng 5 năm 2021 (Firebase BoM v28.0.0), SDK Android của 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-beta03'
}

Giờ đây, khi đã thêm tính năng hỗ trợ mô-đun động, bạn có thể thêm các phần phụ thuộc SDK Firebase (có hoặc không có Firebase BoM) để làm nổi bật 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ần 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 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 first_open của Analytics 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à Xác thực cùng nhau, bạn phải luôn đưa cả hai 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 của 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ính unstrippedNativeLibsDir trong tệp build.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à Play Feature Delivery, hãy truy cập Tổng quan về Play Feature Delivery .

Plugin Gradle dịch vụ của Google so với dịch vụ Google Play so với Cửa hàng Google Play

Một số phần của hệ sinh thái Google, Firebase và Android có quy ước đặt tên tương tự. Dưới đây là một lời giải thích ngắn gọn cho mỗi:

Plugin Gradle của dịch vụ Google
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 Firebase và API 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ủa các dịch vụ của Google .
Dịch vụ Google Play
Dịch vụ nền vô hình chạy trên thiết bị Android và cung cấp một số API Google phổ biến (như Google Maps và Đăng nhập bằng Google) 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ó sẽ 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á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
Cửa hàng để tải xuống ứng dụng, phim, sách và nhiều nội dung khác 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 thì 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ụ trò chơi của Google Play
Bộ API dành cho nhà phát triển trò chơi di động
Tìm hiểu thêm về các dịch vụ của 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 của Firebase

Firebase hỗ trợ phát triển 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 của Firebase

Hầu hết các SDK Android của 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 được phát triển riêng còn lại sang GitHub công khai của chúng tôi!

Mẫu khởi động nhanh

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 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 phần khởi động nhanh này làm mã ví dụ để sử dụng SDK Firebase.

Các chủ đề quan tâm khác