Программно вводить паузы или длительные задержки в вводе навыков Alexa

Я работаю в компании NLI, и я только что создал навык, где у меня есть почти открытый сеанс микрофона с нашим Alexa Skill через Amazon Echo. Все работает отлично, и я могу иметь открытый диалог с нашей базой знаний бэкэнда, без необходимости добавлять префиксы к Alexa.

Когда я демонстрирую этот навык, неизбежно кто-то из присутствующих в комнате прерывает работу и хочет узнать, как работает часть NLI. Если я отключаю эхо или не задаю ему вопросы или отвечаю на его вопросы в течение короткого периода времени, навык истекает. Затем я вынужден снова начать взаимодействие, но прошу Алекса запустить MySkillInvocation.

Вопрос:

Существует ли программный способ продления периода ожидания при прослушивании ответа Alexa Ask? Возможно, даже способ программно приостановить навык бега?

3 ответа

Другой способ - использовать директивы AudioPlayer. Так что даже если ваша сессия закончилась, ваш навык получит все намерения. Это означает, что вам не нужно добавлять префикс MyInvocationName.

Я использую 1 минуту тихого MP3, чтобы пройти через шаги рецепта. С дополнительным преимуществом встроенного таймера.

Вопрос о том, является ли время ожидания настраиваемым, задавался в ветке на форумах разработчиков Amazon, вот ответ от ресурса Amazon по состоянию на 22 апреля 2015 года:

Текущая настройка составляет 8 секунд, что не настраивается.

Спасибо,

Ник

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

Как уже упоминалось @sphanley, вы не можете контролировать время ожидания. Когда есть тайм-аут, вы фактически получите "SessionEndedRequest". Что вы можете сделать, так это дождаться этого запроса и сохранить информацию о сеансе, чтобы при повторном открытии навыка вы возобновили его с того места, где вы его оставили.

Другие вопросы по тегам