Управление отключением микрофона со стороны навыка.
Не во всех навыках требуется продолжение диалога с пользователем. Например навыки в категории "поиск и быстрые ответы".
В подобного рода навыках это один запрос и один ответ, который не предполагает скорого продолжения диалога если ответ был получен и отправлен пользователю.
На простом примере, как сейчас:
Пользователь навыку: какой сейчас день недели ?
Навык пользователю: сегодня пятница
Пользователь получил ответ и он не предполагает продолжение разговора с навыком прямо сейчас.
Но приложение/колонка продолжают его слушать.
Пользователь что-то говорит, но уже не навыку, а кому-то другому, например своему собеседнику:
Пользователь другу: вот видишь, а ты говорил четверг.
Навык пользователю: я вас не понял/я не нашел команду/иное сообщение со смыслом "я вас не понял".
А всё почему ? Потому что в навык прилетает текст, который пользователь говорил другу, но не навыку.
Не ответить навык не может, т.к. тогда пользователь услышит "навык не отвечает". Вот навыку и приходится отвечать, что он не понял пользователя.
Как хотелось бы:
Если навык понимает (на основе предыдущего запроса и текущего), что данный запрос можно проигнорировать, то пользователю не надо ничего произносить/выводить.
Вариант 1: Разрешить навыку присылать пустой ответ, т.к. ответ где отсутствует объект response.
Вариант 2: Добавление в ответ навыка параметра, по которому приложение/станция будут деактивировать микрофон. Чтобы продолжить пользователь снова должен будет сказать "Алиса, какой-то текст для навыка" или, если приложение, нажимать на иконку микрофона.
Как тот же диалог мог получиться в этом случае:
Пользователь навыку: какой сейчас день недели ?
Навык пользователю: сегодня пятница
Пользователь другу: вот видишь, а ты говорил четверг.
Навык пользователю: пустой ответ.
Пользователь через Х минут: Алиса, а дата ?
Навык пользователю: 20-ое число
Завершать диалог, после каждого такого ответа не вариант. Ведь придется снова запускать навык.