Блок — это минимальная единица, из которой строится сценарий проекта. Блок задает действие, которое будет выполнено в процессе диалога с пользователем. Например, это может быть вывод текста и изображений на экран, перевод в режим ожидания ввода фразы пользователем, выполнение фоновых действий, например, HTTP-запросов.
Описание каждого из блоков Graph вы найдете в соответствующем подразделе.
Как работают блоки
Блоки добавляются на экран сценария.
При запуске проекта сверху вниз выполняются все блоки, заданные на экране.
При работе с представленным экраном ассистент будет действовать в следующей последовательности:
- Выведет сообщение «Привет!» из первого блока Текст.
- Выведет сообщение «Я могу чем-то помочь?» из второго блока Текст.
- Выполнит блок Интенты: будет ждать реакции пользователя и, в зависимости от ответа, выполнит следующее необходимое действие.
Связи блоков
Некоторые блоки обладают точкой выхода, которая позволяет соединять их с другими экранами. При достижении такого блока (и выполнении соответствующих условий), ассистент переходит к связанному экрану и выполняет заданные на нем блоки.
В приведенном примере, после того как ассистент скажет «Привет!» и «Я могу чем-то помочь?», приложение будет ждать реакции пользователя. Если пользователь скажет «да», то ответ пользователя попадет в интент Согласие, и ассистент перейдет к связанному экрану.
Добавление блоков
Блоки можно добавлять как на новые, так и на уже существующие экраны.
Добавление блока на новый экран
Чтобы добавить блок на новый экран сценария:
- Нажмите кнопку Добавить экран. Откроется список всех блоков.
- Выберите блок из списка и заполните его параметры.
- Сохраните блок.
Будет создан новый экран с заданным блоком.
Добавление блока на существующий экран
Чтобы добавить блок на существующий экран:
- Наведите курсор на экран, куда требуется добавить блок.
- Нажмите кнопку Добавить блок.
- Выберите блок из списка и заполните его параметры.
- Сохраните блок.
При добавлении блоков на существующий экран некоторые блоки могут быть недоступны. Это связано с тем, что экран содержит блоки, несовместимые с тем, который вы пытаетесь добавить.
Например, на экран с блоком HTTP-запрос нельзя добавить блоки Ввод текста, Ввод числа, Номер телефона, Интенты и другие. Это связано с тем, что блок HTTP-запрос предполагает дальнейшие действия, после которых эти блоки станут недоступны.
Параметры блока
Блоки обладают рядом параметров.
Например:
- В блоке Текст можно указать текст, который будет писать или произносить ассистент и дополнительные реплики, которые будут выбираться случайным образом, а также добавить опции для голосового ассистента, например, разметку синтеза речи.
- В блоке HTTP-запрос можно указать адрес, к которому будет обращаться проект, выражение и переменную, в которую будет записан результат, данные, которые будут передаваться, формат передаваемых данных и другие параметры.
Изменение названия блока
По умолчанию название каждого нового блока соответствует его типу, например, Текст или Интенты.
Вы можете изменить название, чтобы лучше ориентироваться в сценарии.
Для этого:
- Откройте блок.
- Нажмите на название блока.
- Укажите новое название.
Переменные
Во время работы может понадобиться получить от пользователя или сторонней системы какие-нибудь данные. Приложение может использовать такие данные, чтобы, например, принять решение о следующих шагах в сценарии или передать эту информацию в сторонний сервис.
Некоторые блоки, например, Ввод числа или Ввод текста, создают переменные с определенным именем, куда сохраняют полученные в этом блоке данные. Так, блок