詳細了解 Android 和 Firebase

當您使用 Firebase 開發 Android 專案時,您可能會發現不熟悉或 Firebase 特有的概念。本頁面旨在回答這些問題或為您提供資源以了解更多資訊。

如果您對本頁未涵蓋的主題有疑問,請隨時造訪我們的線上社群之一。我們還將定期用新主題更新此頁面,因此請回來查看我們是否添加了您想要了解的主題!

適用於 Android Studio 的 Firebase 助理插件

Firebase Assistant 是一個 Android Studio 插件,可將您的 Android 應用程式註冊到 Firebase 項目,並向您的 Android 專案添加必要的 Firebase 設定檔、插件和依賴項 - 全部都在 Android Studio 內完成!

按照Android 入門頁面中的說明使用 Firebase 助手。確保您使用的是最新版本的 Android Studio 和 Firebase Assistant(前往檔案 > 檢查更新)。

當您選擇要新增至應用程式中的特定 Firebase 產品時,Firebase 助理會自動在app/build.gradle檔案中宣告所需的依賴項。但是,要使用 Firebase 助理目前功能以外的 Firebase 功能,您可能需要對這些依賴項進行一些手動變更:

  • 如果您想使用Firebase Android BoM ,請更新模組(應用程式級)Gradle 檔案(通常為app/build.gradle )中的依賴項以匯入 BoM 平台。您還需要從每個 Firebase 庫依賴項行中刪除版本。

  • 如果您想使用Kotlin 擴充功能庫,請修改新增至模組(應用程式等級)Gradle 檔案(通常是app/build.gradle )的依賴行,以使用 Firebase 程式庫的ktx版本。

Google 服務 — 外掛程式和設定文件

作為將 Firebase 新增至 Android 專案的一部分,您需要將google-services外掛程式和google-services.json設定檔新增至您的專案。

如果您透過Firebase 控制台管理 REST APIFirebase CLI將 Firebase 新增至 Android 項目,則必須手動將外掛程式和設定檔新增至項目。但是,如果您使用Firebase Assistant ,這些任務會在設定過程中自動為您完成。

請造訪Android 文件,以了解 Google 服務外掛程式和設定檔如何協同工作。

Firebase Android BoM(物料清單)

Firebase Android BoM(物料清單)可讓您透過僅指定一個版本(BoM 的版本)來管理所有 Firebase 庫版本。

當您在應用程式中使用 Firebase BoM 時,BoM 會自動擷取對應到 BoM 版本的各個庫版本。所有單獨的庫版本都將相容。當您更新應用程式中的 BoM 版本時,您在應用程式中使用的所有 Firebase 程式庫都會更新為對應到該 BoM 版本的版本。

若要了解哪些 Firebase 程式庫版本對應到特定 BoM 版本,請查看該 BoM 版本的發行說明。如果您需要將對應到一個 BoM 版本的庫版本與另一個 BoM 版本進行比較,請使用下面的比較小工具

詳細了解Gradle 對 BoM 平台的支援

以下是如何使用 Firebase Android BoM 在模組(應用程式級)Gradle 檔案(通常app/build.gradle )中聲明依賴項。使用 BoM 時,您無需在依賴項行中指定各個庫版本。

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'
}

以下是有關使用 Firebase Android BoM 的一些常見問題:

比較 Firebase BoM 版本

Kotlin 擴充 (KTX) 庫模組

Firebase Kotlin 擴充功能 (KTX) 函式庫模組是主要 Firebase 函式庫模組的小夥伴,您可以使用它們來編寫美觀且慣用的 Kotlin 程式碼。

若要在您的應用程式中使用 KTX 庫模組,請變更您的依賴項以包含-ktx後綴。每個 KTX 模組都會自動依賴主庫模組,因此無需在應用程式中包含這兩個依賴項。

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'
}

每個 KTX 模組都提供主模組的不同語法擴充。例如,Analytics KTX 模組使記錄事件變得更加簡單:

之前(使用主模組)

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);

之後(使用 KTX 模組代替)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

除了 Firebase ML 和 App Indexing 之外,所有 Firebase 產品都提供KTX 模組

如果您還沒有,請查看 KTX 模組的API 參考文件

功能模組和 Play 功能交付

自 2021 年 5 月 (Firebase BoM v28.0.0) 起,Firebase Android SDK 可在與基礎應用程式模組分開安裝的動態功能模組中使用。

若要啟用對動態功能模組的支持,請將以下依賴項新增至基本模組的build.gradle檔案:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

現在您已經添加了動態模組支持,您可以添加 Firebase SDK 依賴項(帶或不帶 Firebase BoM)來添加應用程式的功能模組,並像平常一樣使用它們。

例如,如果您的應用程式使用即時資料庫來支援特定的即時功能,您可以將firebase-database依賴項新增至功能模組的build.gradle而不是基本模組。這將減少大多數用戶的下載大小。

在功能模組中使用 Firebase SDK 時請注意以下注意事項:

  • 依賴 Analytics first_open事件的動態連結或 Firebase 應用程式內訊息傳遞等產品在動態功能模組中使用時可能會錯過此事件。

  • 一起使用 Cloud Firestore 和身份驗證時,您應始終將它們包含在同一模組中。如果不可能,請確保在 Cloud Firestore之前載入身份驗證;否則,某些 Cloud Firestore 操作的身份驗證狀態可能不正確。

  • 當使用firebase-crashlytics-ndk作為動態功能模組的依賴項時,您需要在應用的build.gradle檔案中設定unstrippedNativeLibsDir屬性,如Crashlytics NDK 文件中所述。

有關功能模組和 Play 功能交付的更多信息,請訪問Play 功能交付概述

Google 服務 Gradle 外掛程式 vs Google Play 服務 vs Google Play 商店

Google、Firebase 和 Android 生態系統的多個部分具有類似的命名約定。以下是每一項的簡要解釋:

谷歌服務 Gradle 插件
在建置時執行的 Gradle 外掛程式 ( com.google.gms.google-services ),以確保您的應用程式具有存取 Firebase 和 Google API 的正確配置
儘管有其名稱,但該插件與 Google Play 服務無關(請參閱下一個條目),並且對您的應用程式在運行時的功能沒有影響。
此插件還會處理您在設定 Firebase 過程中新增到應用程式中的google-services.json檔案。詳細了解Google 服務 Gradle 插件
Google Play 服務
在 Android 裝置上執行的隱形後台服務,並向裝置上的應用程式提供幾個常見的 Google API(例如 Google 地圖和 Google 登入)
透過將這些通用 API 集中到單一服務中,可以減少其他應用程式的大小,並允許裝置無需更新作業系統即可接收自動安全更新和功能增強。詳細了解Google Play 服務
谷歌應用商店
用於在 Android 裝置上下載應用程式、電影、書籍等的商店
作為開發者,您可以透過 Google Play Console 管理應用程式的分發、發布等。如果裝置有 Google Play 商店,那麼它也運行 Google Play 服務(請參閱上一篇文章)。詳細了解開發者的 Google Play 商店
Google Play 遊戲服務
為手機遊戲開發者提供的一組API
進一步了解Google Play 遊戲服務以及如何將Firebase 與您的 Google Play 遊戲服務項目整合

Firebase Android SDK 的開源資源

Firebase 支援開源開發,我們鼓勵社群貢獻和回饋。

Firebase Android SDK

大多數 Firebase Android SDK 都是在我們的公共Firebase GitHub 儲存庫中作為開源程式庫開發的。我們正在積極努力,盡快將剩餘的私人開發的 Firebase 庫移至我們的公共 GitHub!

快速入門範例

Firebase 維護了 Android 上大多數 Firebase API 的快速入門範例集合。在我們的公共Firebase GitHub 快速入門儲存庫中尋找這些快速入門。

您可以將每個快速入門作為 Android Studio 專案打開,然後在行動裝置或虛擬裝置 (AVD) 上執行它們。或者,您可以使用這些快速入門作為使用 Firebase SDK 的範例程式碼。

其他有興趣的話題