Интеграция Google Assistant с моим пользовательским приложением? - PullRequest
0 голосов
/ 30 августа 2018

Я узнал о действиях Google и создал простое приложение, поддерживающее Google, которое записывает заметки для зарегистрированных пользователей. у него есть мобильный клиент и сервер Firebase. Я хотел бы знать, можно ли заставить помощника взаимодействовать таким образом, чтобы заметки могли быть созданы через сеанс помощника, не открывая мобильный клиент вообще. Например:

User (on any screen): "hey google"
AI - "hi , how can i help?"
U - " place a note to call david in customNotter" ( suppose)
Ai - "am sorrry, customnotter  does not exist on your mobile , download it from playstore http"//www.link..." 
U - *downloads customNotter app , installs, logs himself in*
U - " place a note to call david in customNotter"
Ai - "Ok, your note is saved"
*saves note "call david" in customNotter (by somehow calling some code to interact with customNotter's server?)*

Я могу представить код kotlin, который мог бы быть включен в мое приложение, который помощник мог вызвать, который мог бы просто добавить заметку на сервер, но не представляю, как помощник мог вызвать этот код с данными об аутентификации пользователя и данными заметки?


PS: Я также хотел бы знать, можно ли интегрировать Google Home для такого приложения. И если нет, то каковы ключевые факторы, которые ограничивают Google Home, чтобы не взаимодействовать с моим сервером? как предположим, я создаю полную бизнес-модель для CustomNotter, где есть унифицированный сервер и много клиентов, таких как ios / android / web apps. Может ли Google Home работать как другой аутентифицированный клиент, взаимодействующий напрямую с сервером?

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Вы делаете пару предположений здесь, но прежде чем я сделаю другие предположения, я хочу кое-что прояснить. Вы сказали, что «у него есть мобильный клиент и сервер Firebase». Я предполагаю, что "сервер firebase" - это то, что хранит заметки пользователя?

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

В этом случае ваш разговор может выглядеть так:

User: Hey Google, ask Custom Notter to remind me to call David.
Assistant: Getting Custom Notter
[Earcon, indicating your Action is running]
Action: Hi there. I've added a note to call David.
[Earcon, indicating the Action is done]

Это очень простой пример разговора. Другие потоки разговоров также могут захотеть указать, не подключил ли пользователь такое приложение к учетной записи, или вам может потребоваться запросить у них разрешение на использование его учетной записи и т. Д.

Вам потребуется написать код сервера для обработки - все действия взаимодействуют с веб-крюком, запущенным на сервере в облаке. Вы можете написать это на любом языке, который пожелаете, включая Kotlin, и на любом сервисе, который пожелаете, однако Google предоставляет библиотеки и другую поддержку, если вы запускаете его в файле node.js с помощью Firebase Cloud Functions или в Google Cloud.

Все подробности доступны на https://developers.google.com/actions/

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

0 голосов
/ 30 августа 2018

Лучший вариант - использовать Actions в Google, чтобы напрямую звонить на ваш сервер Firebase и обновлять базу данных таким образом. Крючки в приложениях для Android на данный момент не очень глубоки. Действия Android были объявлены, но сейчас недоступны.

Преимущество этого состоит в том, что ваше действие будет работать на любой поверхности Assistant, кроме телефона Android, и не потребует от пользователя установки вашего приложения.

Поскольку вы можете запускать Действия в Google в Функции Firebase , его легко включить в базу данных Firebase.

...