Во-первых, я отмечу свои наблюдения за тем, как другие приложения используют Google Assistant (GA) с их android приложениями, установленными на локальных устройствах:
Когда вы используете такие приложения, как WhatsApp и Telegram (с локально установленным версии на вашем устройстве), это позволяет отправлять сообщения через GA.
Вы можете сделать следующее:
- Выберите нужный контакт (из того, что выглядит как телефонная книга устройства)
- Добавьте текстовое сообщение и отправьте его.
В ходе моего исследования я наткнулся на эти сообщения, которые предлагают, как они могут этого достичь:
Я поговорил с @prisoner, и он указал, что в этом случае GA передает ответственность за выполнение запроса локальному приложению. Что имеет смысл, если судить по найденным мной ссылкам.
В моем случае я интегрирую свое приложение android с Google Assistant и DialogFlow.
Пока что мне удалось для настройки намерений и выполнения в DialogFlow, которые могут быть запущены GA на устройстве.
У меня есть несколько вопросов относительно других функций, которых я хотел бы достичь. Следует ли мне:
- Либо использовать GA и мое локальное приложение для выполнения запросов?
- Или использовать GA, DialogFlow и мой сервер (с помощью веб-перехватчика) для выполнения моих запросов?
Чтобы достичь любого из двух пунктов выше, мне нужно ответить на приведенные ниже вопросы, предполагая, что я использую Actions-on-Google :
- Можно ли обеспечить двунаправленную связь между моим локальным приложением и GA?
- Есть ли механизм, который я могу использовать для предоставления данных в моем локальном приложении GA? Например, список, который будет отображаться в GA, с которым пользователь может взаимодействовать.
- Или, скорее, я должен аутентифицировать своего пользователя с помощью (Вход в Google и OAuth) и получать свои данные с сервера (с помощью веб- крючок) через GA и DialogFlow?