链接到您的 Actions (Dialogflow)

您可以基于每个操作生成一个直接链接到特定 Action 的网址。用户在网络浏览器或移动浏览器中点击 Google 助理链接(之前称为“操作”链接)会被定向到其设备上的 Google 助理,他们会在该设备上直接与相应的 Action 互动。

以下是一些实用的 Google 助理链接示例:

  • 将用户链接到方法指南网站上的语音指导说明。
  • 从“获取帮助”页面将用户关联到客户服务体验。
  • 将用户关联到更新 intent,以便他们选择是否接收您未来的更新。

如需为 Action 生成网址,请执行以下操作:

  1. Actions 控制台中,前往 Develop > Actions
  2. 点击要为其生成链接的操作。
  3. 链接部分下,启用您是否要为此操作启用网址
  4. 输入关联标题。此标题应包含一个动词,用于描述该 Action 将执行的操作。例如,如果您的 Action 会带给用户购买音乐会门票的交易流程,“购买音乐会门票”就是一种实用的链接标题。
  5. 点击保存

您可以复制提供的网址,并在您想将用户定向到此特定 Action 的任何位置引用该网址。

Google 助理链接可以选择在网址中包含 intent 和参数。Google 会根据网址中指定的 intent 类型处理参数。

Google 助理链接网址的一般语法如下:

https://assistant.google.com/services/invoke[/$action_id][?intent=$intent&param.$param=$value][&$utm_param=$utm_value]

下表介绍了您可以设置的网址参数:

网址参数 说明
$action_id 操作的数字标识符。
$intent 内置或自定义 intent 的全名。
$param Action 软件包中指定的 intent 参数的全名。
$value 在 Action 包中为 $param 声明的类型的网址编码值。
$utm_param 一个或多个 UTM 参数类型的列表。有效值包括:utm_sourceutm_mediumutm_campaignutm_termutm_content
$utm_value UTM 参数的字符串值。

如果 Google 助理链接包含内置 intent(该 intent 以 actions.intent.* 开头),Google 会尝试提取网址中的所有内置 intent 参数,并将其传递给您的 Action。Google 不能理解为内置 intent 参数的所有参数都会被删除。

对于对话型 Action,Google 会将这些参数作为 AppRequest 消息的一部分发送到您的执行方式。

以下示例展示了如何指定一个 Google 助理链接网址,其中包含带有单个 intent 参数的内置 intent:

https://assistant.google.com/services/invoke/uid/0000008ddd7eabec?intent=actions.intent.GET_HOROSCOPE&param.astrologySign=%22cancer%22

对于自定义 intent,Google 只会提取由您的 Action 作为 intent 的一部分定义的参数,并舍弃任何其他参数。

以下示例展示了如何指定包含自定义 intent 的 Google 助理链接网址:

https://assistant.google.com/services/invoke/uid/0000001f575305a0?intent=NEWS_UPDATE_DEEP_LINK&param.topic=sports

对于上述示例网址,Google 会在 AppRequest 中添加 JSON 对象,如下所示:

argument {
  name: ‘topic’,
  raw_text: ‘sports’,
  text_value: ‘sports’,
}

如果您未在 Google 助理链接中指定 intent,Google 会默认关联到您的 Action 的 MAIN intent (actions.intent.MAIN),并具有以下行为:

  • 如果您未在 Google 助理链接中明确启用 MAIN intent,Google 会触发不含任何参数的主 intent,类似于“Talk to app_name”的行为。
  • 如果你显式启用了 MAIN intent,Google 会将这些参数传递给你的 Action。

以下示例展示了如何在无 intent 的情况下指定 Google 助理链接网址:

https://assistant.google.com/services/invoke/uid/000000d139bbc4d4

UTM 参数是用户点击 Google 助理链接时 Google 向您的 Action 发送的字符串,您稍后可以使用这些参数进行分析。

Google 向您的 Action 发送的 UTM 参数包含以下内容:

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

以下示例展示了如何指定包含 UTM 参数的 Google 助理链接网址:

https://assistant.google.com/services/invoke/uid/000000d139bbc4d4?utm_source=Google&utm_medium=email&utm_campaign=holiday+sale

对于上面的示例网址,Google 会在 AppRequest 消息中添加以下参数:

argument {
  name: ‘utm_source’,
  raw_text: ‘Google’,
  text_value: ‘Google’,
}
argument {
  name: ‘utm_medium’,
  raw_text: ‘email’,
  text_value: ‘email’,
}
argument {
  name: ‘utm_campaign’,
  raw_text: ‘holiday sale’,
  text_value: ‘holiday sale’,
}

您可以通过模拟器或设备测试任何 intent(主 intent 或自定义 intent,无论是否带有参数)的 Google 助理链接。

若要测试 Google 助理链接,请执行以下操作:

  1. 在控制台中启用 Google 助理链接。
  2. 使用您创建 Actions on Google 项目时所用的帐号登录 Google 助理。
  3. 在电子邮件、聊天、文档等位置创建 Google 助理链接的可点击版本。
  4. 在内置 Google 助理的设备上,点击在上一步中创建的链接。

确认 Google 助理关联可按预期正常运行后,您需要重新部署您的 Action,才能向用户提供该链接。

限制和最佳做法

由于您的 Google 助理链接网址现在可在目录或其他 Google 服务之外分发和引用,因此请注意以下限制和最佳做法:

  • 请确保继续支持你使用的所有 Google 助理链接。如果你分发的 Google 助理链接之后会失效,你的 Actions 项目可能会被标记为不健康并被移除。
  • 发布链接意味着支持从不受信任的来源进行触发操作。对于任何关联的 Action,在执行任何“实际操作”之前,您必须向用户明确确认。例如,关闭智能家居设备的 Action 应该提示用户“确定要关闭 $applianceName 吗?”

    在这种情况下,“实际操作”是指影响用户的服务、数据、设备、网络、计算机或 API 的任何操作。例如,发送电子邮件、执行交易、更改智能家居设备的状态、创建订阅或更新内容。