Firebase Extensions
Firebase Extensions 可帮助您通过预封装的解决方案将功能快速部署到您的应用。
安装 Firebase Extension 扩展程序后,此扩展程序会执行特定任务或任务集,以响应 HTTPS 请求、Cloud Scheduler 事件或来自其他 Firebase 产品(如 Cloud Firestore 或 Firebase Cloud Messaging)的触发性事件。
探索 Extensions Hub 了解如何安装扩展程序 了解如何构建自己的扩展程序
主要功能
减少开发、维护和扩展方面花费的时间 | 由于扩展程序是封装的解决方案,因此您只需安装并对其进行配置即可。 借助扩展程序,您无需花时间研究、编写和调试用以实现功能或自动执行应用或项目某项任务的代码。 探索 Extensions Hub,查找适用于您的应用或项目的解决方案。 |
构建为可配置且可重复使用 | 每个已安装的扩展程序实例都是唯一的。 您可以为应用、项目或用例指定唯一的扩展程序配置值。根据扩展程序的用途,这些值几乎可以是任何内容:Cloud Firestore 路径、图片尺寸或 GitHub 网址。 您可以在不同项目中重复使用同一扩展程序。您甚至可以在单个项目中安装同一扩展程序的多个实例。 每个已安装的实例都可以具有自己的自定义配置。 |
集成 Firebase 平台 | 扩展程序可以填补您的现有架构中的缺失部分。 扩展程序可以响应您已在应用中使用的 Firebase 产品生成的事件。一个 Firebase 产品中的更改可以触发扩展程序执行其任务,甚至是使用其他产品的任务。例如,特定的 Realtime Database 写入操作可以触发发送新的 Firebase Cloud Messaging 通知。 扩展程序还可以将您的 Firebase 项目与其他 Google Cloud Platform 产品(例如 BigQuery 和 Google 翻译)甚至第三方服务(例如 Mailchimp 和 Bit.ly)集成。 触发性事件不限于 Firebase 事件;您甚至可以通过 HTTPS 请求直接触发扩展程序,或按指定的时间间隔触发。 |
安全性和受限的访问权限 | 扩展程序的应用逻辑使用 Google Cloud Functions 在后端运行,因此代码与客户端完全隔离。 扩展程序本身与项目的其余部分也是隔离的,因为安装的扩展程序仅对安装前明确列出的资源和数据具有受限的访问权限。 |
零维护 | 为您的 Firebase 项目安装并配置扩展程序。之后,后端会根据您的扩展程序的需求自动扩缩计算资源。 您永远不必担心凭据、服务器配置、预配新服务器或停用旧服务器等事宜。 |
工作原理
就其核心而言,Firebase Extension 扩展程序是在您的应用或项目中发生特别定义的事件时执行任务的代码。
扩展程序的逻辑是使用 Cloud Functions for Firebase 编写的。扩展程序中的函数定义事件提供方以及触发执行的条件(例如 Cloud Firestore 写入、HTTPS 请求或 Cloud Scheduler 事件)。
虽然扩展程序使用函数,但扩展程序与函数之间的关键区别在于,扩展程序依赖于 extension.yaml
规范文件,该文件明确定义以下内容:
您可以在项目中多次安装扩展程序,其中每个已安装的实例都有不同的配置。
安装扩展程序实例时,Firebase 会执行以下操作:
- 提示您指定要用于此扩展程序实例的所需配置值(参数)。
- 为项目启用
extension.yaml
文件中列出的 API。 - 创建一个新的服务账号,以供此扩展程序实例使用,并为其分配列出的访问角色。扩展程序实例使用授予此服务账号的访问权限来执行其代码。
- 为扩展程序实例预配列出的资源(例如函数)。
请注意,每个已安装的扩展程序实例都有自己的服务账号和单独预配的资源。
除了 extension.yaml
文件之外,扩展程序目录中还包含说明性文件(例如 README
),其中提供了可帮助您完成更多配置任务或有关扩展程序一般用法的信息。
安装后,您可以重新配置扩展程序(指定新参数值),以及对扩展程序进行更新。您还可以随时从项目中卸载扩展程序。
Firebase CLI 和 Firebase 控制台均可用来安装、查看和管理扩展程序。
实现流程
查找扩展程序 | 探索 Extensions Hub 中提供的扩展程序。 |
|
评估、安装和配置扩展程序 | 在寻找可满足应用或项目需求的扩展程序时,您可以使用 Extensions 模拟器评估该扩展程序,然后通过 Firebase 控制台或 Firebase CLI 进行安装。 配置扩展程序,针对您的应用或项目对其进行自定义。 |
|
管理扩展程序 | 使用 Firebase 控制台或 Firebase CLI 查看和管理已安装的扩展程序。 |
后续步骤
探索 Extensions Hub。
使用 Firebase 控制台或 Firebase CLI 在项目中安装扩展程序。