意图概览 (Dialogflow)

intent 是描述如何执行某项操作的消息传递对象。您可以通过以下两种方式之一使用 intent:

  • 为 intent 提供执行方式,或者
  • 通过 Google 助理请求执行 intent。

对于使用 Dialogflow 构建的开发者和使用 Actions SDK 构建的开发者,为 intent 提供 fulfillment 的过程有所不同。但是,在这两种情况下,您都需要提供 intent 的名称和 fulfillment webhook 的网址。这会告知 Actions on Google,您可以支持与 intent 匹配的用户查询。

如需请求执行 intent,您可以在响应 Google 助理时在 possibleIntents 对象中指定 intent。在向您的执行方式发出的后续请求中,Google 助理会将已处理的 intent 的结果返回给您。如需了解详情,请参阅帮助程序使用概览

常见 intent

下表介绍了 Google 助理请求您执行的 intent。

意图名称 用法 Dialogflow 事件
actions.intent.MAIN 必需:每个 Action 软件包都声明且仅有一个 intent 作为用户发起对话的入口点。 WELCOMEGOOGLE_ASSISTANT_WELCOME
actions.intent.TEXT 获取用户请求的原始文本表示形式。大多数情况下,您在与用户对话时都会使用此 ID。
actions.intent.CANCEL 当您在自己的 Action 包中选择接收取消 intent 时,会收到此 intent。当用户说出全局取消命令(例如“quit”)时,您会在对执行方式的下一个请求中收到此 intent,这样您就可以使用最终消息进行响应并在执行方式逻辑中执行任何清理操作。 actions_intent_CANCEL
actions.intent.NO_INPUT 当您在自己的 Action 包中选择接收无输入 intent 时,会收到此 intent。如果用户未响应提示,您会在对执行方式的下一个请求中收到此 intent。 actions_intent_NO_INPUT

帮助程序

下表介绍了受支持的帮助程序,您可以请求 Google 助理执行这些帮助程序。

意图名称 用法 Dialogflow 事件
actions.intent.PERMISSION 获取用户的全名、粗略位置或确切位置,或全部 3 个 actions_intent_PERMISSION
actions.intent.OPTION 列表轮播界面界面接收选定项。或者,如果用户没有从列表或轮播界面中进行选择,则接收与列表或轮播界面中的键匹配的语音或文本输入。 actions_intent_OPTION
actions.intent.DATETIME 从用户那里获取日期和时间输入信息 actions_intent_DATETIME
actions.intent.SIGN_IN 请求帐号关联流程,以关联用户的帐号。 actions_intent_SIGN_IN
actions.intent.PLACE 从用户那里获取地址或保存的位置。 actions_intent_PLACE
actions.intent.CONFIRMATION 向用户确认(例如,回答是或否问题)。 actions_intent_CONFIRMATION
actions.intent.NEW_SURFACE 向用户请求权限,以便切换到其他 Google 助理界面 actions_intent_NEW_SURFACE

内置意图

内置 intent 会对用户表达他们想要执行的任务或查找的信息(如订餐、约车或查看帐号余额)的一些常见方式进行建模。如需了解详情,请参阅内置 intent 参考文档

其他 intent

大多数对话型 Action 都是使用常见 intent、帮助程序和响应的组合构建的。不过,包含事务或每日更新等其他功能的操作可以访问特定于这些功能的 intent。

事务帮助程序

下表介绍了与处理您可以请求 Google 助理完成的购买交易相关的帮助程序。如需详细了解如何实现这些 intent 及其他相关 intent,请参阅事务功能文档。

意图名称 用法 Dialogflow 事件
actions.intent.DELIVERY_ADDRESS 获取用户输入的配送地址。 actions_intent_DELIVERY_ADDRESS
actions.intent.TRANSACTION_REQUIREMENTS_CHECK 检查是否满足交易的所有要求。 actions_intent_TRANSACTION_REQUIREMENTS_CHECK
actions.intent.TRANSACTION_DECISION 询问用户是否应进行交易。 actions_intent_TRANSACTION_DECISION
actions.intent.DIGITAL_PURCHASE_CHECK 验证用户的交易配置。用于避免向交易会失败的用户提供数字商品。 actions_intent_DIGITAL_PURCHASE_CHECK
actions.intent.COMPLETE_PURCHASE 发起购买请求。生成购买结果,说明事务是成功还是失败以及如何失败。 actions_intent_COMPLETE_PURCHASE

用户互动意图

下表介绍了与用户互动功能相关的 intent。如需详细了解如何实现这些 intent 及其他相关 intent,请参阅用户互动功能文档。

意图名称 提供履单 请求执行 用法 Dialogflow 事件
actions.intent.REGISTER_UPDATE X 要求用户注册以获取更新 actions_intent_REGISTER_UPDATE
actions.intent.CONFIGURE_UPDATES X 当用户尝试注册更新(即,应发送 REGISTER_UPDATE intent)时,您会收到此 intent。 actions_intent_CONFIGURE_UPDATES

自定义 intent

您可以创建自己的 intent,以定义对话的快捷方式,帮助用户更高效地完成操作。这些 intent 位于您自己的命名空间中;您可以定义用户触发 intent 的方式,您的 Action 包是唯一支持这些 intent 的软件包。

如需了解详情,请参阅在 Dialogflow 中定义 Action使用 Actions SDK 定义 Action。如需详细了解 Action 软件包,请参阅 Action 软件包参考文档

智能家居 intent

如果您要构建智能家居 Action,则定义对 intent 的支持的方式略有不同。如需了解详情,请参阅智能家居 intent 文档。