Intent

Gli intent per la smart home sono semplici oggetti di messaggistica che descrivono l'azione smart home da eseguire, ad esempio accendere una luce o trasmettere audio a uno speaker.

Tutti gli intent smart home sono contenuti nello spazio dei nomi action.devices e devi specificarne il fulfillment. Ogni volta che Google Assistant invia un intent al fulfillment, il token di accesso OAuth 2 di terze parti di un utente viene trasmesso nell'intestazione Autorizzazione.

Questi sono gli intent smart home supportati:

SINCRONIZZA

L'intent action.devices.SYNC viene utilizzato per richiedere l'elenco di smart home dispositivi che l'utente ha connesso e che è disponibile per l'uso.

Quando un utente configura i propri dispositivi con Google Home app (GHA), viene autenticato anche nella tua infrastruttura cloud. Quindi, Assistant riceve un token OAuth2. A questo punto, Assistant invia un intent action.devices.SYNC al tuo fulfillment per recuperare l'elenco iniziale di funzionalità e dispositivi utente dalla tua infrastruttura cloud.

Questa figura mostra l'interazione tra l'infrastruttura di Google
    e l'infrastruttura del partner. Dall'infrastruttura di Google è disponibile un elenco di partner disponibili per l'app client dell'assistente, che a sua volta passa all'infrastruttura del partner per completare l'autenticazione OAuth. L'autenticazione OAuth sul lato partner è costituita da WebView per la configurazione partner, WebView OAuth, termini e impostazioni facoltative e i servizi cloud dei partner. L'infrastruttura del partner, quindi, restituisce le credenziali OAuth all'app client dell'assistente. I servizi cloud del partner inviano i dispositivi e le funzionalità disponibili ai servizi dell'assistente, che poi archiviano le informazioni in Home Graph.
Figura 1: interazione tra Google e l'infrastruttura dei partner

Per evitare di scollegare e ricollegare l'account di un utente, puoi inviare una richiesta di sincronizzazione a Assistant. L'intent action.devices.SYNC viene inviato al fulfillment per sincronizzare l'elenco di dispositivi e funzionalità. Per ulteriori informazioni, consulta Implementare la sincronizzazione delle richieste.

Diagramma di flusso di un intent SYNC
Figura 2: intent SYNC

Durante la configurazione del fulfillment locale, la piattaforma Home locale controlla la risposta SYNC dal fulfillment cloud dell'Azione smart home. Per scoprire di più su come modificare la risposta SYNC per supportare il fulfillment locale, consulta Aggiornamento della risposta SYNC in Cloud fulfillment.

QUERY

L'intent action.devices.QUERY viene utilizzato per eseguire query sullo stato attuale dei dispositivi smart home.

Quando gli utenti eseguono query sullo stato del dispositivo, per rispondere a domande come Hey Google, quali luci sono accese in cucina?, Assistant invia un intent action.devices.QUERY al tuo fulfillment.

Diagramma di flusso di un intent QUERY
Figura 3: intent QUERY

Per un'esperienza utente ottimale, devi implementare lo stato del report per segnalare in modo proattivo lo stato attuale dei dispositivi di un utente direttamente a Google Home Graph. Ad esempio, ciò consente a Assistant di sapere se l'utente ha acceso una luce smart con un interruttore della luce fisico.

Segnalazione dello stato del dispositivo utilizzando lo stato del report
Figura 4: report sullo stato del dispositivo

ESEGUI

L'intent action.devices.EXECUTE viene usato per fornire comandi da eseguire sui dispositivi smart home.

Quando gli utenti inviano comandi ai dispositivi con Assistant, il fulfillment riceve un intent action.devices.EXECUTE che descrive l'azione e i dispositivi su cui agire. Un utente può eseguire un'azione su un dispositivo con un comando come Hey Google, accendi le luci del salotto.

Diagramma di flusso di un intent EXECUTE
Figura 5: intent EXECUTE

DISCONNETTI

L'intent action.devices.DISCONNECT viene attivato per informarti quando un utente ha scollegato l'account dell'app da Assistant. Dopo aver ricevuto un intent action.devices.DISCONNECT, non devi segnalare lo stato dei dispositivi di questo utente.