在使用Firebase开发Android项目时,您可能会发现不熟悉或特定于Firebase的概念。该页面旨在回答这些问题或为您提供更多信息的资源。
如果您对本页面未涵盖的主题有疑问,请随时访问我们的一个在线社区。我们还将定期用新主题更新此页面,因此请返回查看是否添加了您想了解的主题!
适用于Android Studio的Firebase Assistant插件
Firebase助手是一个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的示例代码。