瞭解 Android 版 Firebase

使用 Firebase 開發 Android 專案時,可能會發現 Firebase 不熟悉或專屬的概念。本資訊頁面旨在回答這些問題,提供進一步的資源。

如果您對這個頁面未提及的主題有疑問,歡迎造訪我們的線上社群。我們也會定期更新這個網頁,提供新的主題,歡迎回來查看我們是否新增了您想瞭解的主題!

Android Studio 專用 Firebase Assistant 外掛程式

Firebase Assistant 是 Android Studio 外掛程式,可透過 Firebase 專案註冊 Android 應用程式,並將必要的 Firebase 設定檔、外掛程式和依附元件新增至 Android 專案,這些操作全都可在 Android Studio 中完成!

按照 Android 入門指南頁面中的操作說明使用 Firebase Assistant。請確保您使用的是 Android Studio 和 Firebase Assistant 的最新版本 (依序前往「File」>「Check for updates」)。

當您選取要新增至應用程式的特定 Firebase 產品時,Firebase 助理會自動在 app/build.gradle 檔案中宣告必要的依附元件。不過,如要使用比 Firebase Assistant 當前功能以外的 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 控制台Management 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.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'
}

以下是關於使用 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.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'
}

每個 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 產品都提供 KTX 模組,但 Firebase ML 和應用程式索引除外。

如果您尚未查看 KTX 模組,請參閱 API 參考資料文件

功能模組和 Play Feature Delivery

自 2021 年 5 月起 (Firebase BoM v28.0.0),Firebase Android SDK 可用於動態功能模組,後者需與基本應用程式模組分開安裝。

如要啟用動態功能模組的支援功能,請將以下依附元件新增至base 模組的 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 事件的 Dynamic Links 或 Firebase 應用程式內通訊等產品可能會在動態功能模組中使用時錯過這個事件。

  • 同時使用 Cloud Firestore 和驗證功能時,應一律在同一個模組中納入兩者。如果無法這樣做,請務必在 Cloud Firestore 之前載入驗證功能,否則某些 Cloud Firestore 作業的驗證狀態可能有誤。

  • 使用 firebase-crashlytics-ndk 做為動態功能模組的依附元件時,您需要在應用程式的 build.gradle 檔案中設定 unstrippedNativeLibsDir 屬性,如 Crashlytics NDK 說明文件所述。

如要進一步瞭解功能模組和 Play Feature Delivery,請參閱「Play Feature Delivery 總覽」。

Google 服務 Gradle 外掛程式與 Google Play 服務與 Google Play 商店的差異

Google、Firebase 和 Android 生態系統中有幾個環節的命名慣例類似。以下簡要說明:

Google 服務 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 服務
Google Play 商店
可在 Android 裝置上下載應用程式、電影、書籍等項目的商店
開發人員可以透過 Google Play 管理中心管理應用程式的發行和版本等作業。如果裝置擁有 Google Play 商店,就表示裝置上也會執行 Google Play 服務 (請參閱上一個項目)。進一步瞭解開發人員專用的 Google Play 商店
Google Play Games Services
適用於手機遊戲開發人員的一組 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。

其他感興趣的主題