Google Home Vitals (Cloud)

這套資訊主頁和快訊可協助您主動維護與 Google Home 生態系統的高品質整合。Google 致力於協助合作夥伴為所有客戶開發優質生態系統

資訊主頁分為三個部分,分別涵蓋影響整體整合品質的重要環節。

  1. Google 至合作夥伴指標:評估從 Google 到雲端後端的呼叫健康狀態。

  2. 系統健康狀態 - 合作夥伴至 Google 指標 - 評估從系統到 Google 的通話健康狀態。

  3. 裝置健康狀態 - 狀態準確度:評估 Google 系統儲存狀態的準確度,這些狀態用於處理使用者查詢。

如果指標未達到目標值,系統會以紅色醒目顯示,表示可能影響使用者體驗的問題。下列資訊詳細說明各個目標,以及這些目標對使用者的重要性。

如果按下方按鈕後沒有直接前往資訊主頁,請選取「總覽」頁面,然後選取「資訊主頁」,並從「我的資訊主頁」清單中選取「Google Home Vitals 資訊主頁 (Cloud)」,即可查看資訊主頁。

前往資訊主頁

Google 傳送給合作夥伴的指標

「查詢/執行成功率 >= 99.5%」指標會測量使用者指令的正確執行頻率,有助於避免 Google 助理回覆「我無法連上裝置」等訊息,或錯誤確認未執行的指令。

什麼是「成功」?

如果 Google Home 平台收到有效的回應,指出已完成預期動作或擷取要求的狀態,系統就會將交易標示為成功。

如果回應包含非封鎖例外狀況 (例如 SUCCESS 狀態和 lowBattery 例外狀況),系統會將其計為成功交易。指令已傳送至裝置,且意圖已滿足,但發生警告。

什麼是「失敗」?

在「常見平台錯誤代碼」中,標示為「合作夥伴可採取行動」的錯誤,在計算 QUERY 和 EXECUTE 成功率時,會視為「失敗」。此外,在「錯誤和例外狀況」中發現的錯誤也是「失敗」,但有以下例外狀況:

失敗例外狀況
aboveMaximumLightEffectsDuration armLevelNeeded inOffMode
alreadyArmed bagFull lockedToRange
alreadyAtMax belowMinimumLightEffectsDuration lowBattery
alreadyAtMin binFull maxSpeedReached
alreadyClosed cancelArmingRestricted minSpeedReached
alreadyDisarmed deadBattery notSupported
alreadyDocked degreesOutOfRange 離線
alreadyInState deviceJammingDetected percentOutOfRange
alreadyLocked deviceNotMounted rangeTooClose
alreadyOff deviceNotReady remoteSetDisabled
alreadyOn deviceOffline safetyShutOff
alreadyOpen deviceTurnedOff targetAlreadyReached
alreadyPaused discreteOnlyOpenClose tooManyFailedAttempts
alreadyStarted functionNotSupported valueOutOfRange
alreadyStopped inAutoMode
alreadyUnlocked inEcoMode

「查詢/執行延遲時間 (p90) <= 1000 毫秒」指標會測量要求動作的等待時間,確保使用者不必等待太久,例如等待幾秒鐘讓燈光關閉。

延遲指標

延遲時間是重要指標,可反映整合功能對使用者來說是否反應迅速。資訊主頁會追蹤第 90 百分位數 (P90) 的延遲時間,代表「最慢」使用者的體驗 (舉例來說,P90 為 800 毫秒表示 90% 的要求會在 800 毫秒內確認)。

為確保技術準確度,Google 會以不同方式測量狀態檢查和裝置指令的延遲時間。

1. 查詢延遲 (疑問)

這項指標會測量 Google 要求裝置目前狀態時的Cloud-to-cloud往返時間。

  • 開始:Google 會將 action.devices.QUERY 要求傳送至你的執行要求網址。
  • 測量時間範圍:雲端接收、處理及將完整 HTTP 回應傳輸回 Google 所需的時間。
  • 結束:Google 收到並確認服務的最終回應酬載。

2. EXECUTE 延遲時間 (動作)

這項指標會測量 Google 將控制要求傳送至裝置時,裝置確認指令的時間。

  • 開始:Google 會將 action.devices.EXECUTE 要求傳送至你的執行要求網址。
  • 測量時間範圍:雲端接收指令並傳回確認回應所花費的時間。
  • 結束:Google 收到 SUCCESSPENDINGOFFLINE 狀態的回應。
  • 技術範圍:這項指標會評估 Google Cloud 與您的雲端之間的「回應 Ack」時間。這項指標不會測量實體硬體 (例如燈泡) 完成實體狀態變更所需的時間,因為這通常涉及雲端至雲端路徑以外的本機網狀網路延遲。

縮短延遲的選項

地理位置路由的架構建議

如果無法實作任播 IP,建議採用下列經濟實惠的替代方案,確保使用者能透過最接近的區域資料中心取得服務。

  1. 全球負載平衡 (GLB)

    請使用全域應用程式負載平衡器 (適用於大多數主要雲端服務供應商),而非靜態路由。

    • 運作方式:您可以在網路邊緣設定單一全域進入點 (網址),負載平衡器會自動偵測 Google 執行要求叢集的要求地理來源,並將流量轉送至最近的區域健康後端。

    • 優點:這項功能可提供 Anycast 的效能,但設定複雜度和成本都大幅降低。

  2. 可感知地理位置的 DNS (GeoDNS)

    • 運作方式:設定 DNS 供應商,根據 DNS 查詢的地理位置,將執行要求網址解析為不同的 IP 位址。

    • 實作:請確保 DNS 供應商已針對 Google 的輸出點完成最佳化。當 Google 的區域履行服務 (例如美國、歐盟或亞洲) 解析您的網域時,會收到該特定區域資料中心的 IP 位址。

應用程式層的最佳化策略

除了基礎架構層級的路由,您還可以在應用程式層級實作下列策略,減少要求處理作業的延遲時間。

  1. 「Trampoline」Proxy 方法

    如果必須維護主要資料中心,請使用地區輕量型 Proxy 伺服器 (Trampolines) 處理初始信號交換。

    1. Google 會連線至全球網址。

    2. 區域 Proxy (例如輕量型 Nginx 或 Lambda 函式) 會接收要求。

    3. Proxy 會透過內部高速骨幹將酬載轉送至主要資料庫。

    優點:這項功能可縮短「TCP 交握」時間,而這通常是長距離要求延遲的最大因素。

  2. 存取權杖區域提示

    在帳戶連結 (OAuth) 過程中,系統可以識別使用者的住家區域。

    實作:將區域 ID 編碼到發給 Google 的 access_token 中。Google 傳送執行要求時,閘道可以立即檢查權杖,並將要求路由至正確的區域叢集,不需要進行資料庫查詢。

系統健康狀態 - 合作夥伴至 Google 的指標

維持成功率 >= 99.5% 有助於確保 Google Home 中的裝置狀態正確無誤、裝置新增及移除作業順利完成、自動化動作觸發,以及歷史記錄事件顯示在 Google Home app (GHA) 的「活動」分頁中。

系統會根據 Google 在雲端推送狀態更新時傳回的 HTTP 回應代碼,計算成功率。為確保合作夥伴不會因 Google 基礎架構問題而受到處罰,這項指標會從失敗次數中排除 Google 內部錯誤。計算中包含的 API 呼叫位於 HomeGraph API 參考資料中。

什麼是「成功」?

  • 2xx (成功):Home Graph 已成功接收及處理狀態更新。

什麼是「失敗」?

  • 4xx (合作夥伴錯誤):代表失敗,表示從雲端傳送的請求有問題。常見代碼包括:
    • 400 Bad Request:伺服器無法處理要求,因為語法無效。常見原因包括 JSON 格式錯誤,或是字串值使用 null 而非「""」。
    • 404 找不到:找不到要求的資源。通常這表示 Google 找不到要求的裝置。也可能表示使用者帳戶未連結,或收到無效的 agentUserId。請確認 agentUserId 與 SYNC 回應中提供的值相符,且您已正確處理 DISCONNECT 意圖。
    • 429 資源用盡:您的整合服務已超過配額上限。 如需配額管理的操作說明,請參閱資訊主頁上方「步驟 1」一節。

裝置健康狀態 - 狀態準確度

達到或超過 狀態準確度 >= 99.5% 有助於確保使用者查看裝置狀態或使用「問問智慧管家」等 AI 功能時,看到正確的結果。如果狀態準確度偏低,自動化動作可能不會觸發,且記錄項目可能不會在 GHA 的「活動記錄」分頁中及時顯示。詳情請參閱「回報狀態」。

品質資訊主頁會使用「整體準確度」和「最低類型/特徵組合」這兩項指標,每小時追蹤這項資料。

1. 準確度元件

這項指標是根據「樣本」推算而來,Google 可根據已知的意圖結果驗證回報的狀態。

2. 資訊主頁指標 (每小時計算)

資訊主頁會根據 1 小時間隔計算準確度。如果某個小時的樣本總數少於 100 個 (S_Total < 100),該小時的準確度會設為「不適用」

檢視 1:整體準確度 (全球平均)

這代表整合在所有裝置類型和特徵的總準確度。這項指標會提供整個生態系統健康狀態的加權平均值。

  • 計算方式:所有裝置的總狀態準確度 / 所有裝置的總狀態總數。

檢視畫面 2:最低類型/特徵組合

這會找出整合中最不可靠的特定類別。可避免高品質的大音量裝置隱藏低品質的小音量裝置。舉例來說,如果燈具的狀態準確度高於 99.5%,但開關的狀態準確度偏低,這就表示開關需要改善,而平均值可能會忽略這點。

  • 計算方式:所有特徵 / 裝置組合的狀態準確度/狀態總數最小值。