意圖

智慧型家居意圖是簡單的訊息物件,用於說明要執行的 Cloud-to-cloud 整合作業,例如開啟燈或將音訊投放到喇叭。

所有 smart home 意圖都包含在 action.devices 命名空間中,您必須為這些意圖提供執行要求。每當 Google Assistant 將意圖傳送至執行作業時,使用者的第三方 OAuth 2 存取權杖就會透過授權標頭傳送。

以下是支援的 smart home 意圖:

同步處理

action.devices.SYNC 意圖用於要求使用者已連線且可供使用的 smart home 裝置清單。

使用者透過 Google Home app (GHA) 設定裝置時,也會進行雲端基礎架構驗證。接著,Assistant 會收到 OAuth2 權杖。此時,Assistant 會將 action.devices.SYNC 意圖傳送至您的服務,從雲端基礎架構中擷取使用者裝置和功能的初始清單。

這張圖表顯示 Google 基礎架構與合作夥伴基礎架構之間的互動關係。Google 基礎架構中提供可供 Google 助理用戶端應用程式使用的合作夥伴清單,然後將其傳送至合作夥伴基礎架構,以完成 OAuth 驗證。合作夥伴端的 OAuth 驗證是指合作夥伴設定的 WebView、OAuth WebView、選用設定和條款,以及合作夥伴雲端服務。合作夥伴基礎架構會將 OAuth 憑證傳回至 Google 助理用戶端應用程式。合作夥伴雲端服務會將可用的裝置和功能傳送至 Google 助理服務,後者會將資訊儲存在 Google 住家圖表中。
圖 1:Google 與合作夥伴基礎架構之間的互動

為避免取消連結使用者帳戶再重新連結,您可以將要求同步處理作業傳送至 Assistant。這會將 action.devices.SYNC 意圖傳送至執行服務,以同步處理裝置和功能清單。詳情請參閱「實作要求同步處理」。

SYNC 意圖的流程圖
圖 2:SYNC 意圖

本機出貨設定期間,本機 Home 平台會檢查 smart home Action 雲端出貨服務的 SYNC 回應。如要進一步瞭解如何修改 SYNC 回應以支援本機執行要求,請參閱「在雲端執行要求中更新 SYNC 回應」。

查詢

action.devices.QUERY 意圖用於查詢 smart home 裝置的目前狀態。

當使用者查詢裝置狀態時,系統會回答類似「Hey Google,廚房有哪些燈亮?」這類問題。Assistant 會將 action.devices.QUERY 意圖傳送至你的服務供應商。

QUERY 意圖的流程圖
圖 3:查詢意圖

為了提供最佳使用者體驗,您應實作回報狀態,以便主動將使用者裝置的目前狀態直接回報給 Google Home Graph。舉例來說,這可讓 Assistant 瞭解使用者是否透過實體燈具開關開啟智慧燈具。

使用 Report State 回報裝置狀態
圖 4:回報裝置狀態

執行

action.devices.EXECUTE 意圖用於提供要在 smart home 裝置上執行的指令。

當使用者透過 Assistant 將指令傳送至裝置時,您的服務供應商會收到 action.devices.EXECUTE 意圖,其中描述了要執行的動作和裝置。使用者可以透過「Ok Google,打開客廳燈」這類指令,在裝置上執行動作。

EXECUTE 意圖的流程圖
圖 5:EXECUTE 意圖

取消連結

當使用者取消連結應用程式帳戶與 Assistant 時,系統會觸發 action.devices.DISCONNECT 意圖,通知您這項操作。收到 action.devices.DISCONNECT 意圖後,您不應回報此使用者裝置的狀態。