接收和响应用户互动

本页将介绍 Google Chat 应用如何接收和 响应用户互动,也称为 Google Chat 应用 互动事件

本页面介绍了如何执行以下操作:

  • 将您的 Chat 应用配置为接收互动 事件。
  • 在基础架构上处理互动事件。
  • 适当地响应互动事件。

前提条件

一款已启用互动功能的 Google Chat 应用。要创建 交互式 Chat 应用,请完成以下快速入门之一 针对您要使用的应用架构

互动事件的工作原理

Google Chat 应用互动事件是指 Google Chat 应用互动事件中发生的任何操作 用户调用 Chat 应用或与其互动,例如 例如用“@”提及 Chat 应用或将其添加到 空间。当用户与 Chat 应用互动时, Google Chat 会向 Chat 应用发送互动事件。 Chat 应用可以使用该事件来处理 然后创建响应

例如,Chat 应用使用互动事件执行 以下:

互动事件示例 Chat 应用的一般回复
用户通过以下方式调用 Chat 应用: 使用“@”提及或使用斜杠命令。 通过 Chat 应用会处理收到的消息内容 创建消息。例如,聊天应用会回复 /about 命令,并提供一条消息,说明您要执行的 Chat 应用具备的功能。
用户将 Chat 应用添加到 空间。 Chat 应用会发送初始配置 消息,说明它的用途以及聊天室中的用户可以如何与 。
用户移除了 聊天室中的 Chat 应用。 通过 Chat 应用会移除收到的所有通知 (例如删除 webhook) 并清除所有 内部存储空间
用户点击由 Chat 应用。 Chat 应用会处理和存储 用户提交的数据,或者返回其他卡片或对话框。

对于每种类型的用户互动,Google Chat 都会发送不同类型的 这些互动事件可帮助您的 Chat 应用处理 事件类型。例如,Google Chat 使用事件类型 ADDED_TO_SPACE,表示用户添加了 将 Chat 应用添加到聊天室 Chat 应用可以处理响应,例如发布 欢迎辞加入聊天室。要查看所有支持的互动事件,请参阅 EventType 参考文档 文档

接收 Chat 应用互动事件

本部分介绍了如何接收和处理 Chat 应用。

将您的 Chat 应用配置为接收互动事件

并非所有 Chat 应用都是互动式应用。例如: 传入的网络钩子只能外发消息且 无法回复用户。如果您要构建互动式广告 你必须选择一个端点 聊天应用接收、处理和响应互动 事件。如需详细了解如何设计您的 Chat 应用,请参阅 Chat 应用实现架构

对于您想要构建的每个互动功能,您必须更新 您在 Chat API 中的配置,这样 Google Chat 就可以 Chat 应用添加相关的互动事件:

  1. 在 Google Cloud 控制台中,前往 Chat API 页面,然后点击 配置页面:

    前往“Chat API 配置”页面

  2. 互动功能下,查看设置并根据以下内容进行更新: 您希望构建的功能:

    字段 说明
    功能 必需。一组字段,用于确定 Chat 应用如何与用户互动:
    • 接收 1 对 1 消息:用户可以直接在 Google Chat 中找到 Chat 应用并向其发送消息。
    • 加入聊天室和群组对话:用户可以将 Chat 应用添加到聊天室和群组对话。
    连接设置 必需。Chat 应用的端点,可以是以下端点之一:
    • 应用网址:托管 Chat 应用实现的 HTTPS 端点。
    • Apps 脚本项目:实现 Chat 应用的 Apps 脚本项目的部署 ID。
    • Cloud Pub/Sub 主题名称:Chat 应用订阅为端点的 Pub/Sub 主题。
    • Dialogflow:使用 Dialogflow 集成注册 Chat 应用。如需了解详情,请参阅构建理解自然语言的 Dialogflow Google Chat 应用
    斜杠命令 可选。可在 Google Chat 中向用户显示的命令。允许用户在 Google Chat 中查看 Chat 应用的核心操作,并选择希望与之互动的具体操作。有关详情,请参阅以 Chat 应用的身份响应斜杠命令
    链接预览 可选。Chat 应用可识别的网址格式在用户发送链接时提供。如需了解详情,请参阅预览链接
    公开范围 可选。最多可以有 5 人查看和安装您的 Chat 应用,或者一个或多个 Google 群组。使用此字段可测试您的 Chat 应用,或与您的团队分享 Chat 应用。如需了解详情,请参阅测试互动功能
  3. 点击保存。保存 Chat 应用时 您的 Chat 扩展应用可供 您 Google Workspace 组织中的特定用户。

您的 Chat 应用现已配置为接收互动 Google Chat 中的活动。

处理服务的 HTTP 调用重试

如果对您的服务的 HTTPS 请求失败(如超时、临时网络 或非 2xx HTTPS 状态代码),Google Chat 可能会重新尝试发送一些 (但不能保证这一点)。因此, Chat 应用可能会在以下时间后多次收到相同的消息: 。如果请求成功完成,但返回了无效 消息载荷,Google Chat 不会重试该请求。

处理或响应互动事件

本部分介绍了 Google Chat 应用会如何处理和响应 互动事件

在您的 Chat 应用收到以下互动事件后: Google Chat,他们可以通过多种方式进行回复。在许多情况下 聊天应用会回复用户。 Google Chat 应用还可以从数据中查找一些信息 来源、记录互动事件信息等内容。 从本质上讲,这种处理行为定义了 Google Chat 应用。

对于每个互动事件,Chat 应用都会收到请求正文, ,即代表事件的 JSON 载荷。您可以使用 信息来处理响应。如需查看事件载荷示例,请参阅 Chat 应用互动事件类型

下图演示了如何 Google Chat 应用通常会处理或响应不同类型的 互动事件:

Google Chat 应用如何处理互动事件的架构。

实时回答

互动事件可让 Chat 应用实时响应,或者 同步。同步响应不需要 authentication

要创建对互动事件的同步响应,请参阅以下内容 指南:

如要同步回复,Chat 应用必须做出响应 而且回复必须张贴在 是否发生过互动。否则,Chat 应用可以: 异步响应。

异步响应

有时,Chat 应用必须在 30 天后响应互动事件 或是在发生互动事件的空间之外执行任务, 。例如,Chat 应用可能需要 在完成长时间运行的任务后响应用户。在此示例中 聊天应用可以通过调用 Google Chat API 进行异步响应。

如需使用 Chat API 创建消息,请参阅 创建消息。使用指南 其他 Chat API 方法,请参阅 Chat API 概览