Действия в Google - закрытие микрофона без закрытия приложения или обходные пути - PullRequest
0 голосов
/ 21 января 2019

Можно ли закрыть микрофон, не закрывая приложение?

Или любые предложения по описанной ниже ситуации очень приветствуются:

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

Я использую conv.close('some message not prompting');.Это закрывает микрофон, но также закрывает приложение, что не то, что мне нужно.

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

Мне предложили добавить хвост, говорящий What else can I do for you? после каждого ответа, который не запрашивает у пользователя новую информацию, поэтому я могу держать микрофон открытым, но это звучит настолько неестественно, что я действительно считаю, что это убивает цель пытаться звучать естественно с ботом.

Есть много ситуаций, когда пользователь может что-то сказать, даже если вы ничего не просите.Простой пример - рассказывать анекдот: вы можете ожидать, что пользователь будет смеяться, критиковать, просить другую шутку или делать какие-либо комментарии.В этом случае закрывать микрофон (и приложение) бессмысленно, а добавление хвоста Do you want to hear another joke? не очень хорошо звучит после шутки, особенно если вы говорите один за другим.

Цель здесь - не быть отвергнутой группой проверки AOG, потому что я оставляю микрофон открытым.

Любые идеи приветствуются.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Вам не нужно явно запрашивать «что дальше», но вам нужно четко указать, ожидаете ли вы чего-то большего от пользователя. Самый простой способ сделать это - повернуть несколько подсказок. (Такие библиотеки, как multivocal делают это проще.)

Понятие "закрытие микрофона без закрытия разговора" приводит к вопросу "хорошо, как они закрывают разговор?" А для описанного вами простого одноразового сценария это не всегда очевидно.

Тем не менее, есть несколько мыслей о том, как вы можете подойти к нему в зависимости от ваших потребностей.

Если есть причина, по которой вам нужно закрыть микрофон, но при этом разрешить пользователю выдавать команду, находясь еще в действии, вы можете рассмотреть возможность отправки объекта Media как часть вашего ответа. Когда воспроизведение закончится, ваше действие будет запущено, чтобы вы знали, и вы можете либо снова запросить пользователя (и воспроизвести больше звука), либо в конечном итоге согласиться закрыть диалог. Пользователи будут прерывать звук с помощью «Привет, Google», запрашиваемой командой в вашем действии.

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

0 голосов
/ 21 января 2019

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

...