Local Home SDK 可強化與 Google 之間的智慧型住宅整合 新增路線的本地執行要求路徑,讓 Google 助理幫忙處理 智慧型住宅意圖 -
這個 SDK 可讓您使用 TypeScript 或 JavaScript 編寫本機執行要求應用程式。 其中含有智慧型住宅商業邏輯Google Home 或 Google Nest 裝置可載入 在裝置端執行應用程式您的應用程式會直接與您現有的智慧型手錶通訊 使用區域網路 (LAN) 中透過 Wi-Fi 連線的裝置執行使用者指令。 相較於現有通訊協定
整合 SDK 可提升智慧型住宅的效能 採取行動,包括縮短延遲時間和提高穩定性。本地出貨為 適用於所有裝置類型和裝置特徵 (使用 次要使用者 驗證。
瞭解運作方式
收到 SYNC
回應後
在您的雲端執行要求中,Local Home 平台會掃描使用者的
區域網路,運用 mDNS、UDP 廣播或 UPnP
和 Google 助理連結的智慧型裝置
平台會傳送 IDENTIFY
意圖,判斷裝置是否
可在本機控制 (方法是比較 IDENTIFY
回應中的裝置 ID)
傳回給先前 SYNC
回應傳回的回應。如果偵測到的裝置是
中樞或橋接器,平台會傳送 REACHABLE_DEVICES
意圖,並將
中樞裝置做為 Proxy 裝置,進行本機通訊。
收到確認本機裝置的回應後,平台會 使用者的 Google Home 或 Google Nest 裝置的本機執行要求路徑,以及 本機執行要求的使用者指令
當使用者觸發包含本地執行要求路徑的智慧型住宅動作時,
Google 助理會傳送 EXECUTE
或 QUERY
意圖
不必透過雲端執行要求,而是 Google Home 或 Google Nest 裝置。然後
執行本機執行要求應用程式來處理意圖。
「本地住家」平台無法確定要決定要使用哪個 Google Home 或 Google Nest 裝置
觸發指令EXECUTE
和 QUERY
意圖可能來自任何
在同一 Home 圖譜中定義的 Google Home 或 Google Nest 裝置
做為目標裝置
本地執行要求應用程式
本機執行要求應用程式包含商業邏輯,用於處理 「Local Home」平台,並透過區域網路存取你的智慧型裝置。 您不需要修改硬體來整合本機執行要求。 應用程式會將控制指令傳送給 智慧型裝置,包括 HTTP、TCP 或 UDP。 如果本機執行要求路徑失敗,系統會使用您的雲端出貨服務 做為備用執行路徑
為支援建構應用程式,Local Home SDK 提供了以下兩個主要功能 類別:
DeviceManager
: 提供與智慧型裝置通訊的方法 TCP、UDP 通訊端或 HTTP 要求App
: 為 Google 傳送的意圖提供附加處理常式的方法 找出可在本機控制的裝置 (IDENTIFY
、REACHABLE_DEVICES
)。這個類別也會執行使用者指令 (EXECUTE
),以及 會回應使用者對目前裝置狀態 (QUERY
) 的查詢內容。
在開發期間,您可以自行載入應用程式來建構及測試應用程式 託管伺服器或本機開發機器在實際工作環境中,Google 會代管 應用程式,該環境必須安裝在使用者的 Google Home 或 Google Nest 裝置的安全 JavaScript 沙箱環境中。
Report State API 為 目前不支援本地出貨功能。Google 仰賴您 來處理這些要求
應用程式生命週期
本地首頁平台找到之後,您的本地執行要求應用程式會依照需求載入 新的本機裝置 (符合專案掃描設定),或設為待處理 先前識別裝置的相關意圖。
Google Home 或 Google Nest 裝置的記憶體有限,以及本機執行要求應用程式 可能因為系統的記憶體壓力 而隨時終止這可以 如果應用程式開始耗用太多記憶體,或系統需要 為其他應用程式騰出空間。 只有在有新意圖時,Local Home 平台才會重新啟動應用程式 提供足夠的記憶體資源,讓應用程式順利執行。
當使用者閒置逾時時,Local Home 平台會卸載應用程式
取消連結帳戶,或已經沒有支援本機的裝置
與使用者 agentUserId
相關聯的執行要求。
支援的裝置
本地 Google 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 |
執行環境
本機執行要求應用程式的執行環境取決於 device。「本地首頁」平台支援下列項目: 執行階段環境:
- Chrome:本機執行要求應用程式會在 Chrome 環境內執行
瀏覽器
window
(執行 Chrome) M80 或之後版本,並支援 ECMAScript ES2018 版本。 - Node.js:本機執行要求應用程式會以指令碼的形式,在 Node.js 中執行 執行 Node v10.x 程序 LTS 或之後版本,並支援 ECMAScript ES2018 版。
原始碼結構
建議您使用 bundler 設定 ,並將原始碼封裝為 立即叫用函式運算式 (IIFE)。
實作路徑
如要使用 Local Home SDK 整合智慧型住宅,您必須: 執行以下工作:
1 | 設定掃描 設定 | 使用必要的參數來設定 Actions 主控台 Google 助理探索可在本機控制的裝置。 |
2 | 更新 在雲端執行要求中同步回應 | 在 Cloud 執行要求中,修改
SYNC
要求處理常式支援
otherDeviceIds 欄位可供平台建立
本地執行要求路徑在該欄位中,指定可進入
本機控制系統
|
3 | 將 本地執行要求應用程式 | 使用 Local Home SDK 建立 JavaScript 應用程式,即可:
處理 IDENTIFY 、
EXECUTE 和
QUERY 意圖針對中樞或橋接 Proxy 裝置,請
也會處理 REACHABLE_DEVICES 意圖
|
4 | 測試應用程式並進行偵錯 | 使用 Google Home 測試套件。 |
事前準備
- 熟悉建立智慧型住宅的基本概念 Action (動作):
- 在「動作」 主控台 確認您有智慧型住宅專案,且帳戶連結為 設定
- 請確認使用同一個 Google 帳戶登入 測試裝置上的 Actions 主控台和 Google 助理。
- 您需要有 Node.js 編寫應用程式所需的環境用於安裝 Node.js 和 npm,以及 Node 版本 管理員 建議。
- 如要使用最新版的 Local Home SDK,您必須 將測試裝置註冊至 Cast 預覽版 計畫。