了解 Firebase 项目

此页面简要概述了与 Firebase 项目有关的几个重要概念。您可以点击相应链接(如果有),详细了解功能、服务、工具和最佳实践。

Firebase 项目、应用和产品之间的关系

Firebase 项目是 Firebase 的顶级实体。在项目中,您可以注册 Apple、Android 或 Web 应用。在 Firebase 中注册应用后,您可以为任意数量的 Firebase 产品添加 Firebase SDK,如 AnalyticsCloud FirestorePerformance MonitoringRemote Config

如需详细了解此过程,请参阅相应平台的入门指南:
iOS+ | Android | Web | Unity | C++ | Flutter

了解 Firebase 项目的层次结构

一个示意图,显示了 Firebase 项目的基本层次结构,包括项目、在其中注册的应用及其预配的资源和服务 此图显示了 Firebase 项目的基本层次结构。以下是关键关系解读:

  • Firebase 项目就像是一个容器,用于存储您的所有应用以及为项目预配的所有资源和服务。

  • 可以在一个 Firebase 项目中注册一个或多个 Firebase 应用(例如,应用的 iOS 版和 Android 版,或应用的免费版和付费版)。

  • 在同一 Firebase 项目中注册的所有 Firebase 应用可共享并访问为该项目预配的所有相同资源和服务。下面是一些示例:

    • 在同一 Firebase 项目中注册的所有 Firebase 应用共享相同的后端,例如 Firebase HostingAuthenticationRealtime DatabaseCloud FirestoreCloud StorageCloud Functions

    • 在同一 Firebase 项目中注册的所有 Firebase 应用都与同一 Google Analytics 媒体资源相关联,其中每个 Firebase 应用都是该媒体资源中的单独数据流。

Firebase 项目与 Google Cloud 之间的关系

在创建新的 Firebase 项目时,您实际上是在幕后创建 Google Cloud 项目。您甚至可以先创建 Google Cloud 项目,然后再将 Firebase 添加到该项目中。您可以将 Google Cloud 项目视为数据、代码、配置和服务的虚拟容器。

请注意,对于所有 Firebase 项目,Firebase 都会在 Google Cloud 控制台中的项目标签页面内自动添加 firebase:enabled 标签。如需详细了解此标签,请参阅我们的常见问题解答

由于 Firebase 项目也是 Google Cloud 项目,因此:

  • 您可以在 Firebase 控制台Google Cloud 控制台Google API 控制台中与项目交互。

  • 您可以在一个项目中同时使用 Firebase 和 Google Cloud 的产品与 API。

  • 项目的 IAM 权限和角色会在 Firebase 和 Google Cloud 之间共享。项目成员对您的 Google Cloud 项目拥有的任何访问权限也将适用于您的 Firebase 项目(反之亦然)。

  • 项目的结算设置会在 Firebase 和 Google Cloud 之间共享。如果您的 Google Cloud 项目已启用结算功能,那么您的 Firebase 项目将采用 Firebase 的随用随付 Blaze 定价方案。

  • 项目的唯一标识符(如项目编号项目 ID)会在 Firebase 和 Google Cloud 之间共享。

  • 删除项目会将其从 Firebase 和 Google Cloud 中删除。

  • 删除或修改项目中的资源或数据会同时影响 Firebase 和 Google Cloud

设置 Firebase 项目并注册应用

您可以在 Firebase 控制台中设置 Firebase 项目并注册应用(或者,对于高级用例,可以通过 Firebase Management REST APIFirebase CLI 执行这些操作)。在设置项目并注册应用时,您需要做出一些组织决策,并将特定于 Firebase 的配置信息添加到您的本地项目中。

对于生产应用,您需要设置清晰而明确的开发工作流,这通常涉及使用多个环境。如需了解如何设置 Firebase 项目并注册应用以创建开发工作流,请查看我们关于开发者工作流的文档(包括常规最佳实践常规安全指南)。

与 Firebase 项目交互

除了产品 SDK 之外,您还可以使用多种不同的工具和界面直接与 Firebase 项目进行交互。

Firebase 控制台

Firebase 控制台为管理 Firebase 产品、应用和项目级设置提供了丰富的环境。

<span class=Firebase 控制台 - 项目概览屏幕" class="attempt-right screenshot" style="max-width: calc((100% - 40px)/1.75);">

控制台的左侧面板列出按顶级类别整理的 Firebase 产品。在左侧面板的顶部,点击 可以访问项目的设置。项目的设置包括集成访问权限结算

控制台中间显示用于启动设置工作流以注册各种类型应用的按钮。在您开始使用 Firebase 后,控制台的主要区域会变为一个信息中心,显示您使用的产品的统计信息。

请注意,由于 Firebase 项目也是 Google Cloud 项目,因此您可能会发现各种任务或产品要求您使用 Google Cloud 控制台,而不是 Firebase 控制台。

Firebase CLI(命令行工具)

Firebase 还提供 Firebase CLI 以用于配置和管理特定 Firebase 产品,例如 Firebase HostingCloud Functions for FirebaseFirebase Extensions

安装 CLI 后,您就可以使用全局 firebase 命令了。使用 CLI 可以将本地应用目录关联到 Firebase 项目,然后部署 Firebase 托管内容的新版本或函数更新。

Firebase Management REST API

使用 Firebase Management REST API,您可以通过编程方式管理 Firebase 项目。例如,您可以通过编程方式在项目中注册应用,或列出已注册的应用(iOS+ | Android | Web)。

Firebase 项目标识符

可以使用不同的标识符(包括项目名称、项目编号和项目 ID)在 Firebase 后端和各种开发者界面中标识 Firebase 项目。

项目名称

创建项目时,您需要提供项目名称。此标识符是项目在 Firebase 控制台Google Cloud 控制台Firebase CLI 中的名称,仅限内部使用。项目名称不会在任何公开可见的 Firebase 或 Google Cloud 产品、服务或资源中公开;它只用来帮助您更轻松地区分多个项目。

您可以随时在 Firebase 控制台的 项目设置中修改项目名称。项目名称会显示在顶部窗格中。

项目编号

Firebase 项目(及其关联的 Google Cloud 项目)有一个项目编号。这是由 Google 为项目分配的全局唯一的规范化标识符。在配置集成和/或对 Firebase、Google 或第三方服务进行 API 调用时,需要使用此标识符。

您无法修改项目编号。如果您删除项目,项目编号也会被删除,并且任何其他项目都不能再次使用此编号。

项目 ID

Firebase 项目(及其关联的 Google Cloud 项目)有一个项目 ID。这是项目在 Firebase 和 Google Cloud 中的唯一标识符,由用户定义。当您创建 Firebase 项目时,Firebase 会自动为该项目分配一个唯一 ID,但您可以在项目设置过程中对其进行修改。通常,应将此标识符视为可方便引用该项目的别名。

Firebase 配置文件和对象

当您在 Firebase 项目中注册应用时,Firebase 控制台会提供一个 Firebase 配置文件(Apple/Android 应用)或一个您直接添加到本地应用目录的配置对象(Web 应用)。

  • 对于 Apple 应用,请添加 GoogleService-Info.plist 配置文件。
  • 对于 Android 应用,请添加 google-services.json 配置文件。
  • 对于 Web 应用,请添加 Firebase 配置对象。

您可以随时获取应用的 Firebase 配置文件或对象

Firebase 配置文件或对象会将应用与特定 Firebase 项目及其资源(数据库、存储桶等)相关联。配置包括“Firebase 选项”,这是 Firebase 和 Google 服务与 Firebase 服务器 API 通信以及将客户端数据与 Firebase 项目和 Firebase 应用相关联所必需的一些参数。以下是至少需要的“Firebase 选项”:

  • API 密钥:在调用不需要访问私有用户数据的某些 API 时使用的简单加密字符串(示例值:AIzaSyDOCAbC123dEf456GhI789jKl012-MnO

  • 项目 ID:项目在 Firebase 和 Google Cloud 中的唯一标识符,由用户定义。此标识符可能会出现在某些 Firebase 资源的网址或名称中,但通常应将其视为可方便引用项目的别名。(示例值: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 配置文件或对象的内容被视为公开内容,包括特定于平台的应用 ID(Apple 软件包 ID 或 Android 软件包名称)以及特定于 Firebase 项目的值(例如 API 密钥、项目 ID、Realtime Database 网址和 Cloud Storage 存储桶名称)。考虑到这一情况,请使用 Firebase Security Rules 来保护 Realtime DatabaseCloud FirestoreCloud Storage 中的数据和文件。

对于开源项目,我们通常建议不要将应用的 Firebase 配置文件或对象加入源代码控制系统中,因为在大多数情况下,用户应该创建自己的 Firebase 项目并将其应用指向自己的 Firebase 资源(通过自己的 Firebase 配置文件或对象)。

Firebase 项目、应用和网站的一般限制

以下是 Firebase 项目、应用和网站的一些一般限制:

  • 每个账号的项目数量

    • Spark 定价方案 - 项目创建配额有限,只能创建较少的项目(通常约为 5-10 个)。
    • Blaze 定价方案 - 只要关联的 Cloud Billing 账号信誉良好,每个结算账号的项目创建配额就会大幅增加。

    大多数开发者很少需要关注项目创建配额限制,但如果您有需要,可以申请增加项目配额

    请注意,彻底删除某个项目需要 30 天时间,且在彻底删除前,待删除项目计入您的项目配额。

  • 每个项目的应用数量

    Firebase 将 Firebase 项目中的 Firebase 应用总数限制为 30 个。

    您应该确保一个 Firebase 项目中的所有 Firebase 应用在最终用户眼里是相同应用针对不同平台的变体。如需详细了解多租户,请参阅我们的最佳做法文档。

    在常见问题解答中详细了解每个项目中应用数量的限制

  • 每个项目的 Hosting 网站数

    Firebase Hosting 多网站功能支持在每个 Firebase 项目中最多设置 36 个网站。

发布您的应用