详细了解 Android 和 Firebase   您所在的位置:网站首页 谷歌做啥的 详细了解 Android 和 Firebase  

详细了解 Android 和 Firebase  

2024-01-09 20:51| 来源: 网络整理| 查看: 265

使用 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 Assistant 会在 app/build.gradle 文件中自动声明所需的依赖项。但是,如需使用 Firebase Assistant 当前功能以外的 Firebase 功能,您可能需要对这些依赖项进行一些手动更改:

如果您想要使用 Firebase Android BoM,请更新模块(应用级)Gradle 文件(通常为 app/build.gradle)中的依赖项,以导入 BoM 平台。您还需要从每个 Firebase 库依赖项行中移除版本。

如果您想要使用 Kotlin 扩展程序库,请修改添加到模块(应用级)Gradle 文件(通常为 app/build.gradle)的依赖项行,以改用 ktx 版本的 Firebase 库。

Google 服务 - 插件和配置文件

在将 Firebase 添加到您的 Android 项目时,您需要将 google-services 插件和 google-services.json 配置文件添加到您的项目。

如果您通过 Firebase 控制台、Management REST API 或 Firebase CLI 将 Firebase 添加到您的 Android 项目,则必须手动将插件和配置文件添加到您的项目。不过,如果您使用 Firebase Assistant,则系统会在设置过程中自动为您完成这些任务。

注意:该 google-services.json 配置文件包含项目的唯一但非机密的标识符。如需详细了解此配置文件,请访问了解 Firebase 项目。

如需了解 Google 服务插件和配置文件如何协同工作,请访问 Android 文档。

Firebase Android BoM(物料清单)

借助 Firebase Android BoM(材料清单),您只需指定一个版本(BoM 的版本),即可管理所有 Firebase 库版本。

在应用中使用 Firebase BoM 时,BoM 会自动拉取映射到 BoM 版本的各个库版本。其中每个版本都将兼容。在应用中更新 BoM 版本时,您在应用中使用的所有 Firebase 库都将更新为映射到该 BoM 版本的版本。

要了解哪些 Firebase 库版本映射到特定的 BoM 版本,请查看相应 BoM 版本的版本说明。如果需要将映射到一个 BoM 版本的库版本与映射到另一个 BoM 版本的库版本进行比较,请使用下面的比较微件。

详细了解 BoM 平台的 Gradle 支持。

下面说明了如何使用 Firebase Android BoM 在您的模块(应用级)Gradle 文件(通常为 app/build.gradle)中声明依赖项。使用 BoM 时,您无需在依赖项行中指定单独的库版本。

dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.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 的一些常见问题解答:

如何使用 BoM 中未指定的库版本?

重要提示:如果您在应用中使用多个 Firebase 库,不建议指定 BoM 中未指定的版本。您指定的版本可能与其他 Firebase 库版本不兼容。

下面说明了如何替换 BoM 中指定的库版本:

维护行以导入 BoM 平台。

在库的依赖项行中,指定所需的库版本。例如,如果您想要使用 18.0.0 版 App Indexing,而不管 BoM 中指定了哪个版本,但您想要将 BoM 的版本用于 Authentication 和 Cloud Firestore,那么可以按照以下方式声明依赖项:

dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.1') // 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' }

BoM 是否会自动将所有 Firebase 库添加到我的应用?

不会。要在您的应用中真正添加和使用 Firebase 库,您必须在模块(应用级)Gradle 文件(通常为 app/build.gradle)中将每个库声明为单独的依赖项行。

使用 BoM 可确保您应用中的任何 Firebase 库版本都兼容,但 BoM 并不会真正将这些 Firebase 库添加到您的应用。

BoM 是否支持 Firebase Kotlin 扩展程序 (KTX) 库?

是的!您声明特定的 Firebase 库依赖项行时,只需使用 KTX 库名称,例如:

dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }

我可以使用 BoM 添加不是来自 Firebase 的 Android 库吗?

不可以。Firebase Android BoM 仅管理 Firebase 库的库版本。唯一的例外情况是包含 Google 移动广告 SDK,因为它在 Firebase 应用中很常用。

为什么推荐使用 BoM 来管理 Firebase 库版本?

虽然每个 Firebase 库都单独进行版本控制,但这些库是一起构建的,以确保每个库的最新版本与其他库兼容。

使用 BoM 管理应用的 Firebase 库版本后,您无需跟踪哪个版本的 Firebase 库与其他 Firebase 库兼容。

即使您现在只在应用中使用一个 Firebase 库,我们仍建议您使用 BoM,因为您永远不知道您何时需要使用其他 Firebase 库!

我的应用使用的 Gradle 版本低于 5.0 - 我还可以使用 BoM 吗?

可以,您仍可以使用 BoM!对于 Gradle 5.0 及更高版本,BoM 支持将自动启用。不过,对于更早版本的 Gradle,您只需启用 BoM 功能并采用略微不同的方式导入 BoM。

在 settings.gradle 文件中,添加 enableFeaturePreview('IMPROVED_POM_SUPPORT')。

在模块(应用级)Gradle 文件(通常为 app/build.gradle)中,像导入普通库(不带 platform 修饰符)一样导入 BoM,如下所示:

dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:32.3.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' }

如何报告问题或提供与 BoM 有关的反馈?

请访问 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:32.3.1') // 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") }MainActivity.kt

除 Firebase ML 和 App Indexing 外的所有 Firebase 产品均提供 KTX 库。

请查看 KTX 库的 API 参考文档(如果您尚未这样做)。

功能模块和 Play Feature Delivery

从 2021 年 5 月开始(Firebase BoM v28.0.0),Firebase Android SDK 可用于动态功能模块,这类模块是与基本应用模块分开安装的。

若要为动态功能模块启用支持,请将以下依赖项添加到基础模块的 build.gradle 文件中:

dependencies { implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03' }

由于添加了动态模块支持,您可以将 Firebase SDK 依赖项(无论是否有 Firebase BoM)添加到应用的功能模块中,并照常使用它们。

例如,如果您的应用使用 Realtime Database 驱动特定实时功能,您可以将 firebase-database 依赖项添加到功能模块(而不是基础模块)的 build.gradle 中。对于大多数用户,这会减少下载内容的大小。

在功能模块中使用 Firebase SDK 时,请注意以下事项:

在动态功能模块中使用时,依赖于 Analytics first_open 事件的 Dynamic Links 或 Firebase In-App Messaging 等产品可能会错过此事件。

搭配使用 Cloud Firestore 和 Authentication 时,您应始终将这两项添加在同一模块中。如果做不到这一点,请确保 Authentication 在 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 游戏服务 面向移动游戏开发者的一组 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 的示例代码。

其他相关主题 Firebase Android SDK 对 Google Play 服务的依赖性 将 Firebase 应用与 Google Play 关联 与您的 Play 游戏服务项目集成


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有