获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

您可以使用 Cloud Functions 做什么?

Cloud Functions 使开发人员能够访问 Firebase 和 Google Cloud 事件,以及可扩展的计算能力来运行代码以响应这些事件。虽然预计 Firebase 应用会以独特的方式使用 Cloud Functions 来满足其独特的需求,但典型的用例可能属于以下领域:

查看您感兴趣的每个类别的用例和示例,然后继续我们的入门教程或身份验证事件分析事件等的具体操作指南。

当有趣的事情发生时通知用户

开发人员可以使用 Cloud Functions 来保持用户的参与度并及时了解有关应用程序的相关信息。例如,考虑一个允许用户在应用程序中关注彼此活动的应用程序。每次用户将自己添加为另一个用户的关注者时,实时数据库中都会发生一次写入。然后这个写入事件可以触发一个函数来创建 Firebase Cloud Messaging (FCM) 通知,让相应的用户知道他们已经获得了新的关注者。

显示下面描述的应用程序流程的图表

  1. 该函数在写入存储关注者的实时数据库路径时触发。
  2. 该函数编写要通过FCM发送的消息。
  3. FCM将通知消息发送到用户的设备。

要查看工作代码,请参阅发送 FCM 通知

其他有趣的通知用例

执行数据库清理和维护

借助 Cloud Functions 数据库事件处理,您可以修改实时数据库或 Cloud Firestore 以响应用户行为,从而使系统保持最新和干净。例如,在聊天室应用程序中,您可以监控写入事件并从用户消息中清除不适当或亵渎的文本。这是如何工作的:

显示下面描述的应用程序流程的图表

  1. 该函数的数据库事件处理程序侦听特定路径上的写入事件,并检索包含任何聊天消息文本的事件数据。
  2. 该函数处理文本以检测和清除任何不适当的语言。
  3. 该函数将更新后的文本写回数据库。

要查看工作代码,请参阅文本审核示例。此示例清除聊天消息中的不当语言和大写“喊叫”。

其他数据库清理和维护用例

在云中而不是在您的应用程序中执行密集型任务

开发人员可以利用 Cloud Functions 将资源密集型工作(繁重的 CPU 或网络)卸载到 Google 云上,这些工作在用户设备上运行并不实用。例如,您可以编写一个函数来侦听上传到 Cloud Storage 的图像,将图像下载到运行该函数的实例,对其进行修改,然后将其上传回 Cloud Storage。您的修改可能包括调整大小、裁剪或转换图像。提供了ImageMagick命令行工具以与 Cloud Functions 一起使用,以简化这项工作。

显示下面描述的应用程序流程的图表

  1. 将图片文件上传到 Cloud Storage 时触发的函数。
  2. 该函数下载图像并创建它的缩略图版本。
  3. 该函数将该缩略图位置写入数据库,以便客户端应用程序可以找到并使用它。
  4. 该函数将缩略图上传回新位置的 Cloud Storage。
  5. 该应用程序下载缩略图链接。

有关图像处理示例的演练,请参阅处理存储事件

Firebase 云中批处理作业的其他示例

与第三方服务和 API 集成

Cloud Functions 可以通过调用和公开 Web API 来帮助您的应用更好地与其他服务协同工作。例如,用于开发协作的应用程序可以将 GitHub 提交发布到工作组聊天室。

显示下面描述的应用程序流程的图表

  1. 用户将提交推送到 GitHub 存储库。
  2. HTTPS 函数通过GitHub webhook API触发。
  3. 该函数将提交通知发送到团队 Slack 通道。

与第三方服务和 API 集成的其他方式