情境

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

所有的 smart home 意圖都包含在 action.devices 命名空間,因此您必須為其提供執行要求。只要 Google Assistant 會將意圖傳送至執行要求,也就是使用者的 第三方 OAuth 2 存取權杖是透過 Authorization 標頭傳送。

支援的 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:同步意圖

本地執行要求設定期間, 本地首頁平台會檢查以下項目的 SYNC 回應: smart home Action 的 Cloud 執行要求。如要進一步瞭解如何 修改 SYNC 回應以支援本地執行要求,請參閱 在雲端執行要求中更新 SYNC 回應

查詢

action.devices.QUERY 意圖的用途是查詢目前的狀態 (共 smart home 部裝置)。

當使用者查詢裝置狀態時,即可回答以下問題: Ok Google,廚房有哪些燈亮?Assistant 會將 action.devices.QUERY 意圖傳送至 執行要求

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

為獲得最佳使用者體驗,建議導入 回報狀態,可主動回報 將使用者裝置的目前狀態 Google Home Graph。舉例來說 「Assistant」知道使用者是否透過 實體電燈開關

使用「回報狀態」功能回報裝置狀態
圖 4:回報裝置狀態

執行

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

當使用者透過 Assistant 將指令傳送至裝置時,您的 執行要求會接收 action.devices.EXECUTE 意圖至您的執行要求, 說明該操作與要執行的裝置。使用者可以執行動作 透過語音指令裝置,例如「Ok Google,打開客廳的燈」

執行意圖的流程圖
圖 5:執行意圖

取消連結

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