Activités

Les intents de maison connectée sont de simples objets de messagerie qui décrivent l'action smart home à effectuer, comme allumer une lumière ou caster du contenu audio sur une enceinte.

Tous les intents smart home sont contenus dans l'espace de noms action.devices, et vous devez leur fournir un traitement. Chaque fois que Google Assistant envoie un intent au traitement, le jeton d'accès OAuth 2 tiers d'un utilisateur est transmis dans l'en-tête "Authorization".

Voici les intents smart home compatibles:

SYNCHRONISER

L'intent action.devices.SYNC permet de demander la liste des appareils smart home que l'utilisateur a connectés et disponibles.

Lorsqu'un utilisateur configure ses appareils avec Google Home app (GHA), il s'authentifie également auprès de votre infrastructure cloud. Assistant reçoit ensuite un jeton OAuth2. À ce stade, Assistant envoie un intent action.devices.SYNC à votre traitement pour récupérer la liste initiale des appareils et des fonctionnalités des utilisateurs à partir de votre infrastructure cloud.

Cette figure illustre l'interaction entre l'infrastructure Google et l'infrastructure du partenaire. L'infrastructure Google contient une liste de partenaires disponibles pour l'application cliente Assistant, qui est ensuite transmise à l'infrastructure du partenaire pour effectuer l'authentification OAuth. L'authentification OAuth côté partenaire correspond à la configuration du partenaire de WebView, de WebView OAuth, de paramètres et de conditions facultatifs, et de services cloud partenaires. L'infrastructure du partenaire renvoie ensuite les identifiants OAuth à l'application cliente de l'Assistant. Les services cloud partenaires envoient les appareils et les fonctionnalités disponibles aux services de l'Assistant, qui stockent ensuite les informations dans le graphique de la page d'accueil.
Figure 1: Interaction entre l'infrastructure de Google et celle du partenaire

Pour éviter de dissocier et d'associer de nouveau le compte d'un utilisateur, vous pouvez envoyer une requête de synchronisation à Assistant. L'intent action.devices.SYNC est alors envoyé à votre traitement pour synchroniser la liste des appareils et des fonctionnalités. Pour en savoir plus, consultez Implémenter la synchronisation des requêtes.

Schéma du flux d'un intent SYNC
Figure 2: Intent SYNC

Lors de la configuration du traitement en local, la plate-forme Local Home vérifie la réponse SYNC à partir du traitement cloud de votre action smart home. Pour savoir comment modifier votre réponse SYNC afin de permettre le traitement en local, consultez la section Mettre à jour la réponse SYNC dans le traitement cloud.

REQUÊTE

L'intent action.devices.QUERY permet d'interroger l'état actuel des appareils smart home.

Lorsque les utilisateurs demandent l'état d'un appareil, pour répondre à une question telle que Hey Google, quelles lumières sont allumées dans la cuisine ?, Assistant envoie un intent action.devices.QUERY à votre traitement.

Schéma du flux d'un intent QUERY
Figure 3: Intent QUERY

Pour une expérience utilisateur optimale, vous devez implémenter Report State (Rapport sur l'état) afin de signaler de manière proactive l'état actuel des appareils d'un utilisateur directement dans Google Home Graph. Par exemple, cela permet à Assistant de savoir si l'utilisateur a allumé une ampoule connectée avec un interrupteur physique.

Signaler l'état de l'appareil via "Signaler l'état"
Figure 4: Signaler l'état de l'appareil

EXECUTE

L'intent action.devices.EXECUTE permet de fournir des commandes à exécuter sur les appareils smart home.

Lorsque les utilisateurs envoient des commandes à des appareils avec Assistant, votre traitement reçoit un intent action.devices.EXECUTE qui décrit l'action et les appareils sur lesquels agir. Un utilisateur peut exécuter une action sur un appareil à l'aide d'une commande telle que Hey Google, allume les lumières du salon.

Schéma du flux d'un intent EXECUTE
Figure 5: Intent EXECUTE

DÉCONNECTER

L'intent action.devices.DISCONNECT est déclenché pour vous informer lorsqu'un utilisateur a dissocié le compte d'application de Assistant. Après avoir reçu un intent action.devices.DISCONNECT, vous ne devez pas signaler l'état des appareils de cet utilisateur.