瞭解 Android 版 Firebase

使用 Firebase 開發 Android 專案時,您可能會發現 使用不熟悉或專屬於 Firebase 的概念本頁 或參考實用資源瞭解詳情。

如有本頁未提及的主題相關問題,請造訪 其中一個線上社群。我們也會準備 定期根據新主題更新這個網頁 所以請定期回來查看 新增了您想要瞭解的主題!

Android Studio 專用的 Firebase Assistant 外掛程式

Firebase Assistant 是 Android Studio 外掛程式,可用來註冊您的 Android 並加入必要的 Firebase 設定檔 外掛程式和依附元件,都能從 Android 裝置完成 YouTube 工作室!

請按照 Android 入門指南頁面,即可使用 Firebase Assistant。確認您使用的是最新版本的 Android Studio 和 Firebase Assistant (前往「檔案」>「檢查更新」)。

選取要加入應用程式的特定 Firebase 產品後,Firebase Google 助理會自動在 app/build.gradle 檔案。不過,如要使用 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 新增至 Android 專案: Firebase 控制台Management REST API 搭配使用 或者 Firebase CLI 您必須將外掛程式和設定檔手動加入專案中。不過, 使用 Firebase Assistant, 系統會自動完成相關設定

請造訪 Android 說明文件 ,瞭解 Google 服務外掛程式與設定檔如何搭配運作。

Firebase Android BoM (物料清單)

有了 Firebase Android BoM (物料清單) 就能 只要指定一個版本 (BoM) 版本。

在應用程式中使用 Firebase BoM 時,BoM 會自動提取 會對應至 BoM 版本的個別程式庫版本 每個版本都會相容。當您更新 BoM 在應用程式中使用的所有 Firebase 程式庫 就會更新至對應至該 BoM 版本的版本

瞭解哪個 Firebase 程式庫版本對應至特定的 BoM 版本,請參閱版本資訊 BoM 版本。如果您需要比較對應於單一 Pod 的程式庫版本 比較 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:33.1.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'
}

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

比較 Firebase BoM 版本

Kotlin 擴充功能 (KTX) 程式庫模組

Firebase Kotlin 擴充功能 (KTX) 程式庫模組是應用程式 您可透過這些模組編寫美觀的 慣用的 Kotlin 程式碼。

如要在應用程式中使用 KTX 程式庫模組,請變更依附元件,納入 -ktx 後置字串。每個 KTX 模組會自動有一個主要的依附元件 程式庫模組,因此不需要在應用程式中同時加入這兩種依附元件。

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

  // 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 的 Dynamic Links 或 Firebase 應用程式內通訊等產品 用於動態功能模組時,first_open 事件可能會錯過這個事件。

  • 同時使用 Cloud Firestore 與驗證功能時,請一律納入 同一個單元如果無法這麼做 是在 Cloud Firestore「之前」載入;否則部分 Cloud Firestore 作業 因處於不正確的驗證狀態

  • 使用 firebase-crashlytics-ndk 做為動態功能的依附元件時 模組,您必須在應用程式的unstrippedNativeLibsDir build.gradle 檔案, 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 服務無關 (詳情請參閱 ,而且不會影響應用程式在執行階段的功能。
這個外掛程式也會處理您新增到google-services.json 即可修改您的應用程式。如想進一步瞭解來電目錄、轉接和錄音服務政策, Google 服務 Gradle 外掛程式
Google Play 服務
在 Android 裝置上執行的隱形背景服務, Google 地圖和 Google 登入等常見的 Google API, 裝置
將這些常見的 API 集中整合為單一服務,可縮減資源大小 並讓裝置能夠自動接收安全性更新,以及 強化功能,而不必更新 OS進一步瞭解 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 都是在 Google Cloud 公開開發的開放原始碼程式庫 Firebase GitHub 存放區。 我們正努力將其餘私人開發的 Firebase 遷移至其他產品 將程式庫新增至公開 GitHub!

快速入門導覽課程範例

Firebase 針對多數 Firebase API,維護一組快速入門範例: Android。在我們的公開網站上尋找這些快速入門導覽課程 Firebase GitHub 快速入門導覽課程存放區

您可以 Android Studio 專案的形式開啟每項快速入門導覽課程,然後在 行動裝置或虛擬裝置 (AVD)您也可以使用這些快速入門導覽課程 。

其他感興趣的主題