Перепроверить пользователя, если нет ответа в действии Google? - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь заставить reprompts работать для моего действия, построенного с использованием SDK диалогового потока.

У меня есть намерение 'answer-question', однако я хотел бы, чтобы резервное намерение сработало, если пользователь не отвечаетatall (через определенную единицу времени, если это возможно).

Я попытался выполнить инструкции в этом руководстве: Перепроверяет действие Google Таким образом, я создал специальное резервное намерение для моего намерения с ответом на вопрос, которое имеет событие actions_intent_NO_INPUT иконтекст answer-question-followup

Однако при тестировании намерения оно будет бесконечно ждать ответа пользователя и никогда не вызовет это настраиваемое резервное намерение.

1 Ответ

0 голосов
/ 02 октября 2018

Сценарий «без ввода» происходит только на некоторых устройствах.

Динамики (такие как Google Home) будут не генерировать вход.Однако вы не можете контролировать время ожидания.

Мобильные устройства будут не генерировать «нет ввода» - он просто выключит микрофон и пользователю нужно будет нажатьснова значок микрофона, чтобы снова открыть микрофон.

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

enter image description here

Наконец, убедитесь, что ваш контекст имеет смысл, и помните, что Intents отражают то, что пользователь говорит или делает, а не то, с чем вы отвечаете.

Несмотря на то, что вы указали входной контекст для события «без ввода», что хорошо, вы не указали, что вы также установили его в качестве выходного контекста для предыдущего намерения.Учитывая ваше описание, не следует устанавливать в 'answer-question', потому что вы не ожидаете отсутствия ввода после того, как пользователь ответит на вопрос, это будет вместо ответа на вопрос.Таким образом, один и тот же контекст ввода должен быть установлен для Intents, где вы ожидаете, что пользователь ответит на вопрос, и Intent, где пользователь ничего не говорит.

...