1. Обзор
Платформа для разработчиков Google Assistant позволяет создавать программное обеспечение, расширяющее функциональность Google Assistant, виртуального персонального помощника, на более чем миллиарде устройств, включая умные колонки, телефоны, автомобили, телевизоры, наушники и многое другое. Пользователи взаимодействуют с Assistant для выполнения различных задач, например, покупки продуктов или заказа такси. Как разработчик, вы можете использовать платформу для разработчиков Assistant, чтобы легко создавать и поддерживать увлекательные и эффективные диалоги между пользователями и вашим сторонним сервисом обработки заказов.
Эта практическая работа охватывает концепции среднего уровня по разработке с использованием Google Ассистента и основана на действии, созданном в практической работе уровня 1. Настоятельно рекомендуется выполнить практическую работу уровня 1 перед началом работы над этой практической работой.
Действие, которое вы создаете в этой лабораторной работе, предсказывает пользователям их судьбу в их приключениях в мифической стране Гриффинберг, в зависимости от выбранной ими помощи.
Что вы построите
В этой лабораторной работе вы создадите сложное диалоговое действие со следующими функциями:
- Собирает данные от пользователя и в зависимости от их значения изменяет диалоговые подсказки.
- Задает уточняющие вопросы для продолжения разговора
- Создает игровой цикл, чтобы пользователь мог снова взаимодействовать с действием после получения выигрыша.
Прежде чем начать сборку, вы можете взаимодействовать с действием на устройстве с поддержкой Google Ассистента, сказав : «Окей, Google, поговори с Судьбой и Фортуной» . Путь по умолчанию для вернувшегося пользователя к этому действию выглядит следующим образом:
Чему вы научитесь
- Как использовать слоты для сбора данных от пользователя
- Как использовать условия для добавления логики в сцену
- Как добавить игровой цикл
- Как добавить поддерживающий путь
Что вам понадобится
Предварительные условия для этой лабораторной работы включают следующее:
- Веб-браузер, например Google Chrome
- Завершенный проект Codelab Level 1 Actions ( Создание действий для Google Assistant с помощью Actions Builder Level 1 )
Для понимания кода выполнения этой лабораторной работы настоятельно рекомендуется, хотя и не обязательно, знание JavaScript (ES6).
2. Продолжаем создавать диалоговый интерфейс.
В первой лабораторной работе вы создали простое диалоговое действие с одной сценой Start
.
В этой лабораторной работе вы расширите диалог вашего действия. В следующих разделах вы настроите действие для выполнения следующих действий:
- Переход к новой сцене
Fortune
, когда пользователь хочет услышать свою судьбу - Спросите пользователя, какое средство передвижения он хочет выбрать для своего путешествия.
- Доставить персонализированное состояние на основе выбора пользователя
Создать сцену Fortune
В этом разделе вы создадите сцену Fortune
и определите, как пользователь перейдет к ней во время разговора.
Чтобы создать новую сцену под названием Fortune
, выполните следующие действия:
- Откройте проект действий уровня 1 вашей кодовой лаборатории.
- Нажмите «Разработать» на панели навигации.
- В разделе «Сцены» нажмите « Начальная сцена».
- Щелкните намерение «да» (поле « При совпадении «да» ), чтобы открыть параметры.
- Очистите поле «Отправить запросы» , чтобы удалить запросы.
- В разделе «Переход» щелкните раскрывающееся меню, щелкните текстовое поле и введите
Fortune
. - Нажмите «Добавить». Это создаст новую сцену под названием
Fortune
. Также будет добавлен переход отStart
сцены к сценеFortune
, когда пользователь захочет узнать свою судьбу.
Определите логику разговора для сцены Fortune
В этой лабораторной работе вы настраиваете сцену Fortune
так, чтобы она спрашивала пользователя: « Что вы выберете для помощи в ваших поисках: дракона, переводчика или компас?» Вы можете использовать возможность, называемую заполнением слотов , чтобы собрать необходимую информацию от пользователя перед продолжением.
Ваше действие предоставляет предсказания для трёх вспомогательных средств: дракона, переводчика и компаса. Чтобы настроить действие для определения этих трёх опций в пользовательском вводе, необходимо создать новый тип.
Вы можете использовать типы на этапе заполнения слотов сцены, чтобы определить информацию, которую вы хотите получить от пользователя. Когда движок NLU обнаруживает совпадение слота в пользовательском вводе, он извлекает слот как типизированный параметр, чтобы вы могли выполнять с ним логику в сцене.
Создать тип available_options
В этом разделе вы создаёте новый тип available_options
, который определяет три варианта ответа пользователя (дракон, переводчик и компас). Вы также определяете несколько синонимов для этих вариантов на случай, если пользователь скажет что-то похожее. В следующем разделе вы добавляете тип available_options
в слот, чтобы указать, что вы хотите получить выбор пользователя.
Чтобы создать тип available_options
, выполните следующие действия:
- На панели навигации нажмите «Типы».
- Нажмите + (знак плюс) , введите
available_options
и нажмитеEnter
. - Нажмите
available_options
, чтобы открыть параметры.
Типы данных настраиваются как пары «ключ-значение», где ключ — это имя типа, а значения — синонимы этого ключа. При определении ключа он автоматически добавляется как значение.
Чтобы добавить три варианта, которые пользователь может выбрать, выполните следующие действия:
- Прокрутите страницу до раздела Добавить записи .
- В поле «Новая запись» введите
dragon
и нажмитеEnter
. Это действие создаст ключdragon
. - Введите слово
hydra
в поле «Добавить значения» и нажмитеEnter
, чтобы добавить его как значение (синоним). Затем повторите этот шаг для значенияlizard
. - Добавьте остальные ключи и соответствующие значения:
-
translator | translator
,communicator
,machine
,decoder
,translate
-
compass | compass
,direction
,guide
- Нажмите «Сохранить» .
Теперь ваше действие понимает, что available_options
— это дракон, переводчик и компас, а также может распознавать несколько соответствующих синонимов.
Настроить заполнение слотов
Далее необходимо настроить заполнение слотов в сцене Fortune
. Чтобы настроить логику заполнения слотов, выполните следующие действия:
- На панели навигации в разделе «Сцены» нажмите «Фортуна» .
- На сцене
Fortune
нажмите на + (знак плюс) для заполнения слота . - В поле Введите имя слота добавьте
chosenOptions
в качестве имени слота. - В раскрывающемся списке «Выбрать тип» выберите
available_options
в качестве типа слота. - Установите флажок Этот слот обязателен .
- Выберите «Отправить подсказки» и добавьте следующее сообщение и чипы предложений:
candidates:
- first_simple:
variants:
- speech: >-
What do you choose to help you on your quest, a dragon, a
translator, or a compass?
suggestions:
- title: 'Dragon'
- title: 'Translator'
- title: 'Compass'
- Нажмите «Сохранить» .
Вы добавили в слот тип available_options
, который сообщает вашему действию, какую информацию необходимо получить от пользователя (выбранный им вспомогательный элемент) перед продолжением. Вы также настроили подсказку в слоте, которая добавляется в очередь подсказок, когда пользователь достигает этапа заполнения слота сцены.
Обратите внимание, что при присвоении слоту имени chosenOptions
поле обратной записи значения слота Customize обновляется с тем же именем ( $session.params.chosenOptions
). Доступ к этому параметру по этому имени можно получить в Actions Builder и в вашем файле выполнения через клиентскую библиотеку.
Настройте scene.slots.status == "FINAL"
условие
При добавлении слота условие scene.slots.status == "FINAL"
автоматически добавляется в список условий.
Условие scene.slots.status == "FINAL"
проверяет, заполнены ли все слоты. Когда все слоты заполнены, условие может активировать веб-перехват, переход к новой сцене или добавление подсказок в очередь подсказок.
В этом разделе вы настраиваете scene.slots.status == "FINAL"
для добавления подсказки в очередь подсказок после заполнения слотов.
Чтобы добавить эту подсказку в FINAL
условие, выполните следующие действия:
- Нажмите
scene.slots.status == "FINAL"
, чтобы открыть окно параметров. - Выберите «Отправить подсказки» и добавьте следующую подсказку:
candidates:
- first_simple:
variants:
- speech: You picked $session.params.chosenOptions.
- Нажмите «Сохранить» .
Проверьте свои действия в симуляторе
На этом этапе вы определили, какие варианты должен выбрать пользователь для заполнения слота. После получения этой информации от пользователя ваше действие должно вывести подсказку, ссылающуюся на выбранный им вариант.
Чтобы протестировать свое действие, выполните следующие действия:
- На панели навигации нажмите Тест .
- Щелкните или введите
Talk to my test app
в поле ввода и нажмитеEnter
. - Введите
Yes
в поле ввода и нажмитеEnter
. (Кроме того, вы можете нажать на значок с предложением «Да» .)
- Нажмите, введите или произнесите
dragon
. Вы должны увидеть сообщение «Вы выбрали дракона».
В следующем разделе вы настроите подсказки для каждого средства помощи, которое может выбрать пользователь.
Настройте подсказки с помощью условий
В этом разделе вы добавляете условия для каждого варианта, который может выбрать пользователь, а также добавляете настраиваемую подсказку для каждого условия.
Настройте удачу dragon
Чтобы обновить условие и настроить подсказку для случая, когда пользователь выбирает «дракон», выполните следующие действия:
- Нажмите «Разработать» на панели навигации.
- На панели навигации нажмите на сцену «Fortune» .
- Нажмите
scene.slots.status == "FINAL"
, чтобы открыть окно параметров. - Обновите оператор условия следующим образом:
scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
- Выберите Отправлять подсказки.
- Обновите приглашение, введя в редакторе кода следующую команду:
candidates:
- first_simple:
variants:
- speech: >-
The people of Gryffinberg will be awestruck by the beauty and power
of the ancient dragon. Much to your dismay, the townspeople fall
into dispute over who will receive the honor of riding the dragon
first. You return home from your quest without everlasting glory or
a dragon.
- Нажмите «Сохранить» .
Теперь, когда пользователь произносит слово «дракон» или что-то похожее, ваше действие выдаёт вам сумму, основанную на этом выборе. Затем вы суммируете оставшиеся два варианта.
Настройте translator
удачи
Чтобы добавить условие и настроить подсказку, когда пользователь выбирает «переводчик», выполните следующие действия:
- Нажмите на знак + (плюс) рядом с полем «Условие».
- Добавьте
scene.slots.status == "FINAL" && session.params.chosenOptions == "translator"
в поле else if . - Выберите Отправить подсказки .
- Добавьте следующую подсказку в редактор кода:
candidates:
- first_simple:
variants:
- speech: >-
With the help of the translator, the rival factions in Gryffinberg
are finally able to communicate with each other and resolve their
disputes. You will complete your quest to restore peace in the town.
The translator will be used on many subsequent journeys across the
earth. After its work is done, it retires honorably to a premier
location in the Gryffinberg History Museum.
- Нажмите «Сохранить» .
Настройте compass
удачи
Чтобы добавить условие и настроить подсказку, когда пользователь выбирает «компас», выполните следующие действия:
- Нажмите на знак + (плюс) рядом с полем «Условие» .
- Добавьте
scene.slots.status == "FINAL" && session.params.chosenOptions == "compass"
в текстовое поле else if . - Выберите Отправить подсказки .
- Добавьте следующую подсказку в редактор кода:
candidates:
- first_simple:
variants:
- speech: >-
The compass will help you find the mystical and ancient Library of
Gryffinberg. Among its infinite stacks of dusty books, you find one
entitled "Wisdom of the Ages". By the time you've read the
50,000-page tome, the townspeople have forgotten their problems. You
will write a second edition of "Wisdom of the Ages", but have
limited commercial success.
- Нажмите «Сохранить» .
Проверьте свои действия в симуляторе
На этом этапе ваше действие должно предоставить пользователю персонализированную информацию о его состоянии на основе выбранного им варианта.
Чтобы протестировать свое действие, выполните следующие действия:
- На панели навигации нажмите Тест .
- Введите
Talk to my test app
в поле ввода и нажмитеEnter
. - Введите
Yes
в поле ввода и нажмитеEnter
. Также можно нажать на значок с предложением «Да» . - Нажмите, введите или произнесите
Translator
.
Вы должны получить соответствующее состояние за опцию «переводчик».
3. Добавить игровой цикл
В этом разделе вы настраиваете действие, чтобы пользователь мог выбрать другой вариант и услышать другое предсказание после выбора. Это изменение аналогично сообщению «Хотите сыграть ещё раз?» в конце игры. Чтобы создать этот цикл, вы можете повторно использовать ранее созданные намерения yes
и no
» и добавить их в новую сцену с именем Again
.
Сцена «Создать Again
В этом разделе вы создаете новую сцену Again
и добавляете подсказку, которая спрашивает пользователя, хочет ли он выбрать другой вариант.
Чтобы создать сцену Again
, выполните следующие действия:
- Нажмите «Разработать» на панели навигации.
- Нажмите на знак + (плюс) под пунктом «Сцены».
- Введите
Again
и нажмитеEnter
. - Нажмите на сцену
Again
на панели навигации. - Нажмите на знак + (плюс) рядом с опцией При входе.
- Выберите «Отправить подсказки» и добавьте следующие чипы подсказок и предложений:
candidates:
- first_simple:
variants:
- speech: >-
That is what I see for you. Would you like to choose a different option and
explore another future?
suggestions:
- title: 'Yes'
- title: 'No'
- Нажмите «Сохранить» .
Добавить переход от сцены Fortune
к сцене Again
После того, как пользователь получит свое состояние, разговор должен перейти на новую сцену Again
.
Чтобы добавить переход от сцены Fortune
к сцене Again
, выполните следующие действия:
- Нажмите на сцену «Fortune» .
- Щелкните первое условие (
scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
), чтобы открыть окно параметров. - Прокрутите и выберите
Again
в разделе Переход . - Нажмите «Сохранить» .
- Щелкните второе условие, чтобы открыть окно параметров.
- Прокрутите и выберите
Again
в разделе Переход . - Нажмите «Сохранить» .
- Щелкните третье условие, чтобы открыть окно параметров.
- Прокрутите и выберите
Again
в разделе Переход . - Нажмите «Сохранить» .
Проверьте свои действия в симуляторе
На этом этапе ваше действие должно предоставить пользователю следующую подсказку после того, как он получит свой прогноз: «Вот что я вижу для вас. Хотите выбрать другой вариант и исследовать другое будущее?»
Чтобы протестировать свое действие, выполните следующие действия:
- На панели навигации нажмите Тест .
- Введите
Talk to my test app
в поле ввода и нажмитеEnter
. - Введите
Yes
в поле ввода и нажмитеEnter
. Также можно нажать на значок с предложением «Да» . - Щелкните, введите или произнесите
dragon
.
Вы должны получить возможность выиграть приз за дракона и Again
получить подсказку.
Добавить намерения и переход к сцене Again
В этом разделе вы добавляете намерения yes
и no
в сцену Again
, чтобы ваше действие понимало, хочет ли пользователь выбрать новый вариант или нет. Вы также добавляете соответствующие переходы для намерений yes
и no
. Намерение yes
переходит к сцене Fortune
, а намерение no
— к системной сцене End conversation
.
Чтобы добавить намерения и переходы в сцену Again
, выполните следующие действия:
- Нажмите «Разработать» на панели навигации.
- Щелкните на сцене
Again
. - Нажмите на знак + (плюс) рядом с пунктом Обработка намерений пользователя .
- В раскрывающемся меню намерений выберите «Да» .
- В раскрывающемся меню « Переход » выберите
Fortune
. - Нажмите «Сохранить» .
- Нажмите на знак + (плюс) рядом с пунктом Обработка намерений пользователя .
- В раскрывающемся меню намерений выберите «Нет» .
- В раскрывающемся меню « Переход » выберите «Завершить разговор» .
- Выберите «Отправить приглашения» и добавьте следующее приглашение в редакторе кода:
candidates:
- first_simple:
variants:
- speech: >-
It pleases me that you are satisfied with your choice. Best of luck on your quest. Farewell.
- Нажмите «Сохранить» .
Проверьте свои действия в симуляторе
Теперь ваше действие должно понимать, хочет ли пользователь выбрать новый вариант или завершить разговор.
Чтобы проверить намерение yes
, выполните следующие действия:
- На панели навигации нажмите Тест .
- Введите
Talk to my test app
в поле ввода и нажмитеEnter
. - Введите
Yes
в поле ввода и нажмитеEnter
. Также можно нажать на значок с предложением «Да» . - Щелкните, введите или произнесите один из вариантов.
- Введите
Yes
в поле ввода и нажмитеEnter
.
Вы должны получить вопрос: «Что вы выберете, чтобы помочь вам в ваших поисках: дракона, переводчика или компас?»
Чтобы проверить no
намерения, выполните следующие действия:
- Щелкните, введите или произнесите один из вариантов.
- Введите
No
в поле ввода и нажмитеEnter
.
Вы должны увидеть сообщение End conversation
: «Мне приятно, что вы довольны своим выбором. Удачи в ваших поисках. Прощайте».
4. Добавьте поддерживающий путь
Вы создали основной путь, по которому большинство пользователей проходят в вашем действии. Однако пользователь может ответить на вопрос из сцены Fortune
: « Что вы выберете в качестве помощника в вашем задании: дракона, переводчика или компас?» , выбрав вариант, не входящий в число предложенных.
В этом разделе вы настроите действие, чтобы оно распознавало, когда пользователь выбирает «магию», «деньги», «лошадь» или «телефон», и предлагало пользователю выбрать один из трёх исходных вариантов при выборе одного из этих вариантов. Для настройки этой логики вам необходимо создать новый type
, содержащий эти другие варианты, и новое намерение other_option
, которое срабатывает, когда пользователь произносит один из этих вариантов. Вам также необходимо аннотировать обучающие фразы в намерении other_option
для определения и извлечения параметров намерения.
Когда модуль обработки естественного языка (NLU) Помощника обнаруживает совпадение параметра во вводе пользователя, он извлекает значение как типизированный параметр, чтобы вы могли реализовать с ним логику в сцене. В этой лабораторной работе вы настроите действие для извлечения выбранного пользователем вспомогательного средства и ссылки на этот выбор в подсказке.
Создать тип unavailable_options
Теперь вы можете создать тип unavailable_options
, содержащий множество различных параметров, чтобы ваше действие могло идентифицировать эти данные во вводимых пользователем данных.
Чтобы создать тип unavailable_options
, выполните следующие действия:
- Нажмите «Разработать» на панели навигации.
- Нажмите на знак + (плюс) в разделе «Типы».
- Введите
unavailable_options
и нажмитеEnter
. - Нажмите
unavailable_options
, чтобы открыть параметры. - Введите следующие записи и соответствующие значения в разделе «Добавить записи» :
| |
| |
| |
| |
Ваша таблица «ключ-значение» должна выглядеть следующим образом:
- Нажмите «Сохранить» .
Создать намерение other_option
Затем вы создаёте намерение с именем other_option
и добавляете обучающие фразы, включающие варианты из типа unavailable_options
. Это намерение срабатывает, когда пользователь выбирает вариант, содержащийся в типе unavailable_options
.
Чтобы создать и настроить намерение other_option
, выполните следующие действия:
- Нажмите на + (знак плюс) в разделе «Пользовательские намерения» .
- Введите
other_option
и нажмитеEnter
. - Нажмите
other_option
, чтобы открыть окно. - Добавьте следующие обучающие фразы и нажимайте
Enter
после каждой:
-
I want to use spells
-
I really really want to use a phone
-
magic!
-
cash
-
I want to ride a horse
- В разделе Добавить параметры намерения обновите имя параметра на
chosenUnavailableOption
. - Нажмите «Сохранить» .
При вводе обучающих фраз Actions Builder распознаёт spells
, phone
, magic
, cash
и horse
из типа unavailable_options
и автоматически выделяет (аннотирует) эти слова. Actions Builder автоматически добавляет параметр намерения в раздел «Добавить параметры намерения» , как показано на следующем изображении.
Параметр намерения позволяет извлечь имя параметра и использовать этот параметр в приглашении.
Добавить намерение other_option
в сцену Fortune
Теперь у вас есть намерение other_option
, которое может обрабатывать запросы пользователя, указывающие вариант ответа, не входящий в исходный. В этом разделе вы добавляете намерение other_option
в сцену Fortune
. Параметр intent используется для настройки запроса в зависимости от ввода пользователя.
Чтобы добавить намерение other_option
в сцену Fortune
, выполните следующие действия:
- Нажмите на сцену «Fortune» .
- Нажмите на знак + (плюс) рядом с пунктом Обработка намерений пользователя .
- В раскрывающемся меню намерений выберите
other_option
. - Выберите «Отправить подсказки» и добавьте следующую подсказку:
candidates:
- first_simple:
variants:
- speech: >-
I have seen the future and a $intent.params.chosenUnavailableOption.original
will not aid you on your journey.
Выражение $intent.params.chosenUnavailableOption
ссылается на объект параметра намерения, а $intent.params.chosenUnavailableOption.original
— на значение этого объекта. original property
ссылается на необработанные входные данные, указанные пользователем.
- Нажмите «Сохранить» .
Когда пользователь произносит вариант, указанный в типе unavailable_options
, в сцене Fortune
, срабатывает намерение other_option
, и подсказка добавляется в очередь подсказок. Поскольку переход не указан, цикл выполнения сцены продолжается, переоценивая этап условий. Затем слот chosenOptions
добавляет свою подсказку в очередь подсказок, и очередь подсказок доставляется пользователю.
Проверьте свои действия в симуляторе
Теперь ваше действие должно реагировать соответствующим образом, когда пользователь выбирает один из вариантов, перечисленных в типе unavailable_options
, и указывать, какое именно средство помощи выбрал пользователь. Затем ваше действие должно предлагать пользователю выбрать один из исходных вариантов (дракон, переводчик или компас).
Чтобы протестировать свое действие в симуляторе, выполните следующие действия:
- На панели навигации нажмите Тест .
- Введите
Talk to my test app
в поле ввода и нажмитеEnter
. - Введите
Yes
в поле ввода и нажмитеEnter
. Также можно нажать на значок с предложением «Да» . - Введите
magic
в поле ввода и нажмитеEnter
.
Вы можете заметить, что подсказка звучит некорректно, когда пользователь выбирает слово «magic» из-за артикля «a» перед ним. Эта проблема будет рассмотрена в следующих разделах.
Добавить обработчик unavailable_options
Чтобы разместить артикул «a» перед соответствующими вариантами выбора из типа unavailable_options
, вы можете настроить обработчик событий в логике выполнения, который будет проверять, требуется ли артикул «a» перед выбранным пользователем вариантом. Сначала необходимо настроить действие для вызова обработчика в консоли.
Чтобы добавить обработчик unavailable_options
, выполните следующие действия:
- Нажмите «Разработать» на панели навигации.
- Нажмите на сцену
Fortune
. - В разделе Обработка намерений пользователя нажмите При совпадении other_option , чтобы открыть окно.
- Снимите флажок Отправлять запросы.
- Установите флажок Вызвать свой вебхук .
- Введите
unavailable_options
в текстовое поле обработчика событий.
- Нажмите «Сохранить».
Обновление и развертывание функции выполнения
Теперь, когда вы настроили свое действие на вызов обработчика событий unavailable_options
, вы можете обновить обработчик в своем выполнении и развернуть его.
Чтобы обновить информацию о выполнении заказа, выполните следующие действия:
- Нажмите Webhook на панели навигации.
- Добавьте следующий код под обработчик
greeting
:
app.handle('unavailable_options', conv => {
const option = conv.intent.params.chosenUnavailableOption.original;
const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
let message = 'I have seen the future and ';
if(optionsNeedA.has(optionKey)){
message = message + 'a ';
}
message = message + `${option} will not aid you on your journey. `;
conv.add(message);
});
- Добавьте следующий код под
const app = conversation();
:
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
- Нажмите «Сохранить выполнение» .
- Нажмите «Развернуть выполнение» . После завершения развёртывания над редактором появится сообщение : «Ваша облачная функция развёртывается в актуальном состоянии».
Понять код
Обработчик unavailable_options
выполняет следующие действия:
- Получает данные
option
из объектаconv
и присваиваетoption
original
свойству, которое представляет собой необработанный ввод пользователя. - Назначает
optionKey
resolved
свойству, которое является ключом для типаunavailable_options
- Проверяет, является ли
optionKey
одним из параметров, требующих «a»; если это так, создает сообщение с добавленным «a». - Добавляет сообщение через
conv.add(message)
Проверьте свои действия в симуляторе
Теперь ваше действие должно корректировать подсказку в зависимости от того, требует ли выбор пользователя из типа unavailable_options
артикля «a» перед ним.
Чтобы протестировать свое действие, выполните следующие действия:
- На панели навигации нажмите Тест .
- Щелкните или введите
Talk to my test app
в поле ввода и нажмитеEnter
. - Введите
Yes
в поле ввода и нажмитеEnter
. Также можно нажать на значок с предложением «Да» . - Введите
magic
в поле ввода и нажмитеEnter
. - Введите
horse
в поле ввода и нажмитеEnter
.
Ваше действие должно добавить артикль «a» перед выбором «horse», а для выбора «magic» подсказку построить без артикля «a».
Очистите свой проект [рекомендуется]
Во избежание возможных расходов рекомендуется удалить проекты, которые вы не планируете использовать. Чтобы удалить проекты, созданные в этой лабораторной работе, выполните следующие действия:
- Чтобы удалить облачный проект и ресурсы, выполните действия, указанные в разделе Завершение работы (удаление) проектов .
- Необязательно: чтобы немедленно удалить проект из консоли «Действия», см. раздел Удаление проекта . Если вы не выполните этот шаг, ваш проект будет автоматически удалён примерно через 30 дней.
5. Поздравляем!
Теперь вы освоили промежуточные навыки, необходимые для создания действий для Google Assistant.
Что вы охватили
- Как разрабатывать диалоговые действия с использованием библиотеки выполнения Node.js
- Как использовать слоты для сбора данных от пользователя
- Как использовать условия для добавления логики в сцену
- Как добавить игровой цикл
- Как добавить поддерживающий путь
Узнать больше
Изучите следующие ресурсы, чтобы узнать больше о создании действий для Google Assistant:
- Документация по разработке действий для Google Assistant
- Действия на странице Google GitHub для примеров кода и библиотек
- Официальное сообщество Reddit для разработчиков, работающих с Google Assistant
- Рекомендации по проектированию разговоров для лучших практик и рекомендаций относительно разговорных действий
Подпишитесь на @ActionsOnGoogle в Twitter, чтобы быть в курсе наших последних объявлений, и отправьте твит с хэштегом #AoGDevs , чтобы поделиться своими творениями!
Опрос отзывов
Прежде чем отправиться в путь, пожалуйста, заполните краткий опрос о вашем опыте.