歡迎使用 Google Home 開發人員中心,探索全新功能,瞭解如何開發智慧住宅動作。注意:請繼續在「動作」控制台中建立動作。

本地出貨資訊

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

Local Home SDK 可新增本機執行路徑來轉送智慧型住宅意圖,藉此改善您的智慧住宅整合 Google 助理。

這個 SDK 可讓您使用 TypeScript 或 JavaScript 編寫本機執行應用程式,當中包含智慧型住宅商業邏輯。Google Home 或 Google Nest 裝置可以在裝置上載入並執行您的應用程式。區域區域網路 (LAN) 會透過 Wi-Fi 直接與現有的智慧型裝置通訊,並透過現有的通訊協定完成使用者指令。

整合 SDK 後,智慧住宅動作就能提升效能,包括降低延遲時間和提升可靠性。所有裝置類型和裝置特徵都支援本機執行要求,但使用次要使用者驗證的裝置除外。

開始建構 試用範例

瞭解運作方式

收到雲端出貨的 SYNC 回應後,Local Home 平台會使用 mDNS、UDP 廣播或 UPnP 掃描使用者的區域網路,找出連線至 Google 助理的智慧型裝置。

平台會將 IDENTIFY 回應中的裝置 ID 與先前 SYNC 回應傳回的裝置 ID 進行比較,以傳送 IDENTIFY 意圖,以判斷裝置是否可本機控制。如果偵測到的裝置是中樞或橋接器,平台會傳送 REACHABLE_DEVICES 意圖,並將該中心視為用來在本機通訊的 Proxy 裝置。

平台收到確認本機裝置的回應時,會為使用者的 Google Home 或 Google Nest 裝置建立本機執行要求路徑,然後轉送使用者指令以執行本機交車。

當使用者觸發包含本機出貨路徑的智慧住宅動作時,Google 助理會將 EXECUTE 意圖或 QUERY 意圖傳送至 Google Home 或 Google Nest 裝置,而非雲端執行要求。接著,裝置會執行本機出貨應用程式來處理意圖。

此圖顯示本機出貨的執行流程。執行路徑會由 Google 助理透過手機擷取使用者的意圖,然後由 Google Cloud 處理使用者意圖,然後在 Google Home 裝置上在本機執行。這個指令會直接導向裝置中心或直接傳送到裝置。開發人員雲端是一項雲端備用廣告。
圖 1:為智慧住宅動作新增本機出貨路徑。

本機住家平台在決定指令時,無法決定哪個 Google Home 或 Google Nest 裝置。EXECUTEQUERY 意圖可能會來自與目標裝置相同的住家圖表結構中定義的任何 Google Home 或 Google Nest 裝置。

本地出貨應用程式

本機出貨應用程式包含商業邏輯,可處理本機主畫面平台傳送的意圖,並透過區域網路存取智慧型裝置。請勿修改任何硬體來整合本機交車選項。應用程式透過 HTTP、TCP 或 UDP 等應用程式層通訊協定將控制指令傳送至智慧型裝置,藉此完成智慧型住宅動作要求。如果本機執行路徑失敗,系統會將您的雲端出貨做為備用執行路徑。

為支援建構應用程式,Local Home SDK 提供兩種主要類別:

  • DeviceManager:提供使用 TCP、UDP 通訊端或 HTTP 要求與智慧型裝置通訊的方法。
  • App:提供方法,用於在 Google 找到可進行本機控制的裝置 (IDENTIFYREACHABLE_DEVICES) 後傳送的意圖附加處理常式。這個類別也會完成使用者指令 (EXECUTE),並回答使用者目前裝置狀態的查詢 (QUERY)。

在開發期間,您可以透過自己的託管伺服器或本機開發機器載入,藉此建構及測試應用程式。在實際工作環境中,Google 會將應用程式託管在使用者 Google Home 或 Google Nest 裝置的安全 JavaScript 沙箱環境中。

本機執行要求目前不支援 Report State API。Google 會根據您的雲端執行要求來處理這些要求。

應用程式生命週期

當 Local Home 平台偵測到新的專案與專案掃描設定相符,或有待處理的意圖與先前識別的裝置相關時,就會視需要載入本機出貨應用程式。

Google Home 或 Google Nest 裝置受到記憶體限制,因此可能會因為系統的記憶體壓力而隨時終止本機執行要求應用程式。例如應用程式開始耗用過多記憶體,或系統需要騰出空間以騰出空間使用時,就會發生這種情形。本機工作階段平台只會在有新意圖提供足夠的記憶體資源,讓應用程式能夠執行時,才會重新啟動。

使用者取消連結帳戶後,本機首頁平台會在閒置逾時後解除安裝應用程式,或不再支援與使用者的 agentUserId 相關聯的本機執行裝置。

支援的裝置

「本機主畫面」平台會在支援的 Google Home 或 Google Nest 裝置上執行本機出貨應用程式。下表說明支援的裝置,以及每部裝置的執行階段。如要進一步瞭解執行階段需求,請參閱執行環境

裝置 類型 環境
Google Home 擴音 Chrome
Google Home Mini 擴音 Chrome
Google Home Max 擴音 Chrome
Nest Mini 擴音 Chrome
Nest Hub 多媒體 Chrome
Nest Hub Max 多媒體 Chrome
Nest Wifi 路由器 Node.js
Chrome

執行環境

本機出貨應用程式的執行環境取決於您的裝置。本機主畫面平台支援下列執行階段環境:

原始碼結構

建議您使用本機首頁 SDK 提供的封裝設定,將依附元件封裝為單一 JavaScript 檔案,並將原始碼封裝為立即叫用的函式運算式 (IIFE)

實作路徑

如要使用 Local Home SDK 進行智慧型住宅整合,您需要執行以下工作:

1 調整掃描設定 使用動作參數設定動作控制台,以便 Google 助理探索本機控制的裝置。
2 更新雲端執行要求中的同步處理通知 在雲端執行要求中,修改 SYNC 要求處理常式以支援平台用來建立本機執行路徑的 otherDeviceIds 欄位。在該欄位中,指定可本機控制的裝置 ID。
3 實作本地出貨應用程式 使用 Local Home SDK 建立 JavaScript 應用程式來處理 IDENTIFY EXECUTE QUERY 意圖。對於中樞或橋接 Proxy 裝置,建議您同時處理 REACHABLE_DEVICES 意圖。
4 測試應用程式並進行偵錯 使用 Google Home 測試套件測試整合 (或自我認證)。

事前準備