Отправить запрос после таймера по умолчанию - PullRequest
0 голосов
/ 14 июля 2020

Я работаю над консолью Google Actions.

Я хочу, чтобы мой агент Google устно предупреждал, что время истекло (например, вместо установки таймера).

I теперь есть две основные сцены:

  1. пользователь говорит «Я готов», агент отвечает: «ОК. Готово, установите, go!»;
  2. (пользователь ничего не говорит и ) агент говорит: «Пожалуйста, остановитесь сейчас».

Я бы хотел, чтобы приглашение на этапе 2 активно запускалось через 5 минут после окончания приглашения на этапе 1, при этом пользователю не нужно было ничего говорить.

Можно ли создать таймер / задержку на 5 минут до перехода с 1 на 2 или задержать подсказку в 2 на 5 минут во время сцены 2? Как я могу создать эту задержку? Есть ли какое-нибудь решение?

NB: я не разработчик, так что наберитесь терпения: D

1 Ответ

1 голос
/ 15 июля 2020

Без кода обойтись сложно, но не невозможно.

Во-первых - вообще Actions on Google для этого плохо подходят. Это гораздо лучше для диалоговых систем, чем для событий, рассчитанных по времени.

У вас есть два варианта, как это сделать:

  1. Как часть игры с интерактивным холстом.
  2. Использование ответа мультимедиа.

В рамках интерактивной игры Canvas

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

Эти данные будут записаны как часть onUpdate() обратный вызов и в вашей функции обратного вызова установите таймер. Этот таймер выполняется с помощью функции JavaScripts setTimeout(). В функции, которая запускается setTimeout(), когда это сделано, вы можете вызвать функцию sendTextQuery(), чтобы продолжить разговор.

Использование медиа-ответа

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

В этом сценарии, когда вы отправляете " Готовый набор Go ", вы также включаете подсказку Media , которая воспроизводит 5-минутный звук.

Когда звук заканчивает воспроизведение, он отправляет MEDIA_STATUS_FINISHED System Intent который вы можете обработать, а затем ответить, чтобы продолжить разговор.

Что вы должны использовать?

Ну ... может быть и то, и другое. Мультимедиа лучше работает на умных динамиках, а интерактивный холст лучше работает на умных дисплеях и смартфонах (если ваше действие - это игра).

...