Catch up on everthing we announced at this year's Firebase Summit. Learn more

詳細了解 Android 和 Firebase

當您使用 Firebase 開發 Android 項目時,您可能會發現不熟悉或特定於 Firebase 的概念。此頁面旨在回答這些問題或為您提供資源以了解更多信息。

如果您有關於未涉及此頁主題的問題,請隨時訪問我們的一個在線社區。我們還會定期使用新主題更新此頁面,因此請回來查看我們是否添加了您想了解的主題!

適用於 Android Studio 的 Firebase 助手插件

Firebase 助手是一個 Android Studio 插件,可將您的 Android 應用程序註冊到 Firebase 項目,並將必要的 Firebase 配置文件、插件和依賴項添加到您的 Android 項目中——所有這些都來自 Android Studio!

按照中的說明Android的入門頁面使用火力地堡助理。請確保您使用的最先進的最新版本,同時在Android Studio和火力地堡助理(去文件>檢查更新)。

當您選擇特定的火力地堡產品添加到您的應用程序,在火力地堡助手將自動宣告你所需要的依賴app/build.gradle文件。但是,要使用 Firebase 助手當前功能之外的 Firebase 功能,您可能需要對這些依賴項進行一些手動更改:

  • 如果你想使用火力地堡Android的物料清單,更新模塊中的依賴關係(應用級)搖籃文件(通常是app/build.gradle )導入BOM的平台。您還需要從每個 Firebase 庫依賴項行中刪除版本。

  • 如果你想使用科特林擴展庫,修改添加到您的模塊(應用程序級)搖籃文件(通常是依賴行app/build.gradle )使用ktx的火力地堡庫版本代替。

Google 服務——插件和配置文件

作為添加火力地堡到您的Android項目的一部分,你需要將增加google-services插件和google-services.json配置文件到您的項目。

如果添加火力地堡您通過Android項目火力地堡控制台,該管理REST API ,或者火力地堡CLI ,則必須手動插件和配置文件添加到您的項目。但是,如果您使用的火力地堡助理,這些任務將自動為您安裝過程中完成的。

訪問Android文檔,以了解谷歌服務是如何插件和配置文件一起工作。

Firebase Android BoM(物料清單)

Firebase Android BoM(物料清單)使您能夠通過僅指定一個版本(BoM 的版本)來管理所有 Firebase 庫版本。

當您在應用中使用 Firebase BoM 時,BoM 會自動提取映射到 BoM 版本的各個庫版本。所有單獨的庫版本都將兼容。當您更新應用中的 BoM 版本時,您在應用中使用的所有 Firebase 庫都將更新為映射到該 BoM 版本的版本。

要了解其火力地堡庫版本映射到特定的物料清單版本,請查看發行說明該物料清單版本。如果你需要比其它物料清單版本進行比較映射到一個物料清單版本庫版本,使用小部件比較之下。

了解更多關於搖籃對物料清單平台的支持

下面介紹如何使用Android的火力地堡的物料清單來聲明依賴你的模塊(應用程序級)搖籃文件(通常在app/build.gradle )。使用 BoM 時,您無需在依賴項行中指定單個庫版本。

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:29.0.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 SDK 的小伙伴,可讓您編寫精美且慣用的 Kotlin 代碼。

要在應用程序中使用一個KTX庫,改變你的依賴性包括-ktx後綴。每個 KTX 庫都會自動依賴於基礎庫,因此無需在您的應用中同時包含這兩個依賴項。

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

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  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")
}

所有火力地堡產品提供了KTX庫除了火力地堡ML和應用索引。

如果你還沒有,請查看API參考文檔的KTX庫。

功能模塊和 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-beta01'
}

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

例如,如果您的應用程序使用實時數據庫權力特定的實時功能,你可以添加firebase-database的依賴到build.gradle的功能模塊,而不是基礎模塊。這將減少大多數用戶的下載大小。

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

  • 產品如動態鏈接或火力地堡應用程式消息依賴於分析first_open動態功能模塊中使用時,事件可能會錯過這個事件。

  • 當一起使用 Cloud Firestore 和身份驗證時,您應該始終將它們都包含在同一個模塊中。如果這是不可能的,那麼請確保身份驗證雲公司的FireStore之前加載;否則,某些 Cloud Firestore 操作的身份驗證狀態可能不正確。

  • 當使用firebase-crashlytics-ndk作為動態功能模塊的依賴關係,你需要設置unstrippedNativeLibsDir在應用程序的性能build.gradle文件,如中所描述Crashlytics NDK文檔

有關功能模塊和播放功能,交付的更多信息,請訪問播放功能交付的概述

Google 服務 Gradle 插件與 Google Play 服務與 Google Play 商店

Google、Firebase 和 Android 生態系統的幾個部分具有類似的命名約定。以下是對每個的簡要說明:

Google 服務 Gradle 插件
一個搖籃插件( com.google.gms.google-services )在編譯的時候運行,以確保您的應用程序有正確的配置訪問火力地堡和谷歌的API
儘管它的名字,這個插件與 Google Play 服務無關(見下一個條目)並且在運行時對您的應用程序的功能沒有影響。
該插件還處理google-services.json文件添加到您的應用程序的設置火力地堡的一部分。了解更多關於谷歌服務的搖籃插件
谷歌播放服務
在 Android 設備上運行並為設備上的應用程序提供幾個常見的 Google API(如 Google Maps 和 Google Sign In)的隱形後台服務
通過將這些通用 API 集中到單個服務中,它減少了其他應用程序的大小,並允許設備在沒有操作系統更新的情況下接收自動安全更新和功能增強。了解更多關於谷歌播放服務
谷歌商店
在 Android 設備上下載應用程序、電影、書籍等的商店
作為開發人員,您可以通過 Google Play 管理中心管理應用的分發、發布等。如果設備有 Google Play 商店,它也會運行 Google Play 服務(請參閱上一個條目)。了解更多關於谷歌Play商店的開發人員
Google Play 遊戲服務
一套面向手游開發者的API
了解更多關於谷歌Google Play遊戲服務,以及如何火力地堡與谷歌Google Play遊戲服務項目整合

Firebase Android SDK 的開源資源

Firebase 支持開源開發,我們鼓勵社區貢獻和反饋。

Firebase Android SDK

大多數火力地堡Android推出的SDK開發作為我們的公共開源庫火力地堡GitHub的倉庫。我們正在積極努力,盡快將剩餘的私人開發的 Firebase 庫移至我們的公共 GitHub!

快速入門示例

Firebase 為 Android 上的大多數 Firebase API 維護了一組快速入門示例。發現在我們的公共這些快速入門火力地堡GitHub的快速啟動庫

您可以將每個快速入門作為 Android Studio 項目打開,然後在移動設備或虛擬設備 (AVD) 上運行它們。或者,您可以使用這些快速入門作為使用 Firebase SDK 的示例代碼。

其他感興趣的話題