本页简要概述了有关 Firebase 项目的几个重要概念。如果可用,请点击链接查找有关功能、服务、工具和最佳实践的更多详细信息。
Firebase 项目、应用程序和产品之间的关系
Firebase 项目是 Firebase 的顶级实体。在项目中,您可以注册您的 Apple、Android 或 Web 应用程序。在向 Firebase 注册您的应用程序后,您可以为任意数量的Firebase 产品添加 Firebase SDK,例如 Analytics、Cloud Firestore、Performance Monitoring 或 Remote Config。
在适用于您的平台的入门指南中了解有关此过程的更多详细信息:
iOS+ |安卓|网页|团结| C++ |颤振。
了解 Firebase 项目的层次结构
此图显示了 Firebase 项目的基本层次结构。以下是关键关系:
Firebase 项目就像是您所有应用程序以及为该项目配置的任何资源和服务的容器。
一个 Firebase 项目可以注册一个或多个Firebase 应用程序(例如,一个应用程序的 iOS 和 Android 版本,或者一个应用程序的免费和付费版本)。
注册到同一个 Firebase 项目的所有 Firebase 应用程序共享并可以访问为该项目配置的所有相同资源和服务。这里有些例子:
注册到同一 Firebase 项目的所有 Firebase 应用共享相同的后端,例如 Firebase 托管、身份验证、实时数据库、Cloud Firestore、Cloud Storage 和 Cloud Functions。
注册到同一个 Firebase 项目的所有 Firebase 应用程序都与同一个 Google Analytics 属性相关联,其中每个 Firebase 应用程序都是该属性中的一个单独的数据流。
Firebase 项目与 Google Cloud 之间的关系
当您创建一个新的 Firebase 项目时,您实际上是在幕后创建一个Google Cloud 项目。您甚至可以先创建一个 Google Cloud 项目,然后再将 Firebase 添加到该项目中。您可以将 Google Cloud 项目视为数据、代码、配置和服务的虚拟容器。
请注意,对于所有 Firebase 项目,Firebase 会自动在 Google Cloud Console 的项目标签页面中添加firebase:enabled
标签。在我们的常见问题解答中了解有关此标签的更多信息。
由于 Firebase 项目是Google Cloud 项目:
您可以在Firebase 控制台以及Google Cloud Console和Google APIs 控制台中与项目交互。
您可以在项目中同时使用 Firebase 和 Google Cloud 的产品和 API。
删除项目会在 Firebase 和 Google Cloud 中删除它。
设置 Firebase 项目并注册应用
您可以在Firebase 控制台中设置 Firebase 项目并注册应用程序(或者,对于高级用例,通过Firebase Management REST API或Firebase CLI )。当您设置项目并注册应用程序时,您需要做出一些组织决策并将特定于 Firebase 的配置信息添加到您的本地项目。
对于生产应用程序,您需要设置清晰的开发工作流程,这通常涉及使用多个环境。查看我们关于开发人员工作流程的文档,包括用于设置 Firebase 项目和注册应用程序以创建开发工作流程的一般最佳实践和一般安全指南。
与 Firebase 项目交互
除了产品 SDK 之外,您还可以使用多种不同的工具和界面直接与 Firebase 项目交互。
Firebase 控制台
Firebase 控制台为管理 Firebase 产品、应用程序和项目级设置提供了最丰富的环境。
控制台的左侧面板列出了按顶级类别组织的 Firebase 产品。在左侧面板的顶部,通过单击integrations 、 access permissions和billing 。
。项目的设置包括控制台的中间显示启动设置工作流程以注册各种类型的应用程序的按钮。开始使用 Firebase 后,控制台的主要区域会变成一个仪表板,显示您使用的产品的统计信息。
请注意,由于 Firebase 项目也是 Google Cloud 项目,您可能会发现各种任务或产品需要您使用 Google Cloud Console 而不是 Firebase 控制台。
Firebase CLI(命令行工具)
Firebase 还提供Firebase CLI ,用于配置和管理特定的 Firebase 产品,例如 Firebase 托管、Firebase 云功能和 Firebase 扩展。
安装 CLI 后,您可以访问全局firebase
命令。使用 CLI将您的本地应用程序目录链接到 Firebase 项目,然后部署新版本的 Firebase 托管内容或功能更新。
Firebase 管理 REST API
使用Firebase Management REST API ,您可以以编程方式管理 Firebase 项目。例如,您可以通过编程方式向项目注册应用程序或列出已注册的应用程序 ( iOS+ | Android | web )。
Firebase 项目标识符
Firebase 项目可以在 Firebase 后端和各种开发人员界面中使用不同的标识符来标识,包括项目名称、项目编号和项目 ID 。
项目名称
创建项目时,您提供项目名称。此标识符是Firebase 控制台、 Google Cloud Console和Firebase CLI中项目的内部专用名称。项目名称未在任何公开可见的 Firebase 或 Google Cloud 产品、服务或资源中公开;它只是帮助您更轻松地区分多个项目。
您可以随时在 Firebase 控制台的项目设置 编辑项目名称。项目名称显示在顶部窗格中。
项目编号
Firebase 项目(及其关联的 Google Cloud 项目)有一个项目编号。这是 Google 为项目分配的全球唯一规范标识符。在配置集成和/或对 Firebase、Google 或第三方服务进行 API 调用时使用此标识符。
您不能编辑项目编号。如果删除一个项目,项目编号也将被删除,并且再也不能被任何其他项目使用。
使用以下选项之一查找您的 Firebase 项目的项目编号:
使用 Firebase 控制台: 单击项目设置。项目编号显示在顶部窗格中。
使用 Firebase CLI :运行
firebase projects:list
。项目编号与与您的帐户关联的所有 Firebase 项目一起显示。使用 Firebase Management REST API :调用
projects.list
。响应正文包含FirebaseProject
对象中的项目编号。
对于许多 API 调用,您需要包含项目的唯一标识符。尽管许多 API 都接受项目 ID ,但建议您使用项目编号对 Firebase、Google 或第三方服务进行 API 调用。
详细了解如何在 Google 的AIP 2510 标准中使用项目标识符,尤其是项目编号。
项目编号
Firebase 项目(及其关联的 Google Cloud 项目)有一个项目 ID 。这是用户为整个 Firebase 和 Google Cloud 中的项目定义的唯一标识符。当您创建 Firebase 项目时,Firebase 会自动为项目分配一个唯一 ID,但您可以在项目设置期间对其进行编辑。此标识符通常应被视为引用项目的方便别名。
使用以下选项之一查找您的 Firebase 项目的项目 ID :
使用 Firebase 控制台: 单击项目设置。项目 ID 显示在顶部窗格中。
使用 Firebase CLI :运行
firebase projects:list
。项目 ID 与与您的帐户关联的所有 Firebase 项目一起显示。使用 Firebase Management REST API :调用
projects.list
。响应正文包含FirebaseProject
对象中的项目 ID。
项目 ID 显示在公开可见的 Firebase 资源中,例如:
- 默认托管子域 —
PROJECT_ID .web.app
和PROJECT_ID .firebaseapp.com
- 默认实时数据库 URL —
PROJECT_ID -default-rtdb.firebaseio.com
或PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
- 默认 Cloud Storage 存储桶名称 -
PROJECT_ID .appspot.com
对于上述所有资源,您可以创建非默认实例。非默认值的公开可见名称是完全可定制的。您可以将自定义域连接到 Firebase 托管的站点,对实时数据库进行分片,并创建多个云存储桶(访问特定于平台的入门页面)。
对于某些用例,您可能有多个 Firebase 项目与同一个本地应用程序目录相关联。在这些情况下,当您使用Firebase CLI时,您需要将--project
标志与firebase
命令一起传递,以传达您想要与之交互的 Firebase 项目。
您还可以为每个 Firebase 项目设置一个项目别名,这样您就不必记住项目 ID。
对于许多 API 调用,您需要包含项目的唯一标识符。尽管许多 API 都接受项目 ID,但建议您使用项目编号对 Firebase、Google 或第三方服务进行 API 调用。
详细了解如何在 Google 的AIP 2510 标准中使用项目标识符,尤其是项目编号。
Firebase 配置文件和对象
当您向 Firebase 项目注册应用程序时,Firebase 控制台会提供一个 Firebase 配置文件(Apple/Android 应用程序)或一个配置对象(Web 应用程序),您可以将其直接添加到本地应用程序目录。
- 对于 Apple 应用程序,您添加一个
GoogleService-Info.plist
配置文件。 - 对于 Android 应用程序,您添加一个
google-services.json
配置文件。 - 对于网络应用程序,您添加一个 Firebase 配置对象。
您可以随时获取应用的 Firebase 配置文件或对象。
Firebase 配置文件或对象将应用程序与特定的 Firebase 项目及其资源(数据库、存储桶等)相关联。配置包括“Firebase 选项”,这是 Firebase 和 Google 服务与 Firebase 服务器 API 通信以及将客户端数据与 Firebase 项目和 Firebase 应用相关联所需的参数。以下是必需的、最低限度的“Firebase 选项”:
API 密钥:调用某些不需要访问私人用户数据的 API 时使用的简单加密字符串(示例值:
AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
)项目 ID :用户定义的项目在所有 Firebase 和 Google Cloud 中的唯一标识符。此标识符可能出现在某些 Firebase 资源的 URL 或名称中,但通常应将其视为引用项目的方便别名。 (示例值:
myapp-project-123
)应用程序 ID(“AppID”) :Firebase 应用程序在所有 Firebase 中的唯一标识符,具有特定于平台的格式:
- Firebase Apple 应用程序:
GOOGLE_APP_ID
(示例值:1:1234567890:ios:321abc456def7890
)
这不是Apple 捆绑 ID。 - Firebase Android 应用程序:
mobilesdk_app_id
(示例值:1:1234567890:android:321abc456def7890
)
这不是Android 包名称或 Android 应用程序 ID。 - Firebase Web 应用程序:
appId
(示例值:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c
)
- Firebase Apple 应用程序:
Firebase 配置文件或对象的内容被认为是公开的,包括应用的平台特定 ID(Apple 包 ID 或 Android 包名称)和 Firebase 项目特定值,如 API 密钥、项目 ID、实时数据库 URL 和Cloud Storage 存储桶名称。鉴于此,请使用 Firebase 安全规则来保护实时数据库、 Cloud Firestore和Cloud Storage中的数据和文件。
对于开源项目,我们通常不建议在源代码管理中包含应用的 Firebase 配置文件或对象,因为在大多数情况下,您的用户应该创建自己的 Firebase 项目并将他们的应用指向他们自己的 Firebase 资源(通过他们自己的 Firebase 配置文件或对象)。
Firebase 项目、应用和网站的一般限制
以下是 Firebase 项目、应用和网站的一些一般限制:
每个帐户的项目数
- Spark 定价计划——项目创建配额仅限于较少数量的项目(通常在 5-10 个左右)。
- Blaze 定价计划——只要关联的 Cloud Billing 账户信誉良好,每个账户的项目创建配额就会大幅增加。
大多数开发者很少关心项目创建配额的限制,但如果需要,您可以请求增加项目配额。
请注意,完全删除项目需要 30 天,并且会计入项目配额,直到项目被完全删除。
每个项目的应用数量
Firebase 将 Firebase 项目中的 Firebase 应用程序总数限制为 30。
从最终用户的角度来看,您应该确保单个 Firebase 项目中的所有 Firebase 应用程序都是同一应用程序的平台变体。在我们的最佳实践文档中阅读有关多租户的更多信息。
在常见问题解答中详细了解每个项目的应用程序限制。
每个项目的托管站点数量
Firebase 托管多站点功能支持每个项目最多 36 个站点。
启动您的应用程序
- 在 Google Cloud Console 中为您的项目设置预算提醒。
- 监控 Firebase 控制台中的使用情况和计费仪表板,以全面了解您的项目在多个 Firebase 服务中的使用情况。
- 查看Firebase 启动清单。