Tìm hiểu về Firebase dành cho Android

Trong quá trình phát triển dự án Android bằng Firebase, bạn có thể tìm thấy các khái niệm chưa quen thuộc hoặc chỉ dành riêng cho Firebase. Trang này nhằm trả lời những câu hỏi đó hoặc giới thiệu 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ó trên trang này, vui lòng truy cập vào 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ẽ định kỳ cập nhật các chủ đề mới trên trang này. Vì vậy, hãy quay lại trang này để xem đã thêm chủ đề mà bạn muốn tìm hiểu hay chưa!

Trình bổ trợ Trợ lý Firebase cho Android Studio

Trợ lý Firebase là một trình bổ trợ Android Studio giúp đă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, trình bổ trợ và phần phụ thuộc cần thiết của Firebase vào dự án Android – tất cả đều thực hiện ngay 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. Hãy đảm bảo rằng bạn đang sử dụng phiên bản mới nhất của cả Android Studio và Trợ lý Firebase (chuyển đến File > Check for updates (Tệp > Kiểm tra bản cập nhật).

Khi bạn chọn một số sản phẩm của Firebase để thêm vào ứng dụng, 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. Tuy nhiên, để sử dụng các tính năng của Firebase ngoài các tính năng hiện tại của Trợ lý Firebase, bạn nên tự thực hiện một số thay đổi đối với những 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 xoá 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 Kotlin, hãy sửa đổi dòng phần phụ thuộc đã thêm vào tệp Gradle (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.

Các dịch vụ của Google – trình bổ trợ và tệp cấu hình

Để thêm Firebase vào dự án Android, bạn cần thêm trình bổ trợ google-services và tệp cấu hình google-services.json vào dự án.

Nếu thêm Firebase vào dự án Android của mình thông qua bảng điều khiển của Firebase, API REST quản lý hoặc API CLI của Firebase, bạn phải tự thêm trình bổ trợ và tệp cấu hình vào dự án. Tuy nhiên, nếu bạn sử dụng Trợ lý Firebase, những thao tác 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 về Android để tìm hiểu về cách trình bổ trợ dịch vụ của Google và tệp cấu hình hoạt động cùng nhau.

Firebase Android BoM (Bảng kê khai thành phần)

Firebase Android BoM (Bảng kê khai thành phần) cho phép bạn quản lý tất cả phiên bản thư viện Firebase bằng cách chỉ định duy nhất 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 từng phiên bản thư viện được liên kết vớ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 sẽ cập nhật lên các phiên bản ánh xạ tới phiên bản BoM đó.

Để tìm hiểu xem những phiên bản thư viện Firebase nào được liên kết vớ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 liên kết tới một phiên bản BoM so 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ề tính năng hỗ trợ của Gradle cho các nền tảng của BoM.

Dưới đây là cách sử dụng BoM Android của Firebase để khai báo các phần phụ thuộc trong tệp Gradle mô-đun (cấp ứng dụng) (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ần phụ thuộc.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:32.8.1')

  // 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ề việc sử dụng BoM trên Android của Firebase:

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

Các mô-đun thư viện phần mở rộng Kotlin (KTX)

Các mô-đun thư viện phần mở rộng Kotlin của Firebase (KTX) là các mô-đun nhỏ đồng hành với các mô-đun thư viện Firebase chính và bạn có thể sử dụng các mô-đun này để viết mã Kotlin đẹp mắt và tương thích.

Để sử dụng mô-đun thư viện KTX trong ứng dụng, hãy thay đổi phần phụ thuộc để thêm hậu tố -ktx. Mỗi mô-đun KTX tự động có một phần phụ thuộc trên mô-đun thư viện chính, vì vậy, bạn không cần đưa cả hai phần phụ thuộc vào ứng dụng.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:32.8.1')

  // 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 tiện ích cú pháp khác nhau của mô-đun chính. Ví dụ: mô-đun KTX của Analytics giúp việc ghi lại các 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 của Firebase đều cung cấp mô-đun KTX, ngoại trừ công nghệ Học máy và Lập chỉ mục ứng dụng Firebase.

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

Mô-đun tính năng và Play Feature Delivery

Kể từ tháng 5 năm 2021 (Firebase BoM phiên bản 28.0.0), bạn có thể sử dụng SDK Android của Firebase 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 mình.

Để bật tính năng 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ở:

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ó BoM Firebase) để làm nổi bật các mô-đun ứng dụng của mình và sử dụng các mô-đun đó như bình thường.

Ví dụ: nếu ứng dụng của bạn sử dụng Cơ sở dữ liệu theo thời gian thực để cung cấp một tính năng cụ thể theo thời gian thự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ẽ 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 điều sau khi sử dụng Firebase SDK trong mô-đun tính năng:

  • Các sản phẩm như Đường liên kết động hoặc Giải pháp gửi thông báo trong ứng dụng của Firebase dựa vào 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 linh hoạt.

  • Khi sử dụng Cloud Firestore và Xác thực cùng nhau, bạn phải luôn đưa cả 2 tài khoản này vào trong cùng một mô-đun. Nếu không thể thực hiện việc này, hãy đảm bảo rằng phần 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ột 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ư mô tả trong tài liệu về Crashlytics NDK.

Để biết thêm thông tin về các mô-đun tính năng và Play Feature Delivery, hãy xem bài viết Tổng quan về Play Feature Delivery.

Trình bổ trợ Gradle cho 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 trong hệ sinh thái Google, Firebase và Android có quy ước đặt tên tương tự. Dưới đây là giải thích ngắn gọn cho từng cách:

Trình bổ trợ Gradle cho các dịch vụ của Google
Một trình bổ trợ Gradle (com.google.gms.google-services) chạy trong thời gian xây dựng để đảm bảo ứng dụng có cấu hình phù hợp để truy cập vào Firebase và các API của Google
Tuy có tên như vậy, trình bổ trợ này không liên quan đến Dịch vụ Google Play (xem mục tiếp theo) và không ảnh hưởng đến các chức năng của ứng dụng trong thời gian chạy.
Trình bổ trợ 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 trong quá trình thiết lập Firebase. Hãy tìm hiểu thêm về trình bổ trợ Gradle cho các dịch vụ của Google.
Dịch vụ Google Play
Dịch vụ nền ẩn chạy trên thiết bị Android và cung cấp một số API phổ biến của Google (như Google Maps và tính năng Đăng nhập bằng Google) cho các ứng dụng trên thiết bị
Bằng việc tập trung các API phổ biến này vào một dịch vụ duy nhất, điều này giúp giảm kích thước của các ứng dụng khác, đồng thời cho phép thiết bị tự động nhận các bản cập nhật bảo mật và tính năng nâng cao mà không cần cập nhật hệ điều hành. Tìm hiểu thêm về Dịch vụ Google Play.
Cửa hàng Google Play
Cửa hàng để tải ứng dụng, phim, sách và nhiều nội dung khác xuống thiết bị Android
Là nhà phát triển, bạn có thể 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ì tức là thiết bị đó cũng đang chạy Dịch vụ 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.
Google Play Games services
Một bộ API dành cho nhà phát triển trò chơi dành cho thiết bị di động
Tìm hiểu thêm về Dịch vụ trò chơi của Google Play và cách tích hợp Firebase với dự án có sử dụng Dịch vụ Google Play Games.

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 cộng đồng đóng góp và phản hồi.

SDK Android của Firebase

Hầu hết các SDK Android của Firebase đều được phát triển dưới dạng thư viện nguồn mở trong kho lưu trữ 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 di chuyển các thư viện Firebase được phát triển riêng tư còn lại sang GitHub công khai!

Mẫu bắt đầu nhanh

Firebase duy trì một tập hợp các mẫu bắt đầu nhanh cho hầu hết các API Firebase trên Android. Bạn có thể tìm thấy các hướng dẫn bắt đầu nhanh này trong kho lưu trữ bắt đầu nhanh GitHub công khai của chúng tôi.

Bạn có thể mở từng phần bắt đầu nhanh dưới dạng một dự án Android Studio, sau đó chạy các phần này 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 hướng dẫn bắt đầu nhanh này làm mã ví dụ cho việc sử dụng Firebase SDK.

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