意圖

智慧住宅意圖是簡單的訊息物件,用於說明要執行的 Cloud-to-cloud 整合,例如開啟燈泡或將音訊投放到音箱。

所有 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 驗證包括合作夥伴設定網頁檢視畫面、OAuth 網頁檢視畫面、選用設定和條款,以及合作夥伴雲端服務。合作夥伴基礎架構會將 OAuth 憑證傳回給 Google 助理用戶端應用程式。合作夥伴雲端服務會將可用的裝置和功能傳送給 Google 助理服務,然後 Google 助理服務會將資訊儲存在住家圖表中。
圖 1:Google 與合作夥伴基礎架構之間的互動

如要避免取消連結及重新連結使用者的帳戶,可以傳送要求同步處理至 Assistant。這會將 action.devices.SYNC 意圖傳送至完成項目,以同步處理裝置和功能清單。詳情請參閱「實作要求同步」。

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

設定店內取貨時,Local Home 平台會檢查smart home Action 雲端出貨的 SYNC 回應。如要進一步瞭解如何修改 SYNC 回應以支援本地出貨,請參閱在雲端出貨中更新 SYNC 回應

QUERY

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

使用者查詢裝置狀態時,回答「Ok Google,廚房有哪些燈亮著?」等問題。Assistant 會將 action.devices.QUERY 意圖傳送至你的完成服務。

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

為提供最佳使用者體驗,建議您實作「回報狀態」,主動將使用者裝置的目前狀態直接回報給 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 意圖後,請勿回報這位使用者裝置的狀態。