Witamy w Google Home Developer Center – nowym miejscu, z którego dowiesz się, jak tworzyć inteligentne działania domowe. Uwaga: nadal będziesz tworzyć działania w konsoli Actions.

Przeznaczenie

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Intencje inteligentnego domu to proste elementy wiadomości opisujące działanie inteligentnego domu, takie jak włączenie światła lub przesłanie dźwięku na głośnik.

Wszystkie intencje inteligentnego domu są zawarte w przestrzeni nazw action.devices i musisz je zrealizować. Za każdym razem, gdy Asystent Google wysyła intencję do realizacji, w nagłówku Autoryzacja jest przekazywany token dostępu OAuth 2 innej firmy.

Oto intencje inteligentnego domu:

SYNC

Intencja action.devices.SYNC służy do wysyłania zapytań na listę inteligentnych urządzeń domowych, które użytkownik połączył i których można używać.

Gdy użytkownik skonfiguruje swoje urządzenia z aplikacją Google Home, zostanie też uwierzytelniony w Twojej infrastrukturze w chmurze. Następnie Asystent otrzymuje token OAuth2. Na tym etapie Asystent Google wyśle do realizacji zamówienia intencję action.devices.SYNC, aby pobrać początkową listę urządzeń i możliwości z infrastruktury chmury.

Ilustracja przedstawiająca interakcję między infrastrukturą Google i infrastrukturą partnera. Z infrastruktury Google można korzystać z listy partnerów, w których dostępna jest aplikacja kliencka Asystenta, a potem trafiająca do infrastruktury partnera, aby dokończyć uwierzytelnianie OAuth. Uwierzytelnianie OAuth po stronie partnera obejmuje konfigurację komponentu WebView partnera, komponent WebView protokołu OAuth, opcjonalne ustawienia i warunki oraz usługi w chmurze dla partnerów. Następnie infrastruktura partnera zwraca dane logowania OAuth do aplikacji klienckiej Asystenta. Usługi w chmurze partnera wysyłają do usług Asystenta dostępne urządzenia i możliwości, które zapisują informacje na wykresie głównym.
Rysunek 1. Interakcja między Google a infrastrukturą partnera

Aby uniknąć rozłączenia i ponownego połączenia konta użytkownika, możesz wysłać prośbę o synchronizację do Asystenta Google. Spowoduje to wysłanie intencji action.devices.SYNC do realizacji, aby zsynchronizować listę urządzeń i funkcji. Więcej informacji znajdziesz w artykule na temat implementowania synchronizacji żądań.

Schemat blokowy intencji SYNC
Rysunek 2. Intencja SYNC

Podczas konfigurowania lokalnej realizacji platforma lokalna sprawdza odpowiedź SYNC z realizacji chmurowej akcji inteligentnego domu. Więcej informacji o modyfikowaniu odpowiedzi SYNC tak, by obsługiwała realizację lokalną, znajdziesz w artykule na temat aktualizowania odpowiedzi SYNC w realizacji chmury.

QUERY

Intencja action.devices.QUERY jest używana do wysyłania zapytań o bieżący stan inteligentnych urządzeń domowych.

Gdy użytkownicy szukają informacji o stanie urządzenia, aby odpowiedzieć na pytanie takie jak OK Google, które światła są włączone w kuchni?, Asystent Google wysyła intencję action.devices.QUERY do Twojej realizacji.

Schemat blokowy intencji QUERY
Ilustracja 3. Intencja QUERY

Aby zapewnić użytkownikom maksymalną wygodę, musisz wdrożyć stan raportowania, aby aktywnie przekazywać bieżący stan urządzeń użytkownika bezpośrednio do wykresu na stronie głównej. Dzięki temu Asystent Google będzie na przykład wiedzieć, czy użytkownik włączył inteligentne oświetlenie za pomocą fizycznego przełącznika światła.

Raportowanie stanu urządzenia przy użyciu stanu raportu
Ilustracja 4. Raportowanie stanu urządzenia

WYKONAJ

Intencja action.devices.EXECUTE służy do wykonywania poleceń do wykonywania na inteligentnych urządzeniach domowych.

Gdy użytkownicy wysyłają polecenia do urządzeń z Asystentem Google, Twoja realizacja otrzymuje intencję action.devices.EXECUTE opisującą działanie i urządzenia, na których ma zostać wykonane działanie. Użytkownik może wykonać działanie na urządzeniu, na przykład OK Google, włącz światło w salonie.

Schemat blokowy intencji EXECUTE
Ilustracja 5: ZASTOSOWANIE

ROZŁĄCZ

Intencja action.devices.DISCONNECT jest wyzwalana, gdy użytkownik odłączy konto aplikacji od Asystenta Google. Po otrzymaniu intencji action.devices.DISCONNECT nie należy raportować stanu urządzeń tego użytkownika.