提示定义了您的 Action 如何向用户呈现响应,以及该 Action 如何提示用户继续操作。构建 Action 时,您可以向调用操作和场景内的不同位置添加提示。提示可以像文本或语音回复一样简单,也可以更复杂,包含卡片、图片和表格等丰富内容。
响应类型
对于每个提示,您可以从各种富有吸引力的响应类型中进行选择,供 Google 助理向用户显示:
- 简单响应:简单响应在视觉上采用聊天气泡的形式,并针对声音使用文字转语音 (TTS) 或语音合成标记语言 (SSML)。所有设备类型仅支持简单响应。
- 富响应:富响应包含可增强用户与 Action 之间的互动的视觉或功能元素。借助丰富响应,您还可以显示表格数据或播放较长的音频内容。
- 视觉选择响应:视觉选择响应提供了一个直观的界面,供用户在按标题或图片最容易区分的多个选项之间进行选择。
- 媒体响应:媒体响应可让 Action 播放比 SSML 更长的音频内容,并提供带有媒体控件的视觉组件。
- Interactive Canvas:Interactive Canvas 会将响应以全屏网页视图的形式呈现,并作为 Google 助理在对话中发送给用户的交互式 Web 应用来运行。Canvas 使用略有不同的提示格式,以适应 HTML、CSS 和 JavaScript 等网络标准的额外灵活性。
这些响应类型均使用相同的基本提示格式,并可以访问下文所述的相同常规功能。
提示的格式
在 Actions 项目中,您可以使用 YAML 或 JSON 格式定义提示。每个提示最多可以包含两个简单响应,并且可以视需要定义丰富响应。响应的定义如下:
first_simple
:要发送给用户的初始文本或语音(简单)响应。content
:在简单响应之后发送的补充性富响应内容。last_simple
要发送给用户的最终文本或语音(简单)响应。canvas
:引用与 Interactive Canvas 集成的 Web 应用。
默认情况下,提示会在提示队列中按上述顺序相互附加。在用户做出响应之前,Google 助理会向用户显示提示队列中的所有提示。
此外,您还可以使用以下功能灵活设置提示:
- 候选版本:候选版本可让您根据用户的设备功能定义响应。例如,您可以只让 Google 助理仅在用户在支持显示的设备上与您的 Action 互动时才显示丰富回复。
- 变体:变体是单个消息的替代变体。 例如,您可以让 Google 助理在用户每次调用您的 Action 时从五种不同的欢迎辞变体中进行选择。
- 建议:当 Google 助理显示提示时,建议会在支持显示的设备上为用户提供建议内容信息卡。
默认提示使用一个候选单词、一个变体和一个 first_simple
响应。
候选人
在提示中,candidates
对象允许您根据用户的设备功能定义响应。例如,您可以只让 Google 助理仅在用户在支持显示的设备上与您的 Action 互动时才显示丰富回复。如需定义 Google 助理可以在哪些设备类型上返回候选字词,请使用 candidates
对象的 selector
属性。
在以下示例中,selector
属性包含设备功能信息。第一个候选版本中设置的提示会发送给设备上的可呈现丰富响应的用户。第二个候选版本包含针对只能接收文本和语音响应的用户的提示。
YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
您可以为给定的候选人提供一项或多项功能要求。以下列表介绍了各项可用功能要求:
SPEECH
:设备可以通过文字转语音或 SSML 向用户讲话。RICH_RESPONSE
:设备可以显示丰富的响应,例如卡片、列表和表格。LONG_FORM_AUDIO
:设备可以播放音乐和播客等长音频媒体。INTERACTIVE_CANVAS
:设备可以显示 Interactive Canvas 响应。WEB_LINK
:设备可以使用富响应中的网页链接打开网络浏览器。HOME_STORAGE
:设备可以在家庭存储空间中存储和访问数据。
变体
变体提供了一种定义多个版本的响应的方法。当 Google 助理向用户发送提示时,系统会随机选择一个变体。在设计对话时,最佳实践是在用户与您的 Action 对话时为用户提供备用回复。
例如,提供不同的欢迎辞变体,让用户不会在每次调用您的 Action 时听到相同的响应:
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
建议
![智能显示屏上的建议内容信息卡示例](https://developers.google.cn/static/assistant/conversational/images/smart-display/chips.png?authuser=8&hl=lt)
当 Google 助理显示提示时,建议会在支持显示的设备上为用户提供建议内容信息卡。使用建议内容信息卡来提示用户继续或转换对话。点按建议条状标签后,系统会将显示的文本逐字返回到对话,就像用户已经输入文本一样。
单个提示中最多可以包含 8 条建议,每条建议的长度上限为 25 个明文字符。
如需添加建议,请提供一个 Suggestion
对象,该对象会在单独的 title
字段中包含每条建议。每个标题在一组建议内容信息卡中必须是唯一的。在 Actions Builder 中,此对象以 YAML 和 JSON 表示为 suggestions
。
例如,您可以在问题旁边提供“是”和“否”建议:
YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }