前往主控台

了解 Firebase 项目

此页面简要概述了与 Firebase 项目有关的几个重要概念。您可以点击相应链接(如果有),以详细了解功能、服务甚至其他平台。在此页面的底部,您可以找到 Firebase 项目的一般最佳做法列表。

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

Firebase 项目是 Firebase 的顶级实体。将应用关联到 Firebase 项目并将其配置为使用 Firebase 后,您可以为任意数量的 Firebase 产品(例如 Analytics、Cloud Firestore、性能监控或远程配置)添加 Firebase SDK。

Firebase 项目与 Google Cloud Platform (GCP) 之间的关系

在 Firebase 控制台中创建新的 Firebase 项目时,您实际上是在幕后创建 Google Cloud Platform (GCP) 项目。您可以将 GCP 项目视为数据、代码、配置和服务的虚拟容器。Firebase 项目就是一个具有其他 Firebase 特定配置和服务的 GCP 项目。 您甚至可以先创建 GCP 项目,然后再将 Firebase 添加到该项目中。

由于 Firebase 项目也是 GCP 项目,因此:

  • Firebase 控制台中显示的项目也会显示在 GCP ConsoleGoogle API 控制台中。

  • 项目的结算设置和权限设置会在 Firebase 和 GCP 间共享。

  • 项目的唯一标识符(如 project ID)会在 Firebase 和 GCP 间共享。

  • 您可以在项目中使用 Firebase 和 GCP 产品与 API。

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

设置 Firebase 项目并关联应用

您可以在 Firebase 控制台中设置 Firebase 项目并关联应用(或者,对于高级用例,可以通过 Firebase Management REST API 执行这些操作)。在项目设置和应用关联过程中,您需要做出几项配置决策,并将特殊配置文件或对象添加到本地项目。

在设置项目并关联应用之前,请务必了解一些一般最佳做法

项目名称

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

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

项目 ID

您的 Firebase 项目(及其关联的 GCP 项目)具有项目 ID,此 ID 是您的项目在 Firebase 和 GCP 中各个位置的全局唯一标识符。当您创建 Firebase 项目时,Firebase 会自动为您的项目分配一个唯一 ID,但您也可以在设置期间修改此 ID。

如果您删除项目,项目 ID 也会被删除,并且任何其他项目都不能再次使用此 ID。

Firebase 资源和项目 ID

项目 ID 会显示在公开可见的 Firebase 资源中,例如:

  • 默认托管子网域 - projectID.web.appprojectID.firebaseapp.com
  • 默认实时数据库网址 - projectID.firebaseio.com
  • 默认 Cloud Storage 存储分区名称 - projectID.appspot.com

对于上述所有资源,您可以创建非默认实例。非默认实例的公开可见名称在各个方面都可自定义。您可以将自定义网域关联到 Firebase 托管网站,对实时数据库进行分片,并创建多个 Cloud Storage 存储分区(访问相应平台的“使用入门”页面)。

Firebase CLI 和项目 ID

对于某些使用情形,您可能有多个与同一本地应用目录关联的 Firebase 项目。在这些情况下,当您使用 Firebase CLI 时,您需要将 --project 标志与 firebase 命令一起传递,来传达您要与之互动的 Firebase 项目。

您还可以为各种 Firebase 项目设置项目别名,这样您就不必记住项目 ID 了。

API 调用和项目 ID

对于许多 API 调用,您需要添加项目 ID 以标识 Firebase 项目。

查找您的项目 ID

  • 在 Firebase 控制台中,点击 settings,然后选择项目设置。您的项目 ID 会显示在顶部窗格中。

  • 使用 Firebase CLI,运行 firebase list。系统会显示您的项目 ID 以及与您的帐号关联的所有 Firebase 项目。

Firebase 配置文件和对象

将应用关联到 Firebase 项目时,Firebase 控制台会提供您直接添加到本地项目的 Firebase 配置文件 (Android/iOS) 或配置对象(网页)。

  • 对于 iOS,您可以添加 GoogleService-Info.plist 配置文件
  • 对于 Android,您可以添加 google-services.json 配置文件
  • 对于网页,您可以为初始化脚本添加 Firebase 配置对象

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

Firebase 配置文件或配置对象会将您的应用与 Firebase 项目及其资源(数据库、存储分区等)相关联。

内容被视为公开内容,包括您在平台上的特定 ID(在 Firebase 控制台设置工作流中输入)以及您的 Firebase 项目的相关值(例如您的 API 密钥、实时数据库网址和 Cloud Storage 存储分区名称)。考虑到这一情况,请使用安全规则来保护实时数据库Cloud FirestoreCloud Storage 中的数据和文件。

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

管理 Firebase 项目

请务必查看一般项目级层最佳做法,以了解可能会影响您管理 Firebase 项目的方式的注意事项。

项目管理工具

Firebase 控制台

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

Firebase 控制台 - 项目概览屏幕

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

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

Firebase CLI(命令行工具)

Firebase 还提供 Firebase CLI 以用于配置和管理特定 Firebase 产品(例如 Firebase 托管和 Cloud Functions for Firebase)。

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

Firebase Management REST API

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

一般最佳做法

将应用添加到项目中

确保一个项目中的所有应用在最终用户眼里是相同应用的不同平台变体。建议您将同一应用或游戏的 Android、iOS 和网页版本关联到同一个 Firebase 项目。项目中的所有应用通常共用相同的 Firebase 资源(数据库、存储分区等)。

如果您有多个指定了不同 iOS 软件包 ID 或 Android 应用 ID 的构建版本,则可以在不同的 Firebase 项目中注册各个构建版本。但是,如果您有共用相同 Firebase 资源的应用版本,请在同一个 Firebase 项目中注册它们。

项目中的应用数量是没有限制的,但添加一个应用可能会创建一个或多个基础 OAuth 2.0 客户端 ID。在一个项目中只能创建大约 30 个客户端 ID。

多租户

建议您不要将多个不同的逻辑上独立的应用和/或网站关联到一个项目(通常称为“多租户”)。多租户可能会导致严重的配置和数据隐私问题,包括分析聚合、共享身份验证、过于复杂的数据库结构以及安全规则存在问题等意外问题。

通常,如果一组应用并非共用相同的数据和配置,则强烈建议您将每个应用关联到不同的 Firebase 项目。

例如,如果您开发一个白标应用,则每个独立加标签的应用都应该有自己的 Firebase 项目。每个应用都不会也不应该(出于保护隐私权的考虑)与其他应用共用数据。

请注意 Firebase 项目、应用和网站的一些一般限制:

  • 每个帐号的项目数量

    • Spark 免费方案 - 您只能拥有少量项目配额(通常约为 5-10 个)。
    • 付费方案 - 只要您的 Cloud 结算帐号信誉良好,您的每个结算帐号都能拥有大量项目配额。

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

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

  • 每个项目的应用数量

    项目中的应用数量是没有限制的,但添加一个应用可能会创建一个或多个基础 OAuth 2.0 客户端 ID。在一个项目中只能创建大约 30 个客户端 ID。

  • 每个项目的托管网站数

    Firebase 托管多网站功能支持每个项目最多 36 个网站。

发布您的应用