Intents

Smart-Home-Intents sind einfache Messaging-Objekte, die beschreiben, welche smart home-Aktion ausgeführt werden soll, z. B. das Einschalten einer Lampe oder das Streamen von Audioinhalten auf einen Lautsprecher.

Alle smart home-Intents sind im Namespace action.devices enthalten und Sie müssen für sie Auftragsausführung bereitstellen. Immer wenn Google Assistant einen Intent an die Auftragsausführung sendet, wird im Autorisierungsheader das OAuth 2-Zugriffstoken des Drittanbieters des Nutzers übergeben.

Dies sind die unterstützten smart home-Intents:

SYNCHRONISIEREN

Mit dem Intent action.devices.SYNC wird die Liste der smart home-Geräte angefordert, mit denen der Nutzer verbunden ist und die verfügbar sind.

Wenn ein Nutzer seine Geräte mit Google Home app (GHA) einrichtet, wird er auch bei Ihrer Cloud-Infrastruktur authentifiziert. Anschließend empfängt Assistant ein OAuth2-Token. An dieser Stelle sendet Assistant einen action.devices.SYNC-Intent an die Auftragsausführung, um die anfängliche Liste der Nutzergeräte und -funktionen aus Ihrer Cloud-Infrastruktur abzurufen.

Diese Abbildung zeigt die Interaktion zwischen der Google-Infrastruktur und der Partnerinfrastruktur. Aus der Google-Infrastruktur steht der Assistant-Clientanwendung eine Liste von Partnern zur Verfügung, die dann zur Partnerinfrastruktur für die OAuth-Authentifizierung fließt. Die OAuth-Authentifizierung auf Partnerseite umfasst die WebView für die Partnereinrichtung, OAuth-WebView, optionale Einstellungen und Nutzungsbedingungen sowie Partner-Cloud-Dienste. Die Partnerinfrastruktur gibt dann die OAuth-Anmeldedaten an die Assistant-Client-App zurück. Die Partner-Cloud-Dienste senden die verfügbaren Geräte und Funktionen an die Assistant-Dienste, die die Informationen dann in Home Graph speichern.
Abbildung 1: Interaktion zwischen Google- und Partnerinfrastruktur

Wenn Sie verhindern möchten, dass die Verknüpfung eines Nutzerkontos aufgehoben oder wieder verknüpft wird, können Sie eine Synchronisierungsanfrage an Assistant senden. Dadurch wird der Intent action.devices.SYNC an die Auftragsausführung gesendet, um die Liste der Geräte und Funktionen zu synchronisieren. Weitere Informationen finden Sie unter Anfragesynchronisierung implementieren.

Flussdiagramm eines SYNC-Intents
Abbildung 2: SYNC-Intent

Während der Einrichtung der lokalen Auftragsausführung prüft die Local Home-Plattform die Antwort SYNC der Cloud-Auftragsausführung Ihrer smart home-Aktion. Weitere Informationen zum Ändern der SYNC-Antwort zur Unterstützung der lokalen Auftragsausführung finden Sie unter SYNC-Antwort in der Cloud-Auftragsausführung aktualisieren.

ABFRAGE

Mit dem Intent action.devices.QUERY wird der aktuelle Status von smart home-Geräten abgefragt.

Wenn Nutzer den Gerätestatus abfragen, um eine Frage wie Hey Google, welche Lampen sind in der Küche an? zu beantworten, Assistant sendet einen action.devices.QUERY-Intent an die Auftragsausführung.

Flussdiagramm eines QUERY-Intents
Abbildung 3: QUERY-Intent

Für eine optimale Nutzererfahrung solltest du den Berichtsstatus implementieren, damit der aktuelle Status der Geräte eines Nutzers proaktiv direkt an Google Home Graph gemeldet wird. So erfährt Assistant beispielsweise, ob Ihr Nutzer eine intelligente Lampe mit einem physischen Lichtschalter eingeschaltet hat.

Gerätestatus über „Berichtsstatus“ melden
Abbildung 4: Gerätestatus melden

EXECUTE

Mit dem Intent action.devices.EXECUTE werden Befehle bereitgestellt, die auf smart home-Geräten ausgeführt werden sollen.

Wenn Nutzer Befehle mit Assistant an Geräte senden, erhält die Auftragsausführung den Intent action.devices.EXECUTE für die Auftragsausführung, der die Aktion und die Geräte beschreibt, auf die ausgeführt werden soll. Ein Nutzer kann eine Aktion auf einem Gerät mit einem Befehl wie Hey Google, schalte das Licht im Wohnzimmer ein ausführen.

Flussdiagramm eines Intents vom Typ EXECUTE
Abbildung 5: Intent EXECUTE

VERBINDUNG TRENNEN

Der Intent action.devices.DISCONNECT wird ausgelöst, um Sie zu informieren, wenn ein Nutzer die Verknüpfung des App-Kontos mit Assistant aufgehoben hat. Wenn der Intent action.devices.DISCONNECT empfangen wurde, sollten Sie den Status der Geräte dieses Nutzers nicht mehr melden.