Добро пожаловать в Центр разработчиков Google Home, новое место, где можно научиться разрабатывать действия для умного дома. Примечание. Вы продолжите создавать действия в консоли действий.

Намерения

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Намерения умного дома — это простые объекты обмена сообщениями, которые описывают, какое действие умного дома необходимо выполнить, например включить свет или передать звук на динамик.

Все намерения умного дома содержатся в пространстве имен action.devices , и вы должны обеспечить их выполнение. Всякий раз, когда Google Assistant отправляет намерение на выполнение, сторонний токен доступа OAuth 2 пользователя передается в заголовке авторизации.

Вот поддерживаемые намерения умного дома:

СИНХРОНИЗАЦИЯ

Намерение action.devices.SYNC используется для запроса списка устройств умного дома, которые пользователь подключил и которые доступны для использования.

Когда пользователь настраивает свои устройства с помощью приложения Google Home, они также проходят аутентификацию в вашей облачной инфраструктуре. Затем Assistant получает токен OAuth2. На этом этапе Google Assistant отправляет намерение action.devices.SYNC на ваше выполнение, чтобы получить первоначальный список пользовательских устройств и возможностей из вашей облачной инфраструктуры.

На этом рисунке показано взаимодействие между инфраструктурой Google и инфраструктурой партнера. В инфраструктуре Google есть список партнеров, доступный для клиентского приложения Assistant, который затем передается в партнерскую инфраструктуру для завершения аутентификации OAuth. Аутентификация OAuth на стороне партнера — это веб-просмотр настройки партнера, веб-просмотр OAuth, дополнительные параметры и условия, а также партнерские облачные сервисы. Затем партнерская инфраструктура возвращает учетные данные OAuth клиентскому приложению Assistant. Облачные службы партнеров отправляют доступные устройства и возможности в службы Assistant, которые затем сохраняют информацию в Home Graph.
Рис. 1. Взаимодействие между Google и партнерской инфраструктурой

Чтобы избежать отмены и повторной привязки учетной записи пользователя, вы можете отправить запрос на синхронизацию в Google Assistant. Это отправляет намерение action.devices.SYNC на ваше выполнение для синхронизации списка устройств и возможностей. Дополнительные сведения см. в разделе Реализация синхронизации запросов .

Блок-схема намерения SYNC
Рис. 2. Цель SYNC

Во время настройки локального выполнения платформа Local Home проверяет ответ SYNC от облачного выполнения действия вашего умного дома. Чтобы узнать больше о том, как изменить ответ SYNC для поддержки локального выполнения, см. раздел Обновление ответа SYNC в облаке .

ЗАПРОС

Намерение action.devices.QUERY используется для запроса текущего состояния устройств умного дома.

Когда пользователи запрашивают статус устройства, чтобы ответить на такой вопрос, как « Окей, Google, какой свет горит на кухне?» , Google Assistant отправляет намерение action.devices.QUERY для вашего выполнения.

Блок-схема намерения QUERY
Рис. 3. Намерение QUERY

Для наилучшего взаимодействия с пользователем вам следует реализовать отчет о состоянии , чтобы заранее сообщать о текущем состоянии устройств пользователя непосредственно в Home Graph. Например, это позволяет Google Assistant узнать, включил ли ваш пользователь интеллектуальный свет с помощью физического выключателя.

Отчет о состоянии устройства с помощью Report State
Рис. 4. Отчет о состоянии устройства

ВЫПОЛНЯТЬ

Намерение action.devices.EXECUTE используется для предоставления команд для выполнения на устройствах умного дома.

Когда пользователи отправляют команды на устройства с помощью Google Assistant, ваше выполнение получает намерение action.devices.EXECUTE для вашего выполнения, которое описывает действие и устройства, на которые нужно воздействовать. Пользователь может выполнить действие на устройстве с помощью такой команды, как « Окей, Google, включи свет в моей гостиной» .

Блок-схема намерения EXECUTE
Рисунок 5: намерение EXECUTE

ОТКЛЮЧИТЬ

Намерение action.devices.DISCONNECT срабатывает, чтобы сообщить вам, когда пользователь отменил связь учетной записи приложения с Google Assistant. После получения намерения action.devices.DISCONNECT вы не должны сообщать о состоянии устройств этого пользователя.