Действия в Google - Закройте микрофон, не закрывая приложение, или предложения по обходному пути

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

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

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

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

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

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

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

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

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


person maganap    schedule 21.01.2019    source источник


Ответы (2)


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

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

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

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

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

person Prisoner    schedule 21.01.2019

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

person Stephen Garside    schedule 21.01.2019
comment
Спасибо @StephenGarside, я тестировал некоторые другие приложения в Google Assistant, и многие из них оставляют микрофон открытым после простого ответа без подсказки. Я брожу, удалили ли они просто дополнительный вопрос после утверждения или что-то в этом роде: - / Не очень хорошо - person maganap; 21.01.2019
comment
Я думаю, вам могло бы сойти это с рук, если ваши ответы отправляются с конечной точки, хотя, если вы попытаетесь повторно отправить приложение, они, вероятно, снова воспримут его. Кроме того, Google, как правило, постоянно тестирует ваше живое приложение, поэтому вы можете заблокировать его, если они его заметят. - person Stephen Garside; 21.01.2019