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 作为用户发起对话的入口点。 | WELCOME 或 GOOGLE_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 文档。