Работа с блоками

Блок — это минимальная единица, из которой строится сценарий смартапа. Блок задает действие, которое смартап совершит в процессе диалога с пользователем. Например:

  • вывод текста и изображений на экран;
  • перевод в режим ожидания действия пользователя, например, ввода фразы;
  • выполнение фоновых действий, например, HTTP-запросов.
Описание каждого из блоков SmartApp Graph вы найдете в соответствующем подразделе.

Как работают блоки

Блоки добавляются на экран смартапа.

При запуске смартапа ассистент последовательно, сверху вниз выполняет все блоки, заданные на экране.

Пример экрана с тремя блоками:

Пример последовательности блоков

При работе с представленным экраном ассистент будет действовать в следующей последовательности:

  1. Выведет сообщение «Привет!» из первого блока Текст.
  2. Выведет сообщение «Ты хочешь поучаствовать в нашей программе?» из второго блока Текст.
  3. Выполнит блок Интенты: будет ждать реакции пользователя и, в зависимости от ответа, выполнит следующее необходимое действие.

Связи блоков

Некоторые блоки обладают точкой выхода, которая позволяет соединять их с другими экранами. При достижении такого блока (и выполнении соответствующих условий), ассистент переходит к связанному экрану и выполняет заданные на нем блоки.

В приведенном примере, после того как ассистент скажет «Привет!» и «Ты хочешь участвовать в нашей программе?», смартап будет ждать реакции пользователя. Если пользователь скажет «да», то ответ пользователя попадет в интент Согласие, и ассистент перейдет к связанному экрану.

Добавление блоков

Блоки можно добавлять как на новые, так и на уже существующие экраны.

Добавление блока новый экран

Чтобы добавить блок на новый экран сценария:

  1. Нажмите кнопку Добавить экран.

    Откроется список всех блоков.

  2. Выберите блок из списка и заполните его параметры.
  3. Сохраните блок.

Будет создан новый экран, с заданным блоком.

Добавление блока на существующий экран

Чтобы добавить блок на существующий экран:

  1. Наведите курсор на экран, куда требуется добавить блок.
  2. Нажмите кнопку Добавить блок.
  3. Выберите блок из списка и заполните его параметры.
  4. Сохраните блок.

При добавлении блоков на существующий экран некоторые блоки могут быть недоступны. Это связанно с тем, что экран содержит блоки, несовместимые с тем, который вы пытаетесь добавить.

Например, на экран с блоком HTTP-запрос нельзя добавить блоки Ввод текстаВвод числаНомер телефонаИнтенты и другие. Это связанно с тем, что блок HTTP-запрос предполагает дальнейшие действия, после которых эти блоки станут недоступны.

Параметры блока

Блоки обладают параметрами, которые определяют логику смартапа.

Например:

  • В блоке Текст можно указать текст, который будет писать или произносить ассистент и дополнительные реплики, которые будут выбираться случайным образом, а также добавить опции для голосовых ассистентов, например, разметку синтеза речи.
  • В блоке HTTP-запрос можно указать адрес, к которому будет обращаться смартап, выражение и переменную, в которую будет записан результат, данные, которые будут передаваться, формат передаваемых данных и другие параметры.

Изменение названия блока

По умолчанию название каждого нового блока соотвествует его типу, например, Текст или Интенты.

Вы можете изменить название, чтобы лучше ориентироваться в сценарии смартапа.

Для этого:

  1. Откройте блок.
  2. Нажмите на название блока.
  3. Укажите новое название.

Переменные

Во время работы смартапа может понадобиться получить от пользователя или сторонней системы какие-нибудь данные. Смартап может использовать такие данные, чтобы, например, принять решение о следующих шагах в сценарии или передать эту информацию в сторонний сервис.

Некоторые блоки, например, Ввод числа или Ввод текста, создают переменные с определенным именем, куда сохраняют полученные в этом блоке данные. Так, блок Ввод числа сохранит в переменную $number число, которое ввел пользователь.

Эта переменная будет доступна на всех следующих экранах сценария в рамках текущей сессии пользователя. Как правило, при настройке блока вы указываете название переменной, а затем можете обратиться к ней на следующих шагах, поставив перед именем переменной знак $.

Управление блоками

Блоки можно копировать и вырезать, чтобы добавить их на уже существующие экраны. Связи блоков не копируются при этом.

Чтобы копировать или вырезать блок:

  1. Откройте меню в правой части блока.
  2. Выберите пункт Скопировать или Вырезать.

    Вы можете отменить вырезание блока с помощью клавиш CTRL+Z.

  3. Откройте меню в правом верхнем углу экрана, на который надо вставить блок.
  4. Выберите пункт Вставить блок.

Блок нельзя вставить на экран, если он содержит несовместимые блоки.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней