Отправка запросов в Google Assistant с Java - PullRequest
0 голосов
/ 25 сентября 2018

Мы разработали действие Google с Dialogflow, которое отвечает на персонализированные запросы пользователей и выполняет некоторые задачи, которые требуют определенного времени, обычно нескольких минут.

Наша цель - объявить результат этих задач.используя функцию «Broadcast» в Google Assistant, но мы не можем найти способ отправить команду в Google Assistant.

Наш агент получает запрос пользователя и запускает приложение Java, которое выполняет задачу, поэтому онявляется приложением Java, которое должно связываться с Google Assistant после завершения процесса.

Из приложения Java мы можем связываться с агентом, используя Dialogflow RPC API , но не с Google Assistant.

Есть ли способ отправить запрос в Google Assistant из приложения Java?или ... поскольку мы можем общаться с нашим агентом Google Action ... как мы можем отправить запрос через агента?

Другими словами, может ли агент связаться с помощником Google, чтобы использовать какие-либо его функции,например, «Трансляция ...»?

Мы проверили Google Assistant SDK как альтернативу, но мы не уверены в этом.

Пожалуйста, извините за мойплохой английский.

Любая помощь будет оценена.Спасибо!

1 Ответ

0 голосов
/ 25 сентября 2018

Функция «Трансляция» недоступна для действий, разработанных пользователем, и, вероятно, не является хорошей схемой для использования в любом случае - если пользователям потребуется некоторое время ждать ответа, они, вероятно, не хотят ответанеожиданно объявляется, когда они этого не ожидают.

Действия обычно подразумевают разговорное, а не отнимают время, чтобы ответить с ответом, поэтому существует 5-секундный лимит на продолжительность выполненияделать обработку.Если вам нужно некоторое время, у вас есть несколько доступных вариантов:

Во-первых, вы можете использовать какой-то другой метод вне Assistant для доставки ответа - возможно, с помощью чего-то вроде Firebase Cloud Messaging илиотправка электронной почты пользователю.

Точно так же вы можете использовать уведомления.В этом случае ваша Java-программа отправит пользователю уведомление через Помощника, когда информация будет доступна, и сохранит результат.Затем пользователь может активировать уведомление, чтобы продолжить разговор и получить результат.Преимущество этого заключается в том, что ответ не просто размыт, возможно, когда пользователь не готов к этому, но имеет недостаток в том, что ораторы (пока) не поддерживают уведомления.

Вы также можетеРассмотрите возможность использования Media Response, чтобы настроить периодический опрос новых сообщений.По этой схеме вы запускаете Java-программу, которая получает результат, а затем сохраняют его так, чтобы ваш сервер выполнения мог получить к нему доступ.В своем ответе пользователю, в котором говорится, что вы работаете с результатами, вы включите Media Response для некоторого звука, который воспроизводится, скажем, в течение 15 секунд.Когда аудио закончится, ваше действие будет вызвано снова, и вы можете проверить, доступен ли результат.Если это так, вы отправляете результат и продолжаете или заканчиваете разговор.В противном случае просто отправьте медиа-ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...