意圖

智慧型住宅意圖是簡單的訊息物件,用來說明「smart home」要執行的動作,例如開燈或將音訊投放到揚聲器。

所有 smart home 意圖都包含在 action.devices 命名空間中,且您必須為該意圖提供執行要求。每當 Google Assistant 傳送意圖至執行要求時,都會透過 Authorization 標頭傳送使用者的第三方 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 助理服務,以便將資訊儲存在 Home Graph 中。
圖 1:Google 與合作夥伴基礎架構的互動

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

SYNC 意圖的流程圖
圖 2:同步處理意圖

本機執行要求期間,本機主畫面平台會檢查 smart home Action 的雲端執行要求中的 SYNC 回應。如要進一步瞭解如何修改 SYNC 回應以支援本機執行要求,請參閱更新雲端執行要求中的同步處理回應

查詢

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

當使用者查詢裝置狀態時,請回答「Ok Google,廚房有哪些燈亮?」這類問題。Assistant 會將 action.devices.QUERY 意圖傳送至您的執行要求。

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

為了提供最佳使用者體驗,建議您實作報表狀態,主動向使用者的裝置狀態回報至 Google Home Graph。例如,這可讓 Assistant 得知使用者是否開啟了實體光源開關的智慧型燈具。

使用報表狀態回報裝置狀態
圖 4:回報裝置狀態

執行

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

使用者透過 Assistant 傳送指令至裝置時,您的執行要求會收到 action.devices.EXECUTE 意圖,該意圖會說明動作和要採取行動的裝置。使用者可以透過指令在裝置上執行動作,例如說出「Ok Google,開啟客廳燈具」

「EXECUTE」意圖的流程圖
圖 5:執行意圖

取消連結

當使用者從 Assistant 取消連結應用程式帳戶時,系統會觸發 action.devices.DISCONNECT 意圖來通知您。收到 action.devices.DISCONNECT 意圖後,請勿回報這位使用者的裝置狀態。