歡迎使用 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:提供方法,用於在發現可由本機控制的裝置 (IDENTIFYREACHABLE_DEVICES) 後,由 Google 傳送的意圖附加處理常式。這個類別也會執行使用者指令 (EXECUTE),並回答使用者目前裝置狀態 (QUERY) 的查詢。

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

本地狀態 API 目前不支援本機執行要求。而 Google 將根據您的雲端執行要求來處理這些要求。

應用程式生命週期

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

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

當使用者取消連結帳戶,或不再支援與使用者 agentUserId 相關聯的本機執行要求時,Local Home 平台會在閒置逾時後將應用程式卸載。

支援的裝置

本機主畫面平台會在支援的 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 測試套件測試整合 (或自我認證)。

事前準備