Подсказки определяют, как ваше действие отображает ответы пользователям и как ваше действие предлагает им продолжить. По мере создания действия вы можете добавлять подсказки к вызовам и к различным местам в сценах. Подсказки могут быть такими же простыми, как текст или речевой ответ, или могут быть более сложными и содержать разнообразное содержимое, такое как карточки, изображения и таблицы.
Типы ответов
Для каждого приглашения вы выбираете один из множества привлекательных типов ответов, которые Ассистент представляет пользователям:
- Простые ответы . Простые ответы визуально выглядят как облачко чата, а для звука используется преобразование текста в речь (TTS) или язык разметки синтеза речи (SSML). Простые ответы — это единственные ответы, поддерживаемые на всех типах устройств.
- Расширенные ответы . Расширенные ответы содержат визуальные или функциональные элементы, улучшающие взаимодействие пользователей с вашими действиями. С расширенными ответами вы также можете отображать табличные данные или воспроизводить более длинный аудиоконтент.
- Ответы визуального выбора . Ответы визуального выбора предоставляют пользователям визуальный интерфейс для выбора между несколькими вариантами, которые легче всего отличить по названию или изображению.
- Медиа-ответы : Медиа-ответы позволяют вашим действиям воспроизводить более длинный аудиоконтент, чем SSML , и предоставляют визуальный компонент с элементами управления мультимедиа.
- Интерактивный холст : Интерактивный холст отображает ответы в виде полноэкранных веб-представлений и функционирует как интерактивное веб-приложение, которое Ассистент отправляет в качестве ответа пользователю в разговоре. Canvas использует немного другой формат подсказок, чтобы обеспечить дополнительную гибкость веб-стандартов, таких как HTML, CSS и JavaScript.
Каждый из этих типов ответов использует один и тот же базовый формат приглашения и имеет доступ к одним и тем же общим функциям, описанным ниже.
Формат подсказки
В проекте Actions вы определяете подсказки в формате YAML или JSON. Каждое приглашение может содержать до двух простых ответов и дополнительно определять расширенный ответ. Ответы определяются следующими способами:
-
first_simple
: начальный текстовый или речевой (простой) ответ для отправки пользователю. -
content
: Дополнительный расширенный контент ответа для отправки после простых ответов. -
last_simple
Окончательный текстовый или речевой (простой) ответ для отправки пользователю. -
canvas
: ссылается на веб-приложение, которое интегрируется с Interactive Canvas.
По умолчанию подсказки добавляются друг к другу в указанном выше порядке в очереди подсказок. Прежде чем пользователь сможет ответить, Ассистент представляет пользователю все подсказки в очереди подсказок.
Вы дополнительно обеспечиваете гибкость подсказки, используя следующие функции:
- Кандидаты . Кандидаты позволяют определять ответы на основе возможностей устройства пользователя. Например, вы можете сделать так, чтобы Ассистент отображал расширенные ответы только тогда, когда пользователь взаимодействует с вашим действием на устройстве с поддержкой дисплея.
- Варианты : Варианты — это альтернативные варианты одного сообщения. Например, вы можете попросить помощника выбирать между пятью различными вариантами приветственного сообщения каждый раз, когда пользователь вызывает ваше действие.
- Предложения . Предложения предоставляют пользователям устройств с дисплеем чипы предложений, когда Ассистент отображает подсказку.
Приглашение по умолчанию использует одного кандидата, один вариант и ответ first_simple
.
Кандидаты
В подсказке объект candidates
позволяет вам определять ответы на основе возможностей устройства пользователя. Например, вы можете сделать так, чтобы Ассистент отображал расширенные ответы только тогда, когда пользователь взаимодействует с вашим действием на устройстве с поддержкой дисплея. Чтобы определить типы устройств, для которых Assistant может вернуть кандидата, используйте свойство selector
объекта candidates
.
В приведенном ниже примере свойство 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
: Устройство может сохранять данные и получать к ним доступ из домашнего хранилища .
Варианты
Варианты позволяют определить несколько версий ответа. Когда Ассистент отправляет подсказку пользователю, случайным образом выбирается один из вариантов. В качестве наилучшей практики в дизайне разговора предоставьте пользователям альтернативные ответы, когда они разговаривают с вашим действием.
Например, предоставьте разные варианты приветственного сообщения, чтобы пользователи не слышали один и тот же ответ каждый раз, когда вызывают ваше действие:
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
Предложения

Предложения предоставляют пользователям устройств с дисплеем чипы предложений, когда Ассистент отображает подсказку. Используйте подсказки, чтобы намекнуть на реакцию пользователя, чтобы продолжить или повернуть разговор. При нажатии чип предложения возвращает отображаемый текст в разговор дословно, как если бы пользователь набрал его.
У вас может быть максимум 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" }] }] }