获取我们在 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. 该函数将缩略图上传回云存储的新位置。
  5. 该应用程序下载缩略图链接。

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

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

与第三方服务和 API 集成

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

显示如下所述的应用程序流程的图表

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

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