- JSON-представление
- Конфигурационные файлы
- Конфигурационный файл
- Манифест
- Действия
- CustomAction
- Обручение
- Push-уведомление
- Ежедневное обновление
- ActionLink
- АссистентСсылка
- Настройки
- Категория
- Требования к поверхности
- Требование к возможностям
- ПоверхностьВозможности
- Локализованные настройки
- ТемаКастомизация
- ИзображениеУголокСтиль
- Связывание аккаунтов
- тип ссылки
- Аутгранттипе
- Вебхук
- Обработчик
- HTTPSКонечная точка
- InlineCloudФункция
- Намерение
- IntentParameter
- Ссылка на класс
- EntitySetReferences
- EntitySetReference
- Тип
- Тип синонима
- Тип соответствия
- Сущность
- EntityDisplay
- РегулярноеВыражениеТип
- Сущность
- СвободныйТекстТип
- EntitySet
- Сущность
- GlobalIntentEvent
- Обработчик событий
- СтатикПромпт
- СтатикПромптКандидате
- Селектор
- Возможности поверхности
- Возможность
- СтатикПромптОтклик
- СтатическийПростойПодсказка
- Вариант
- СтатикКонтентПромпт
- СтатическаяКартаПодсказка
- Статическое изображениеПодсказка
- Заполнение изображения
- Статиклинкпромпт
- OpenUrl
- URL-подсказка
- Статиктаблепромпт
- ТаблицаСтолбец
- Горизонтальное выравнивание
- ТаблицаРоу
- Таблеселл
- СтатикМедиаПромпт
- Медиатип
- Необязательные элементы управления медиа
- Медиаобъект
- Медиаизображение
- Режим повтора
- Статиклистлистпромпт
- ListItem
- StaticCollectionPrompt
- КоллекцияЭлемент
- StaticCollectionBrowsePrompt
- КоллекцияОбзорЭлемент
- Предположение
- СтатическийХолстПодсказка
- Сцена
- IntentEvent
- УсловноеСобытие
- Слот
- Подскажите настройки
- CommitBehavior
- Значение по умолчанию
- Файлы данных
- Файл данных
Обертка для списка файлов.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
Поле объединения file_type . Одновременно на сервер можно отправлять только один тип файлов: файлы конфигурации или файлы данных. file_type может быть только одним из следующих: | ||
configFiles | Список конфигурационных файлов. Сюда входят манифест, настройки, пакеты ресурсов модели взаимодействия и многое другое. | |
dataFiles | Список файлов данных. Сюда входит изображение, аудиофайл, исходный код облачной функции. |
Конфигурационные файлы
Обертка для повторяющихся файлов конфигурации. Повторяющиеся поля не могут существовать в одном из них.
JSON-представление | |
---|---|
{
"configFiles": [
{
object ( |
Поля | |
---|---|
configFiles[] | Несколько файлов конфигурации. |
Конфигурационный файл
Представляет один файл, содержащий структурированные данные. Разработчики могут определить большую часть своего проекта, используя структурированную конфигурацию, включая «Действия», «Настройки», «Выполнение».
JSON-представление | |
---|---|
{ "filePath": string, // Union field |
Поля | ||
---|---|---|
filePath | Относительный путь к файлу конфигурации из корня проекта в файловой структуре SDK. Для каждого типа файлов ниже указан разрешенный путь к файлу. Например: настройки/settings.yaml | |
file поля объединения. Каждый тип файла конфигурации должен иметь соответствующее поле в одном из них. file может быть только одним из следующих: | ||
manifest | Один файл манифеста. Разрешенный путь к файлу: | |
actions | Один файл действий, содержащий все определенные действия. Разрешенные пути к файлам: | |
settings | Конфигурация единых настроек, которая включает нелокализуемые настройки и настройки для локали проекта по умолчанию (если указано). Для файла переопределения локали будет заполнено только поле localizedSettings. Разрешенные пути к файлам: | |
webhook | Определение одного вебхука. Разрешенный путь к файлу: | |
intent | Определение единого намерения. Разрешенные пути к файлам: | |
type | Определение одного типа. Разрешенные пути к файлам: | |
entitySet | Определение набора отдельных сущностей. Разрешенные пути к файлам: | |
globalIntentEvent | Определение единого глобального события намерения. Разрешенные пути к файлам: | |
scene | Определение одной сцены. Разрешенные пути к файлам: | |
staticPrompt | Определение единого статического приглашения. Разрешенные пути к файлам: | |
accountLinkingSecret | Метаданные, соответствующие секрету клиента, используемому при привязке учетной записи. Разрешенный путь к файлу: | |
resourceBundle | Один пакет ресурсов, который представляет собой сопоставление строки со строкой или списком строк. Пакеты ресурсов можно использовать для локализации строк в статических подсказках. Разрешенные пути к файлам: |
Манифест
Содержит «переносимую» информацию, т. е. не специфичную для какого-либо конкретного проекта, и ее можно перемещать между проектами.
JSON-представление | |
---|---|
{ "version": string } |
Поля | |
---|---|
version | Версия формата файла. Текущая версия формата файла — 1.0. Пример: «1.0». |
Действия
Представляет список действий, определенных в проекте.
JSON-представление | |
---|---|
{
"custom": {
string: {
object ( |
Поля | |
---|---|
custom | Сопоставьте намерения с настраиваемыми действиями, чтобы настроить вызов проекта. Намерения вызова могут быть либо системными, либо пользовательскими намерениями, определенными в пакете «custom/intents/». Все намерения, определенные здесь (системные и пользовательские намерения), должны иметь соответствующий файл намерений в пакете «custom/global/». Объект, содержащий список пар |
CustomAction
Подробности о специальном действии.
JSON-представление | |
---|---|
{
"engagement": {
object ( |
Поля | |
---|---|
engagement | Механизмы взаимодействия, связанные с действием, помогают конечным пользователям подписаться на push-уведомления и ежедневные обновления. Обратите внимание, что имя намерения, указанное в конфигурации слота ежедневных обновлений/push-уведомлений, должно совпадать с намерением, соответствующим этому действию, чтобы конечные пользователи могли подписаться на эти обновления. |
Обручение
Определяет механизмы взаимодействия, связанные с этим действием. Это позволяет конечным пользователям подписаться на push-уведомления и ежедневные обновления.
JSON-представление | |
---|---|
{ "title": string, "pushNotification": { object ( |
Поля | |
---|---|
title | Название взаимодействия, которое будет отправлено конечным пользователям с просьбой дать разрешение на получение обновлений. Запрос, отправляемый конечным пользователям для ежедневных обновлений, будет выглядеть так: «В какое время вы хотите, чтобы я отправлял вам ежедневные уведомления по {title}», а для push-уведомлений — «Ничего, если я отправлю push-уведомления для {title}». Это поле является локализуемым. |
pushNotification | Настройки push-уведомлений, которые поддерживает это взаимодействие. |
actionLink | Конфигурация ссылки для действия, которая определяет, включен ли общий доступ к ссылкам для этого действия, и если да, содержит понятное пользователю отображаемое имя для ссылки. ActionLink устарел. Вместо этого используйте AssistantLink. |
assistantLink | Конфигурация ссылки для действия, которая определяет, включен ли общий доступ к ссылкам для этого действия, и если да, содержит понятное пользователю отображаемое имя для ссылки. |
dailyUpdate | Настройки ежедневного обновления, поддерживаемые этим взаимодействием. |
Push-уведомление
Определяет настройки push-уведомлений, которые поддерживает это взаимодействие.
Ежедневное обновление
Определяет параметры ежедневного обновления, которые поддерживает это взаимодействие.
ActionLink
Указывает, включен ли обмен ссылками для этого действия и соответствующие настройки. Ссылки на действия используются для глубокой ссылки пользователя на конкретное действие. ActionLink устарел. Вместо этого используйте AssistantLink.
JSON-представление | |
---|---|
{ "title": string } |
Поля | |
---|---|
title | Удобный заголовок для ссылки. |
АссистентСсылка
Указывает, включен ли обмен ссылками для этого действия и соответствующие настройки. Ссылки помощника используются для глубокой ссылки пользователя на конкретное действие.
JSON-представление | |
---|---|
{ "title": string } |
Поля | |
---|---|
title | Удобный заголовок для ссылки. |
Настройки
Представляет параметры проекта Actions, которые не зависят от языкового стандарта. Следующий тег: 22
JSON-представление | |
---|---|
{ "projectId": string, "defaultLocale": string, "enabledRegions": [ string ], "disabledRegions": [ string ], "category": enum ( |
Поля | |
---|---|
projectId | Идентификатор проекта действий. |
defaultLocale | Языковой стандарт, используемый в проекте по умолчанию. Для всех файлов, кроме |
enabledRegions[] | Представляет регионы, в которых пользователи могут вызывать ваши действия, в зависимости от местоположения пользователя. Невозможно установить, если установлен |
disabledRegions[] | Представляет регионы, в которых ваши действия заблокированы, в зависимости от местоположения пользователя. Невозможно установить, если установлен |
category | Категория для этого проекта Actions. |
usesTransactionsApi | Могут ли Действия использовать транзакции (например, бронирование, прием заказов и т. д.). Если значение false, то попытки использовать API транзакций завершаются неудачей. |
usesDigitalPurchaseApi | Могут ли Действия выполнять транзакции с цифровыми товарами. |
usesInteractiveCanvas | Используют ли действия интерактивный холст. |
usesHomeStorage | Используют ли Действия функцию домашнего хранилища. |
designedForFamily | Предназначен ли контент Actions для всей семьи (DFF). |
containsAlcoholOrTobaccoContent | Содержит ли «Действия» контент, связанный с алкоголем или табаком. |
keepsMicOpen | Могут ли действия оставлять микрофон открытым без явного запроса во время разговора. |
surfaceRequirements | Требования к поверхности, которые клиентская поверхность должна поддерживать для вызова действий в этом проекте. |
testingInstructions | Инструкции по тестированию в свободной форме для рецензента действий (например, инструкции по связыванию аккаунтов). |
localizedSettings | Локализованные настройки для локали проекта по умолчанию. Каждая дополнительная локаль должна иметь собственный файл настроек в своем каталоге. |
accountLinking | Разрешите пользователям создавать или связывать учетные записи с помощью входа в Google и/или вашей собственной службы OAuth. |
selectedAndroidApps[] | Приложения Android, выбранные для доступа к покупкам в Google Play для транзакций. Это подборка приложений для Android, подключенных к проекту действий для подтверждения владения брендом и включения дополнительных функций. Дополнительную информацию см. на странице https://developers.google.com/assistant/console/brand-verification . |
Категория
Выбор категории для проекта Actions.
Перечисления | |
---|---|
CATEGORY_UNSPECIFIED | Неизвестно/Не указано. |
BUSINESS_AND_FINANCE | Категория «Бизнес и финансы». |
EDUCATION_AND_REFERENCE | Категория «Образование и справка». |
FOOD_AND_DRINK | Категория «Еда и напитки». |
GAMES_AND_TRIVIA | Категория «Игры и викторины». |
HEALTH_AND_FITNESS | Категория «Здоровье и фитнес». |
KIDS_AND_FAMILY | Категория «Дети и семья». |
LIFESTYLE | Категория образа жизни. |
LOCAL | Местная категория. |
MOVIES_AND_TV | Категория «Кино и ТВ». |
MUSIC_AND_AUDIO | Категория «Музыка и аудио». |
NEWS | Категория новостей, |
NOVELTY_AND_HUMOR | Номинации «Новинки и Юмор». |
PRODUCTIVITY | Категория производительности. |
SHOPPING | Категория покупок. |
SOCIAL | Социальная категория. |
SPORTS | Спортивная категория. |
TRAVEL_AND_TRANSPORTATION | Категория «Путешествия и транспорт». |
UTILITIES | Категория коммунальных услуг. |
WEATHER | Категория погоды. |
HOME_CONTROL | Категория «Управление домом». |
Требования к поверхности
Содержит набор требований, которые клиентская поверхность должна поддерживать для вызова действий в вашем проекте.
JSON-представление | |
---|---|
{
"minimumRequirements": [
{
object ( |
Поля | |
---|---|
minimumRequirements[] | Минимальный набор возможностей, необходимый для вызова действий в вашем проекте. Если на поверхности отсутствует какой-либо из них, Действие не будет запущено. |
Требование к возможностям
Представляет требование о доступности данной возможности.
JSON-представление | |
---|---|
{
"capability": enum ( |
Поля | |
---|---|
capability | Тип возможности. |
ПоверхностьВозможности
Возможный набор надводных возможностей.
Перечисления | |
---|---|
SURFACE_CAPABILITY_UNSPECIFIED | Неизвестно/Не указано. |
AUDIO_OUTPUT | Surface поддерживает вывод звука. |
SCREEN_OUTPUT | Surface поддерживает экранный/визуальный вывод. |
MEDIA_RESPONSE_AUDIO | Surface поддерживает звук ответа мультимедиа. |
WEB_BROWSER | Surface поддерживает веб-браузеры. |
ACCOUNT_LINKING | Surface поддерживает привязку учетных записей. |
INTERACTIVE_CANVAS | Surface поддерживает интерактивный холст. |
HOME_STORAGE | Surface поддерживает домашнее хранение. |
Локализованные настройки
Представляет настройки проекта Actions, специфичные для языкового стандарта пользователя. В этом случае пользователь означает конечного пользователя, который вызывает ваши действия. Это сообщение можно локализовать.
JSON-представление | |
---|---|
{
"displayName": string,
"pronunciation": string,
"shortDescription": string,
"fullDescription": string,
"smallLogoImage": string,
"largeBannerImage": string,
"developerName": string,
"developerEmail": string,
"termsOfServiceUrl": string,
"voice": string,
"voiceLocale": string,
"privacyPolicyUrl": string,
"sampleInvocations": [
string
],
"themeCustomization": {
object ( |
Поля | |
---|---|
displayName | Необходимый. Отображаемое имя по умолчанию для этого проекта Actions (если перевод недоступен). |
pronunciation | Необходимый. Произношение отображаемого имени для вызова его в голосовом (речевом) контексте. |
shortDescription | Необходимый. Краткое описание проекта Actions по умолчанию (если перевод недоступен). Ограничение в 80 символов. |
fullDescription | Необходимый. Полное описание по умолчанию для проекта Actions (если перевод недоступен). Ограничение в 4000 символов. |
smallLogoImage | Необходимый. Небольшое квадратное изображение, 192 x 192 пикселей. Это должно быть указано как ссылка на соответствующее изображение в каталоге |
largeBannerImage | Необязательный. Большое альбомное изображение, 1920 x 1080 пикселей. Это должно быть указано как ссылка на соответствующее изображение в каталоге |
developerName | Необходимый. Имя разработчика, которое будет отображаться пользователям. |
developerEmail | Необходимый. Контактный адрес электронной почты разработчика. |
termsOfServiceUrl | Необязательный. Условия использования URL. |
voice | Необходимый. Тип голоса Google Assistant, который слышат пользователи, когда взаимодействуют с вашими действиями. Поддерживаемые значения: «мужской_1», «мужской_2», «женский_1» и «женский_2». |
voiceLocale | Необязательный. Языковой стандарт для указанного голоса. Если не указано, это соответствует языковому стандарту Ассистента пользователя. Если указано, языковой стандарт голосовой связи должен иметь тот же корневой язык, что и языковой стандарт, указанный в LocalizedSettings. |
privacyPolicyUrl | Необходимый. URL-адрес политики конфиденциальности. |
sampleInvocations[] | Необязательный. Примеры фраз вызова, отображаемые как часть описания вашего проекта Actions в каталоге Assistant. Это поможет пользователям научиться его использовать. |
themeCustomization | Необязательный. Настройки тем для визуальных компонентов ваших действий. |
ТемаКастомизация
Стили, применяемые к карточкам, представленным пользователям.
JSON-представление | |
---|---|
{
"backgroundColor": string,
"primaryColor": string,
"fontFamily": string,
"imageCornerStyle": enum ( |
Поля | |
---|---|
backgroundColor | Цвет фона карточек. Действует как запасной вариант, если разработчиками не предоставлен |
primaryColor | Основной цвет темы действия будет использоваться для установки цвета текста заголовка и цвета фона элемента действия для действий на картах Google. Пример использования: #FAFAFA |
fontFamily | Семейство шрифтов, которое будет использоваться для названий карточек. Поддерживаемые шрифты: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Monospace - Cursive - Sans Serif Smallcaps |
imageCornerStyle | Стиль границы изображения карточек на переднем плане. Например, можно нанести на передний план изображение базовой карточки или карточки-карусели. |
landscapeBackgroundImage | Пейзажный режим (минимум 1920х1200 пикселей). Это должно быть указано как ссылка на соответствующее изображение в каталоге |
portraitBackgroundImage | Портретный режим (минимум 1200х1920 пикселей). Это должно быть указано как ссылка на соответствующее изображение в каталоге |
ИзображениеУголокСтиль
Описывает, как должны отображаться границы изображений.
Перечисления | |
---|---|
IMAGE_CORNER_STYLE_UNSPECIFIED | Неопределенный/Неопределенный. |
CURVED | Круглый угол для изображения. |
ANGLED | Прямоугольный уголок для изображения. |
Связывание аккаунтов
AccountLinking позволяет Google направлять пользователя для входа в веб-службы Приложения.
Для типов связывания входа в Google и OAuth + входа в Google Google создает идентификатор клиента, идентифицирующий ваше приложение для Google («Идентификатор клиента, выданный Google для ваших действий» в пользовательском интерфейсе консоли). Это поле доступно только для чтения. Его можно проверить, перейдя на страницу привязки учетной записи пользовательского интерфейса консоли. См.: https://developers.google.com/assistant/identity/google-sign-in .
Примечание. Для всех типов настроек привязки учетных записей (кроме входа в Google) вы должны указать имя пользователя и пароль для тестовой учетной записи в Settings.testing_instructions, чтобы группа проверки могла проверить приложение (они не будут видны пользователям).
JSON-представление | |
---|---|
{ "enableAccountCreation": boolean, "linkingType": enum ( |
Поля | |
---|---|
enableAccountCreation | Необходимый. Если |
linkingType | Необходимый. Используемый тип ссылки. Дополнительную информацию о типах ссылок см. на странице https://developers.google.com/assistant/identity . |
authGrantType | Необязательный. Указывает тип аутентификации для OAUTH linkingType. |
appClientId | Необязательный. Идентификатор клиента, выданный вашим приложением Google. Это идентификатор клиента OAuth2, идентифицирующий Google для вашего сервиса. Устанавливается только при использовании OAuth. |
authorizationUrl | Необязательный. Конечная точка вашей веб-страницы входа, которая поддерживает код OAuth2 или неявные потоки. URL-адрес должен использовать HTTPS. Устанавливается только при использовании OAuth. |
tokenUrl | Необязательный. Конечная точка OAuth2 для обмена токенами. URL-адрес должен использовать HTTPS. Это значение не устанавливается при использовании OAuth только с грантом IMPLICIT в качестве типа связи. Устанавливается только при использовании OAuth. |
scopes[] | Необязательный. Список разрешений, на которые пользователь должен согласиться, чтобы использовать ваш сервис. Устанавливается только при использовании OAuth. Обязательно укажите Условия обслуживания в информации каталога в разделе LocalizedSettings.terms_of_service_url, если указываете это поле. |
learnMoreUrl | Необязательный. Это веб-страница вашего сервиса, на которой описаны разрешения, которые пользователь предоставляет Google. Устанавливается только при использовании OAuth и входа в Google. Обязательно укажите Условия обслуживания в информации каталога в разделе LocalizedSettings.terms_of_service_url, если указываете это поле. |
useBasicAuthHeader | Необязательный. Если это правда, разрешите Google передавать идентификатор клиента и секрет через заголовок базовой аутентификации HTTP. В противном случае Google использует идентификатор клиента и секретный код внутри тела сообщения. Устанавливается только при использовании OAuth. Обязательно укажите Условия обслуживания в информации каталога в разделе LocalizedSettings.terms_of_service_url, если указываете это поле. |
тип ссылки
Тип привязки учетной записи, которую необходимо выполнить.
Перечисления | |
---|---|
LINKING_TYPE_UNSPECIFIED | Не указано. |
GOOGLE_SIGN_IN | Тип связи для входа в Google. При использовании этого типа связи поля, связанные с OAuth, задавать ниже не нужно. |
OAUTH_AND_GOOGLE_SIGN_IN | Тип связи OAuth и входа в Google. |
OAUTH | Тип связи OAuth. |
Аутгранттипе
Тип разрешения OAuth2, который Google использует, чтобы помочь пользователю войти в веб-службу вашего приложения.
Перечисления | |
---|---|
AUTH_GRANT_TYPE_UNSPECIFIED | Не указано. |
AUTH_CODE | Предоставление кода авторизации. Требуется указать URL-адрес аутентификации и URL-адрес токена доступа. |
IMPLICIT | Неявное предоставление кода. Требуется только предоставить URL-адрес аутентификации. |
Вебхук
Метаданные для разных типов вебхуков. Если вы используете inlineCloudFunction
, ваш исходный код должен находиться в каталоге с тем же именем, что и значение ключа executeFunction
. Например, значение my_webhook
для ключа executeFunction
будет иметь следующую структуру кода: - /webhooks/my_webhook.yaml
- /webhooks/my_webhook/index.js
- /webhooks/my_webhook/package.json
JSON-представление | |
---|---|
{ "handlers": [ { object ( |
Поля | ||
---|---|---|
handlers[] | Список обработчиков для этого вебхука. | |
Поле объединения webhook_type . Поддерживается только один тип вебхука. webhook_type может быть только одним из следующих: | ||
httpsEndpoint | Пользовательская конечная точка HTTPS веб-перехватчика. | |
inlineCloudFunction | Метаданные для облачной функции, развернутые из кода в папке веб-перехватчиков. |
Обработчик
Объявляет имя обработчика веб-перехватчика. Вебхук может иметь несколько зарегистрированных обработчиков. Эти обработчики можно вызывать из разных мест вашего проекта Actions.
JSON-представление | |
---|---|
{ "name": string } |
Поля | |
---|---|
name | Необходимый. Имя обработчика. Должно быть уникальным для всех обработчиков проекта Actions. Вы можете проверить имя этого обработчика, чтобы вызвать правильную функцию в исходном коде выполнения. |
HTTPSКонечная точка
Конечная точка REST для уведомления, если вы не используете встроенный редактор.
JSON-представление | |
---|---|
{ "baseUrl": string, "httpHeaders": { string: string, ... }, "endpointApiVersion": integer } |
Поля | |
---|---|
baseUrl | Базовый URL-адрес HTTPS для вашей конечной точки выполнения (HTTP не поддерживается). Имена обработчиков добавляются к базовому URL-пути после двоеточия (в соответствии с руководством по стилю в https://cloud.google.com/apis/design/custom_methods) . Например, базовый URL-адрес «https://gactions.service.com/api» будет получать запросы с URL-адресом «https://gactions.service.com/api:{method}». |
httpHeaders | Карта параметров HTTP, которые будут включены в запрос POST. Объект, содержащий список пар |
endpointApiVersion | Версия протокола, используемая конечной точкой. Это протокол, общий для всех типов выполнения и не специфичный для типа выполнения Google. |
InlineCloudФункция
Содержит метаданные встроенной облачной функции, развернутой из папки веб-перехватчиков.
JSON-представление | |
---|---|
{ "executeFunction": string } |
Поля | |
---|---|
executeFunction | Имя точки входа в облачную функцию. Значение этого поля должно совпадать с именем метода, экспортированного из исходного кода. |
Намерение
Намерения сопоставляют открытый пользовательский ввод со структурированными объектами. Разговорные фразы сопоставляются с намерениями с помощью технологии распознавания естественного языка (NLU) Google. Соответствие намерений может инициировать события в дизайне вашего разговора, способствующие развитию разговора пользователя. Имя намерения указывается в имени файла.
JSON-представление | |
---|---|
{
"parameters": [
{
object ( |
Поля | |
---|---|
parameters[] | Список параметров в обучающих фразах. Здесь должны быть определены все параметры, которые будут использоваться в обучающей фразе. |
trainingPhrases[] | Обучающие фразы позволяют NLU Google автоматически сопоставлять намерения с вводом пользователя. Чем больше уникальных фраз будет предоставлено, тем выше вероятность того, что это намерение будет соответствовать. Ниже приведен формат обучающей части фразы, которая снабжена аннотациями. Обратите внимание, что поле |
IntentParameter
Определение параметра, который можно использовать внутри обучающих фраз.
JSON-представление | |
---|---|
{ "name": string, // Union field |
Поля | ||
---|---|---|
name | Необходимый. Уникальное имя параметра намерения. Может использоваться в условиях и ответах на ссылочные параметры намерения, извлеченные NLU с помощью $intent.params.[name].resolved | |
Поле объединения parameter_type . Тип параметра намерения. parameter_type может быть только одним из следующих: | ||
type | Необязательный. Объявляет тип данных этого параметра. Это не следует устанавливать для встроенных намерений. | |
entitySetReferences | Необязательный. Ссылки на наборы разрешенных сущностей для этого параметра намерения. Действительно только для параметров встроенного намерения. Эти ссылки указывают на наборы сущностей в каталоге custom/entitySets. |
Ссылка на класс
Ссылка на класс, который используется для объявления типа поля или возвращаемого значения. Перечисления также являются типом класса, на который можно ссылаться с помощью ClassReference.
JSON-представление | |
---|---|
{ "name": string, "list": boolean } |
Поля | |
---|---|
name | Необходимый. Имя встроенного типа или пользовательского типа параметра. Примеры: |
list | Необязательный. Указывает, представляет ли тип данных список значений. |
EntitySetReferences
Ссылки на наборы сущностей для параметра намерения.
JSON-представление | |
---|---|
{
"entitySetReferences": [
{
object ( |
Поля | |
---|---|
entitySetReferences[] | Необходимый. Ссылки на наборы сущностей для параметра намерения. |
EntitySetReference
Ссылка на набор разрешенных объектов для этого параметра намерения.
JSON-представление | |
---|---|
{ "entitySet": string } |
Поля | |
---|---|
entitySet | Необходимый. Идентифицирует конкретную коллекцию сущностей, которые следует учитывать для данного параметра. Соответствующее определение набора сущностей должно присутствовать в каталоге custom/entitySets/. |
Тип
Объявление пользовательского типа, в отличие от встроенных типов. Типы могут быть назначены слотам в сцене или параметрам обучающих фраз намерения. Практически типы можно рассматривать как перечисления. Обратите внимание: имя типа указано в имени файла.
JSON-представление | |
---|---|
{ "exclusions": [ string ], // Union field |
Поля | ||
---|---|---|
exclusions[] | Набор исключительных слов/фраз, которые не должны совпадать по типу. Примечание. Если слово/фраза соответствует типу, но указано как исключение, оно не будет возвращено в результате извлечения параметров. Это поле является локализуемым. | |
Поле объединения sub_type . Выбор подтипа в зависимости от типа сопоставления, которое необходимо выполнить. sub_type может быть только одним из следующих: | ||
synonym | Тип Synonyms, который по сути является перечислением. | |
regularExpression | Тип Regex, допускает сопоставление регулярных выражений. | |
freeText | Тип произвольного текста. |
Тип синонима
Введите текст, соответствующий тексту по набору синонимов.
JSON-представление | |
---|---|
{ "matchType": enum ( |
Поля | |
---|---|
matchType | Необязательный. Тип соответствия синонима. |
acceptUnknownValues | Необязательный. Если установлено значение true, это будет соответствовать неизвестным словам или фразам на основе окружающих входных данных и данных обучения намерению, таких как предметы, которые могут быть добавлены в список покупок. |
entities | Необходимый. Именованная карта объектов-синонимов. Объект, содержащий список пар |
Тип соответствия
Тип соответствия, который будут использовать записи этого типа. Это обеспечит использование для всех типов одного и того же метода сопоставления и позволит варьировать сопоставление для сопоставления синонимов (т. е. нечеткое или точное). Если значение UNSPECIFIED
по умолчанию будет EXACT_MATCH
.
Перечисления | |
---|---|
UNSPECIFIED | По умолчанию EXACT_MATCH . |
EXACT_MATCH | Ищет точное совпадение синонима или имени. |
FUZZY_MATCH | Менее EXACT_MATCH . Ищет похожие совпадения, а также точные совпадения. |
Сущность
Представляет поле сущности-синонима, содержащее сведения об одной записи внутри типа.
JSON-представление | |
---|---|
{
"display": {
object ( |
Поля | |
---|---|
display | Необязательный. Подробности отображения сущности. |
synonyms[] | Необязательный. Список синонимов сущности. Это поле является локализуемым. |
EntityDisplay
Элементы, которые будут отображаться на холсте после извлечения сущности определенного типа из запроса. Актуально только для приложений с поддержкой Canvas. Это сообщение можно локализовать.
JSON-представление | |
---|---|
{ "iconTitle": string, "iconUrl": string } |
Поля | |
---|---|
iconTitle | Необязательный. Название иконы. |
iconUrl | Необходимый. URL значка. |
РегулярноеВыражениеТип
Введите текст, соответствующий регулярным выражениям. Это сообщение можно локализовать.
JSON-представление | |
---|---|
{
"entities": {
string: {
object ( |
Поля | |
---|---|
entities | Необходимый. Именованная карта сущностей, каждая из которых содержит строки Regex. Объект, содержащий список пар |
Сущность
Представляет объект сущности, содержащий регулярное выражение, используемое для сравнения.
JSON-представление | |
---|---|
{
"display": {
object ( |
Поля | |
---|---|
display | Необязательный. Элементы, которые будут отображаться на холсте после извлечения сущности из запроса. Актуально только для приложений с поддержкой Canvas. |
regularExpressions[] | Необходимый. Использует синтаксис регулярных выражений RE2 (подробнее см. https://github.com/google/re2/wiki/Syntax ). |
СвободныйТекстТип
Введите текст, соответствующий любому тексту, если контекст окружающих слов близок к предоставленным обучающим примерам.
JSON-представление | |
---|---|
{
"display": {
object ( |
Поля | |
---|---|
display | Необязательный. Элементы, которые будут отображаться на холсте после извлечения сущности из запроса. Актуально только для приложений с поддержкой Canvas. |
EntitySet
Наборы сущностей описывают заранее определенный набор сущностей, из которых могут быть получены значения встроенных параметров намерений. На наборы сущностей можно ссылаться из набора сущностей во встроенных параметрах намерений.
JSON-представление | |
---|---|
{
"entities": [
{
object ( |
Поля | |
---|---|
entities[] | Необходимый. Список сущностей, которые поддерживает этот набор сущностей. |
Сущность
Сущность, из которой может быть получено значение встроенного параметра намерения.
JSON-представление | |
---|---|
{ "id": string } |
Поля | |
---|---|
id | Необходимый. Идентификатор сущности. Список встроенных параметров намерения и поддерживаемых ими объектов см. на странице https://developers.google.com/assistant/conversational/build/built-in-intents. |
GlobalIntentEvent
Определяет глобальный обработчик намерений. События глобального намерения распространяются на весь проект Actions и могут быть переопределены обработчиками намерений в сцене. Имена намерений должны быть уникальными в рамках проекта Actions.
Глобальные намерения могут быть сопоставлены в любой момент во время сеанса, что позволяет пользователям получить доступ к общим потокам, таким как «получить помощь» или «вернуться домой». Их также можно использовать для глубокого связывания пользователей с определенными потоками при вызове действия.
Обратите внимание: имя намерения указано в имени файла.
JSON-представление | |
---|---|
{
"transitionToScene": string,
"handler": {
object ( |
Поля | |
---|---|
transitionToScene | Необязательный. Конечная сцена, к которой должен перейти разговор. Состояние текущей сцены уничтожается при переходе. |
handler | Необязательный. Обработчик событий, который срабатывает при совпадении намерения. Должно выполняться перед переходом к целевой сцене. Полезно для создания подсказок в ответ на события. |
Обработчик событий
Определяет обработчик, который будет выполняться после события. Примерами событий являются события, основанные на намерениях и условиях, в сцене.
JSON-представление | |
---|---|
{ "webhookHandler": string, // Union field |
Поля | ||
---|---|---|
webhookHandler | Имя вызываемого обработчика веб-перехватчика. | |
prompt поля объединения. Подсказки могут быть встроены или указаны по имени. prompt может быть только одной из следующих: | ||
staticPrompt | Встроенная статическая подсказка. Может содержать ссылки на строковые ресурсы в пакетах. | |
staticPromptName | Имя статического приглашения для вызова. |
СтатикПромпт
Представляет список кандидатов на приглашение, один из которых будет выбран в качестве приглашения, отображаемого в ответе пользователю. Это сообщение можно локализовать.
JSON-представление | |
---|---|
{
"candidates": [
{
object ( |
Поля | |
---|---|
candidates[] | Список кандидатов-подсказок для отправки клиенту. У каждого приглашения есть селектор, позволяющий определить, когда его можно использовать. Будет отправлен первый селектор, соответствующий запросу, а остальные будут игнорироваться. |
СтатикПромптКандидате
Представляет статического кандидата приглашения.
JSON-представление | |
---|---|
{ "selector": { object ( |
Поля | |
---|---|
selector | Необязательный. Критерии соответствия этого запроса запросу. Если селектор пуст, это приглашение будет активироваться всегда. |
promptResponse | Быстрый ответ, связанный с селектором. |
Селектор
Определяет критерии соответствия приглашения запросу.
JSON-представление | |
---|---|
{
"surfaceCapabilities": {
object ( |
Поля | |
---|---|
surfaceCapabilities | Набор необходимых возможностей поверхности. |
Возможности поверхности
Представляет поверхность, которую пользователь использует для запроса действия.
JSON-представление | |
---|---|
{
"capabilities": [
enum ( |
Поля | |
---|---|
capabilities[] | Необходимый. Возможности поверхности, отправляющей запрос к Action. |
Возможность
Возможности, поддерживаемые поверхностью устройства на момент запроса.
Перечисления | |
---|---|
UNSPECIFIED | Неуказанные возможности поверхности. |
SPEECH | Устройство может общаться с пользователем посредством преобразования текста в речь или SSML. |
RICH_RESPONSE | Устройство может отображать расширенные ответы, такие как карточки, списки и таблицы. |
LONG_FORM_AUDIO | Устройство может воспроизводить длинные аудиофайлы, такие как музыка и подкасты. |
INTERACTIVE_CANVAS | Устройство может отображать ответ на интерактивном холсте. |
WEB_LINK | Устройство может использовать веб-ссылки в расширенных ответах для открытия веб-браузера. |
HOME_STORAGE | Устройство может поддерживать сохранение и выборку данных из домашнего хранилища. |
СтатикПромптОтклик
Представляет структурированные ответы для отправки пользователю, такие как текст, речь, карточки, данные холста, чипы предложений и т. д.
JSON-представление | |
---|---|
{ "firstSimple": { object ( |
Поля | |
---|---|
firstSimple | Необязательный. Первый голосовой и текстовый ответ. |
content | Необязательный. Содержимое, такое как карточка, список или медиафайл, который будет отображаться пользователю. |
lastSimple | Необязательный. Последний голосовой и текстовый ответ. |
suggestions[] | Необязательный. Предложения, которые будут отображаться пользователю и всегда будут появляться в конце ответа. Если поле |
link | Необязательный. Дополнительный чип предложения, который может ссылаться на соответствующее приложение или сайт. Чип будет отображаться с заголовком «Открыть». |
override | Необязательный. Режим объединения этих сообщений с ранее определенными сообщениями. |
canvas | Ответ, который будет использоваться для интерактивного взаимодействия с холстом. |
СтатическийПростойПодсказка
Представляет простой запрос, который необходимо отправить пользователю.
JSON-представление | |
---|---|
{
"variants": [
{
object ( |
Поля | |
---|---|
variants[] | Список возможных вариантов. |
Вариант
Представляет вариант, который является частью простого приглашения.
JSON-представление | |
---|---|
{ "speech": string, "text": string } |
Поля | |
---|---|
speech | Необязательный. Представляет речь, которая будет произнесена пользователю. Это может быть SSML или преобразование текста в речь. По умолчанию речь будет добавлена к речи предыдущей простой подсказки. Если поле |
text | Необязательный. Текст для отображения в чате. Если не задано, будет использоваться отображение речевого поля выше. Ограничено 640 символами. По умолчанию текст будет добавлен к тексту предыдущего простого приглашения. Если поле |
СтатикКонтентПромпт
Заполнитель для части содержимого StaticPrompt.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
content поля объединения. В приглашении может присутствовать только один тип контента. content может быть только одним из следующих: | ||
card | Базовая карта. | |
image | Изображение. | |
table | Настольная карта. | |
media | Ответ, указывающий набор медиафайлов для воспроизведения. | |
list | Карточка для представления списка вариантов на выбор. | |
collection | Карточка со списком вариантов для выбора. | |
collectionBrowse | Карточка с набором веб-страниц, которые нужно открыть. |
СтатическаяКартаПодсказка
Базовая карточка для отображения некоторой информации, например изображения и/или текста.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
Поля | |
---|---|
title | Необязательный. Общее название карты. |
subtitle | Необязательный. Подзаголовок карты. |
text | Необходимый. Основной текст карточки, который необходим, если отсутствует изображение. Поддерживает ограниченный набор синтаксиса уценки для форматирования. |
image | Необязательный. Изображение героя для карты. Высота фиксирована и равна 192dp. |
imageFill | Необязательный. Как будет заполнен фон изображения. |
button | Необязательный. Нажимаемая кнопка, которая будет отображаться на карточке. |
Статическое изображениеПодсказка
Изображение, отображаемое на карточке.
JSON-представление | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
Поля | |
---|---|
url | Необходимый. Исходный URL изображения. Изображения могут быть в формате JPG, PNG и GIF (анимированные и неанимированные). Например, |
alt | Необходимый. Текстовое описание изображения, которое будет использоваться для обеспечения доступности, например программы чтения с экрана. |
height | Необязательный. Высота изображения в пикселях. |
width | Необязательный. Ширина изображения в пикселях. |
Заполнение изображения
Возможные варианты отображения изображения, влияющие на представление изображения. Это следует использовать, когда соотношение сторон изображения не соответствует соотношению сторон контейнера изображения.
Перечисления | |
---|---|
UNSPECIFIED | ImageFill не указан. |
GRAY | Заполните промежутки между изображением и контейнером изображения серыми полосами. |
WHITE | Заполните промежутки между изображением и контейнером изображения белыми полосами. |
CROPPED | Изображение масштабируется таким образом, чтобы ширина и высота изображения соответствовали размерам контейнера или превышали их. Это может обрезать верхнюю и нижнюю часть изображения, если масштабированная высота изображения больше высоты контейнера, или обрезать левую и правую часть изображения, если ширина масштабированного изображения больше ширины контейнера. Это похоже на «Режим масштабирования» на широкоэкранном телевизоре при воспроизведении видео с соотношением сторон 4:3. |
Статиклинкпромпт
Определяет ссылку, которая будет отображаться в виде подсказки и может быть открыта пользователем.
JSON-представление | |
---|---|
{
"name": string,
"open": {
object ( |
Поля | |
---|---|
name | Название ссылки |
open | Определяет поведение, когда пользователь открывает ссылку. |
OpenUrl
Определяет поведение, когда пользователь открывает ссылку.
JSON-представление | |
---|---|
{
"url": string,
"hint": enum ( |
Поля | |
---|---|
url | Поле URL-адреса, которое может быть любым из: URL-адреса http/https для открытия приложения, связанного с приложением, или веб-страницы. |
hint | Указывает подсказку для типа URL-адреса. |
URL-подсказка
Различные типы подсказок URL.
Перечисления | |
---|---|
HINT_UNSPECIFIED | Не указано |
AMP | URL-адрес, указывающий непосредственно на контент AMP, или канонический URL-адрес, который ссылается на контент AMP через <link rel="amphtml"> . |
Статиктаблепромпт
Карточка таблицы для отображения таблицы текста.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Поля | |
---|---|
title | Необязательный. Общее название таблицы. Должно быть установлено, если установлены субтитры. |
subtitle | Необязательный. Подзаголовок к таблице. |
image | Необязательный. Изображение, связанное с таблицей. |
columns[] | Необязательный. Заголовки и выравнивание столбцов. |
rows[] | Необязательный. Данные строки таблицы. Первые три строки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие строки будут отображаться для данной поверхности. На поверхностях, которые поддерживают возможность |
button | Необязательный. Кнопка. |
ТаблицаСтолбец
Описывает столбец в таблице.
JSON-представление | |
---|---|
{
"header": string,
"align": enum ( |
Поля | |
---|---|
header | Текст заголовка столбца. |
align | Горизонтальное выравнивание содержимого по столбцу. Если не указано, содержимое будет выровнено по переднему краю. |
Горизонтальное выравнивание
Выравнивание содержимого внутри ячейки.
Перечисления | |
---|---|
UNSPECIFIED | Горизонтальное выравнивание не указано. |
LEADING | Передний край ячейки. Это значение по умолчанию. |
CENTER | Содержимое выравнивается по центру столбца. |
TRAILING | Содержимое выравнивается по заднему краю столбца. |
ТаблицаРоу
Описывает строку в таблице.
JSON-представление | |
---|---|
{
"cells": [
{
object ( |
Поля | |
---|---|
cells[] | Ячейки в этом ряду. Первые три ячейки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие ячейки будут отображаться для данной поверхности. |
divider | Указывает, должен ли быть разделитель после каждой строки. |
Таблеселл
Описывает ячейку в строке.
JSON-представление | |
---|---|
{ "text": string } |
Поля | |
---|---|
text | Текстовое содержимое ячейки. |
СтатикМедиаПромпт
Содержит информацию о носителе, такую как имя, описание, URL-адрес и т. д. Следующий идентификатор: 11
JSON-представление | |
---|---|
{ "mediaType": enum ( |
Поля | |
---|---|
mediaType | Тип носителя этого ответа. |
startOffset | Начальное смещение первого медиа-объекта. Длительность в секундах, содержащая до девяти дробных цифр, заканчивающаяся символом « |
optionalMediaControls[] | Дополнительные типы управления мультимедиа, которые может поддерживать этот сеанс ответа на мультимедиа. Если установлено, запрос будет отправлен на 3p, когда произойдет определенное медиа-событие. Если не установлено, 3p все равно должен обрабатывать два типа управления по умолчанию: FINISHED и FAILED. |
mediaObjects[] | Список медиа-объектов. |
repeatMode | Режим повтора для списка медиа-объектов. |
Медиатип
Тип носителя этого ответа.
Перечисления | |
---|---|
MEDIA_TYPE_UNSPECIFIED | НЕОПРЕДЕЛЕННОЕ значение |
AUDIO | Аудио файл. |
MEDIA_STATUS_ACK | Ответ на подтверждение отчета о состоянии СМИ. |
Необязательные элементы управления медиа
Типы управления мультимедиа, ответ мультимедиа может поддерживаться опционально
Перечисления | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED | Неустановленное значение |
PAUSED | Приостановленное мероприятие. Срабатывает, когда пользователь приостанавливает воспроизведение мультимедиа. |
STOPPED | Остановленное мероприятие. Срабатывает, когда пользователь завершает сеанс 3p во время воспроизведения мультимедиа. |
Медиаобъект
Представляет один медиа-объект.
JSON-представление | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
Поля | |
---|---|
name | Имя этого медиа-объекта. |
description | Описание этого медиа-объекта. |
url | URL-адрес, указывающий на медиа-контент. |
image | Изображение для показа вместе с медиа-картой. |
Медиаизображение
Изображение, которое будет отображаться внутри MediaPrompt.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
image поля объединения. Разрешен только один тип MediaImage. image может быть только одним из следующих: | ||
large | Большое изображение, например обложка альбома и т. д. | |
icon | Небольшой значок изображения отображается справа от заголовка. Его размер изменен до 36x36 dp. |
Режим повтора
Типы режима повтора для списка медиаобъектов.
Перечисления | |
---|---|
REPEAT_MODE_UNSPECIFIED | Эквивалент ВЫКЛ. |
OFF | Завершить сеанс мультимедиа в конце последнего медиа-объекта. |
ALL | Перейдите к началу первого медиа-объекта, когда будет достигнут конец последнего медиа-объекта. |
Статиклистлистпромпт
Карточка для представления списка вариантов на выбор.
JSON-представление | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
Поля | |
---|---|
title | Необязательный. Название списка. |
subtitle | Необязательный. Подзаголовок списка. |
items[] | Необходимый. Перечислить предметы. |
ListItem
Элемент в списке.
JSON-представление | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
Поля | |
---|---|
key | Необходимый. Ключ NLU, соответствующий имени ключа записи в связанном типе. При нажатии на элемент этот ключ будет отправлен обратно в качестве параметра выбора опции. |
title | Необходимый. Название предмета. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его напечатал. Каждый заголовок должен быть уникальным среди множества элементов. |
description | Необязательный. Основной текст элемента. |
image | Необязательный. Изображение предмета. |
StaticCollectionPrompt
Карточка, представляющая набор вариантов на выбор.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
Поля | |
---|---|
title | Необязательный. Название сборника. |
subtitle | Необязательный. Подзаголовок сборника. |
items[] | Необходимый. Предметы коллекции. |
imageFill | Необязательный. Тип опции отображения изображения. |
КоллекцияЭлемент
Предмет в коллекции.
JSON-представление | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
Поля | |
---|---|
key | Необходимый. Ключ NLU, соответствующий имени ключа записи в связанном типе. При нажатии на элемент этот ключ будет отправлен обратно в качестве параметра выбора опции. |
title | Необходимый. Название предмета. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его напечатал. Каждый заголовок должен быть уникальным среди множества элементов. |
description | Необязательный. Основной текст элемента. |
image | Необязательный. Изображение предмета. |
StaticCollectionBrowsePrompt
Представляет набор веб-документов как коллекцию элементов большой плитки. Элементы могут быть выбраны для запуска связанного с ними веб-документа в средстве веб-просмотра.
JSON-представление | |
---|---|
{ "items": [ { object ( |
Поля | |
---|---|
items[] | Элементы в коллекции просмотра. Размер списка должен находиться в диапазоне [2, 10]. |
imageFill | Опция отображения изображений для изображений в коллекции. |
КоллекцияОбзорЭлемент
Предмет в коллекции.
JSON-представление | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
Поля | |
---|---|
title | Необходимый. Название предмета коллекции. |
description | Описание предмета коллекции. |
footer | Текст нижнего колонтитула элемента коллекции, отображаемый под описанием. Одна строка текста, обрезанная многоточием. |
image | Изображение предмета коллекции. |
openUriAction | Необходимый. URI для открытия, если элемент выбран. |
Предположение
Представляет чип предложения — элемент пользовательского интерфейса, отображаемый пользователю для удобства.
JSON-представление | |
---|---|
{ "title": string } |
Поля | |
---|---|
title | Необходимый. Текст, отображаемый в чипе предложения. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его напечатал. Каждое название должно быть уникальным среди множества фишек предложений. Макс. 25 символов |
СтатическийХолстПодсказка
Представляет ответ Interactive Canvas, который будет отправлен пользователю. Его можно использовать вместе с полем firstSimple
в содержащем приглашении для разговора с пользователем в дополнение к отображению ответа на интерактивном холсте.
JSON-представление | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "sendStateDataToCanvasApp": boolean, "enableFullScreen": boolean } |
Поля | |
---|---|
url | Необходимый. URL-адрес веб-представления для загрузки. |
data[] | Необязательный. Данные JSON, которые будут переданы на веб-страницу иммерсивного опыта как событие. Если поле |
suppressMic | Необязательный. Значение true означает, что микрофон не будет открыт для захвата ввода после того, как пользователю будет представлен иммерсивный ответ. |
sendStateDataToCanvasApp | Необязательный. Если |
enableFullScreen | Необязательный. Если |
Сцена
Сцена — это основная единица потока управления при построении разговора. Их можно объединять в цепочку с другими сценами, генерировать подсказки для конечного пользователя и определять слоты. Имя сцены указано в имени файла.
JSON-представление | |
---|---|
{ "onEnter": { object ( |
Поля | |
---|---|
onEnter | Обработчик, вызываемый при переходе в эту сцену. |
intentEvents[] | Список событий, которые срабатывают в зависимости от намерений. Эти события могут быть вызваны в любое время после вызова обработчика on_load. Важно: эти события определяют набор намерений, которые относятся к этой сцене, и будут иметь приоритет над любыми глобально определенными событиями, имеющими те же намерения или их триггерные фразы. Имена намерений должны быть уникальными в пределах сцены. |
conditionalEvents[] | Список событий, которые инициируются на основе условных операторов. Они оцениваются после заполнения формы или сразу после on_load, если в этой сцене нет формы (оценка выполняется только один раз). Будет запущено только первое соответствующее событие. |
slots[] | Упорядоченный список слотов. Каждый слот определяет тип данных, которые он будет обрабатывать, и конфигурацию для настройки процесса этого разрешения (например, подсказки). |
onSlotUpdated | Обработчик вызывается, когда происходит изменение состояния слота, не вызванное обновлениями внутри другого обработчика. Это позволяет сделать недействительными слоты, сцену или другие изменения в состоянии сцены. |
IntentEvent
Регистрирует события, которые срабатывают в результате совпадения намерений.
JSON-представление | |
---|---|
{
"intent": string,
"transitionToScene": string,
"handler": {
object ( |
Поля | |
---|---|
intent | Необходимый. Намерение, вызывающее событие. |
transitionToScene | Необязательный. Конечная сцена, к которой должен перейти разговор. Состояние текущей сцены уничтожается при переходе. |
handler | Необязательный. Обработчик событий, который срабатывает при совпадении намерения. Должно выполняться перед переходом к целевой сцене. Полезно для создания подсказок в ответ на события. |
УсловноеСобытие
Регистрирует события, которые срабатывают в результате истинного условия.
JSON-представление | |
---|---|
{
"condition": string,
"transitionToScene": string,
"handler": {
object ( |
Поля | |
---|---|
condition | Необходимый. Условие фильтра для срабатывания этого события. Если условие оценивается как истинное, то будет запущен соответствующий |
transitionToScene | Необязательный. Сцена назначения, к которой должен перейти диалог, когда связанное условие оценивается как истинное. Состояние текущей сцены уничтожается при переходе. |
handler | Необязательный. Обработчик событий, который срабатывает, когда связанное условие оценивается как |
Слот
Конфигурация слота. Слоты — это отдельные единицы данных, которые могут быть заполнены с помощью естественного языка (т. е. параметров намерений), параметров сеанса и других источников.
JSON-представление | |
---|---|
{ "name": string, "type": { object ( |
Поля | |
---|---|
name | Необходимый. Название слота. |
type | Необходимый. Объявляет тип данных этого слота. |
required | Необязательный. Указывает, необходимо ли заполнить слот перед продвижением. Обязательные слоты, которые не заполнены, вызывают у пользователя настраиваемый запрос. |
promptSettings | Необязательный. Регистры Подсказки для разных этапов заполнения слотов. |
commitBehavior | Необязательный. Зафиксировать поведение, связанное со слотом. |
config | Необязательный. Дополнительная конфигурация, связанная со слотом, которая используется для заполнения слота. Формат конфигурации зависит от типа слота. В эту конфигурацию можно добавить ссылки на ресурсы для пользователя или параметра сеанса. Этот конфиг нужен для заполнения слотов, связанных с транзакциями и вовлечением пользователей. Пример. Для слота типа action.type.CompletePurchaseValue следующая конфигурация предлагает цифровой заказ товара со ссылкой на определенный клиентом параметр сеанса { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue | Необязательный. Конфигурация для заполнения значения по умолчанию для этого слота. |
Подскажите настройки
Единственное место, где определяются подсказки слотов.
JSON-представление | |
---|---|
{ "initialPrompt": { object ( |
Поля | |
---|---|
initialPrompt | Запрос самого значения слота. Пример: «Какой размер вам нужен?» |
noMatchPrompt1 | Запрашивать ввод, когда ввод пользователя не соответствует ожидаемому типу значения для слота в первый раз. Пример: «Извините, я этого не понял». |
noMatchPrompt2 | Запрос на ввод, если ввод пользователя не соответствует ожидаемому типу значения для слота во второй раз. Пример: «Извините, я этого не понял». |
noMatchFinalPrompt | Запрашивать ввод, если ввод пользователя не соответствует ожидаемому типу значения для слота в последний раз. Пример: «Извините, я этого не понял». |
noInputPrompt1 | Запросить ввод, если пользователь не вводит данные в первый раз. Пример: «Извините, я этого не понял». |
noInputPrompt2 | Запросить ввод, если пользователь не вводит данные во второй раз. Пример: «Извините, я этого не понял». |
noInputFinalPrompt | Запрашивать ввод, когда пользователь не вводит данные в последний раз. Пример: «Извините, я этого не понял». |
CommitBehavior
Сообщение, описывающее поведение фиксации, связанное со слотом, после его успешного заполнения.
JSON-представление | |
---|---|
{ "writeSessionParam": string } |
Поля | |
---|---|
writeSessionParam | Параметр сеанса для записи значения слота после его заполнения. Обратите внимание, что вложенные пути в настоящее время не поддерживаются. «$$» используется для записи значения слота в параметр сеанса с тем же именем, что и слот. Например: writeSessionParam = «fruit» соответствует «$session.params.fruit». writeSessionParam = «билет» соответствует «$session.params.ticket». |
Значение по умолчанию
Конфигурация для заполнения значения по умолчанию для этого слота.
JSON-представление | |
---|---|
{ "sessionParam": string, "constant": value } |
Поля | |
---|---|
sessionParam | Необязательный. Параметр сеанса, который будет использоваться для инициализации значения слота, если оно имеет непустое значение. Тип значения должен соответствовать типу слота. Обратите внимание, что вложенные пути в настоящее время не поддерживаются. Например: |
constant | Необязательный. Постоянное значение по умолчанию для слота. Это будет использоваться только в том случае, если значение для этого слота не было заполнено через |
Файлы данных
Обертка для повторяющегося файла данных. Повторяющиеся поля не могут существовать в одном из них.
JSON-представление | |
---|---|
{
"dataFiles": [
{
object ( |
Поля | |
---|---|
dataFiles[] | Несколько файлов данных. |
Файл данных
Представляет один файл, содержащий неструктурированные данные. Примеры включают файлы изображений, аудиофайлы и исходный код облачных функций.
JSON-представление | |
---|---|
{ "filePath": string, "contentType": string, "payload": string } |
Поля | |
---|---|
filePath | Относительный путь к файлу данных из корня проекта в файловой структуре SDK. Разрешенные пути к файлам: - Изображения: |
contentType | Необходимый. Тип контента этого ресурса. Пример: |
payload | Содержимое файла данных. Примерами могут служить необработанные байты изображений, аудиофайлы или zip-формат облачных функций. Существует строгое ограничение на размер полезной нагрузки в 10 МБ. Строка в кодировке Base64. |