在使用Firebase開發Android項目時,您可能會發現不熟悉或特定於Firebase的概念。該頁面旨在回答這些問題或為您提供更多信息的資源。
如果您對本頁面未涵蓋的主題有疑問,請隨時訪問我們的一個在線社區。我們還將定期用新主題更新此頁面,因此請返回查看是否添加了您想了解的主題!
適用於Android Studio的Firebase Assistant插件
Firebase Assistant是一個Android Studio插件,可將您的Android應用程序註冊到Firebase項目,並向Android項目添加必要的Firebase配置文件,插件和依賴項-所有這些操作均在Android Studio中進行!
請按照Android入門頁面中的說明使用Firebase助手。確保您使用的是Android Studio和Firebase Assistant的最新版本(轉到“文件”>“檢查更新” )。
當您選擇要添加到您的應用程序中的特定Firebase產品時,Firebase Assistant會在您的app/build.gradle
文件中自動聲明所需的依賴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
插件和
配置文件添加到您的項目。
如果您通過Firebase控制台, Management REST API或Firebase 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
)中聲明依賴app/build.gradle
。使用BoM時,您無需在依賴關係行中指定單個庫版本。
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:27.1.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的一些常見問題:
覆蓋BoM中指定的庫版本的方法如下:
維護生產線以導入BoM平台。
在庫的依賴項行中,指定所需的庫版本。例如,如果您想使用BoM版本中指定的版本而不是BoM中指定的版本,但想要使用BoM的版本進行身份驗證和Cloud Firestore,則以下是如何聲明依賴項的方法:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:27.1.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
不能。要在您的應用程序中實際添加和使用Firebase庫,您必須在模塊(應用程序級)Gradle文件(通常為app/build.gradle
) app/build.gradle
每個庫聲明為單獨的依賴項行。
使用BoM可以確保您應用中任何Firebase庫的版本兼容,但是BoM實際上不會將這些Firebase庫添加到您的應用中。
是的!聲明特定的Firebase庫依賴項行時,只需使用KTX庫名稱,如下所示:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:27.1.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
否。FirebaseAndroid BoM僅管理Firebase庫的庫版本。唯一的例外是包含Google Mobile Ads SDK,因為它在Firebase應用程序中非常常用。
即使每個Firebase庫是獨立版本的,它們也可以一起構建,以確保每個庫的最新版本與其他庫兼容。
通過使用BoM管理應用程序的Firebase庫版本,您無需跟踪哪個Firebase庫版本與另一個Firebase庫兼容。
即使您現在僅在應用程序中使用一個Firebase庫,我們仍然建議您使用BoM,因為您永遠不知道何時需要使用另一個Firebase庫!
是的,您仍然可以使用BoM!對於Gradle 5.0和更高版本,將自動啟用BoM支持。但是,對於較早版本的Gradle,您只需要啟用BoM功能並以不同的方式導入BoM。
在您的
settings.gradle
文件中,添加enableFeaturePreview('IMPROVED_POM_SUPPORT')
。將BoM像普通庫一樣(不帶
platform
修飾符)導入模塊(應用程序級)Gradle文件(通常為app/build.gradle
),如下所示:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:27.1.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' }
訪問GitHub上的Firebase Android SDK存儲庫。
比較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:27.1.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") }
除Firebase ML和App Indexing外,所有Firebase產品均提供KTX庫。
如果還沒有,請查看KTX庫的API參考文檔。
Google Services Gradle插件vs Google Play服務vs Google Play商店
Google,Firebase和Android生態系統的幾個部分具有相似的命名約定。這是每個的簡要說明:
- Google Services Gradle插件
- 在構建時運行的Gradle插件(
com.google.gms.google-services
),以確保您的應用具有正確的配置以訪問Firebase和Google API - 儘管其名稱,此插件與Google Play服務無關(請參閱下一個條目),並且對您的應用在運行時的功能沒有影響。
- 此插件還會處理在設置Firebase時添加到您的應用程序中的
google-services.json
文件。了解有關Google服務Gradle插件的更多信息。 - Google Play服務
- 一種不可見的後台服務,可在Android設備上運行,並為設備上的應用提供幾種常用的Google API(例如Google Maps和Google Sign In)
- 通過將這些通用API集中到一個服務中,它可以減小其他應用程序的大小,並允許設備在不進行操作系統更新的情況下接收自動安全更新和功能增強。了解有關Google Play服務的更多信息。
- Google Play商店
- 在Android設備上下載應用程序,電影,書籍等的商店
- 作為開發人員,您可以通過Google Play控制台管理應用的分發,發行等。如果設備具有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的示例代碼。