您可以基于每个操作生成一个直接链接到特定 Action 的网址。用户在网络浏览器或移动浏览器中点击 Google 助理链接(之前称为“操作”链接)会被定向到其设备上的 Google 助理,他们会在该设备上直接与相应的 Action 互动。
以下是一些实用的 Google 助理链接示例:
- 将用户链接到方法指南网站上的语音指导说明。
- 从“获取帮助”页面将用户关联到客户服务体验。
- 将用户关联到更新 intent,以便他们选择是否接收您未来的更新。
如需为 Action 生成网址,请执行以下操作:
- 在 Actions 控制台中,前往 Develop > Actions。
- 点击要为其生成链接的操作。
- 在链接部分下,启用您是否要为此操作启用网址。
- 输入关联标题。此标题应包含一个动词,用于描述该 Action 将执行的操作。例如,如果您的 Action 会带给用户购买音乐会门票的交易流程,“购买音乐会门票”就是一种实用的链接标题。
- 点击保存。
您可以复制提供的网址,并在您想将用户定向到此特定 Action 的任何位置引用该网址。
Google 助理链接参数
Google 助理链接可以选择在网址中包含 intent 和参数。Google 会根据网址中指定的 intent 类型处理参数。
Google 助理链接网址规范
Google 助理链接网址的一般语法如下:
https://assistant.google.com/services/invoke[/$action_id][?intent=$intent¶m.$param=$value][&$utm_param=$utm_value]
下表介绍了您可以设置的网址参数:
网址参数 | 说明 |
---|---|
$action_id |
操作的数字标识符。 |
$intent |
内置或自定义 intent 的全名。 |
$param |
Action 软件包中指定的 intent 参数的全名。 |
$value |
在 Action 包中为 $param 声明的类型的网址编码值。 |
$utm_param |
一个或多个 UTM 参数类型的列表。有效值包括:utm_source 、utm_medium 、utm_campaign 、utm_term 和 utm_content 。 |
$utm_value |
UTM 参数的字符串值。 |
包含内置 intent 的 Google 助理链接网址
如果 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¶m.astrologySign=%22cancer%22
包含自定义 intent 的 Google 助理链接网址
对于自定义 intent,Google 只会提取由您的 Action 作为 intent 的一部分定义的参数,并舍弃任何其他参数。
以下示例展示了如何指定包含自定义 intent 的 Google 助理链接网址:
https://assistant.google.com/services/invoke/uid/0000001f575305a0?intent=NEWS_UPDATE_DEEP_LINK¶m.topic=sports
对于上述示例网址,Google 会在 AppRequest
中添加 JSON 对象,如下所示:
argument {
name: ‘topic’,
raw_text: ‘sports’,
text_value: ‘sports’,
}
无 intent 的 Google 助理链接网址
如果您未在 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 助理链接网址
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’,
}
测试 Google 助理链接
您可以通过模拟器或设备测试任何 intent(主 intent 或自定义 intent,无论是否带有参数)的 Google 助理链接。
若要测试 Google 助理链接,请执行以下操作:
- 在控制台中启用 Google 助理链接。
- 使用您创建 Actions on Google 项目时所用的帐号登录 Google 助理。
- 在电子邮件、聊天、文档等位置创建 Google 助理链接的可点击版本。
- 在内置 Google 助理的设备上,点击在上一步中创建的链接。
确认 Google 助理关联可按预期正常运行后,您需要重新部署您的 Action,才能向用户提供该链接。
限制和最佳做法
由于您的 Google 助理链接网址现在可在目录或其他 Google 服务之外分发和引用,因此请注意以下限制和最佳做法:
- 请确保继续支持你使用的所有 Google 助理链接。如果你分发的 Google 助理链接之后会失效,你的 Actions 项目可能会被标记为不健康并被移除。
发布链接意味着支持从不受信任的来源进行触发操作。对于任何关联的 Action,在执行任何“实际操作”之前,您必须向用户明确确认。例如,关闭智能家居设备的 Action 应该提示用户“确定要关闭
$applianceName
吗?”在这种情况下,“实际操作”是指影响用户的服务、数据、设备、网络、计算机或 API 的任何操作。例如,发送电子邮件、执行交易、更改智能家居设备的状态、创建订阅或更新内容。