家庭儲存空間

在 Webhook 呼叫中,您可以將參數值儲存在下列位置: 也就是與住家儲存空間相同的家庭 (依據「Home Graph」)。你的動作可以 之後在提示和條件中使用這些儲存的值,您的 Webhook 程式碼,在必要時存取特定住家的家用體溫值。

家用儲存空間的狀態會透過 app.handle() 要求傳遞,並儲存 在 home 物件中定義。

限制

家用儲存空間不屬於住家,因此無法使用行動裝置 。在 Webhook 程式碼中,使用 HOME_STORAGE 裝置功能 根據使用者裝置的功能,建立商業邏輯

您必須選擇啟用住家儲存空間:

  1. 在動作控制台中,依序前往「部署」>目錄資訊
  2. 在「其他資訊」「其他資訊」中,勾選「首頁」「首頁」的方塊 如果 30 天內讀取資料不到一次 建議使用 Nearline Storage
,瞭解如何調查及移除這項存取權。

在住家中讀取及寫入資料

如要更新或設定住家儲存空間中的新值,請將該值指派給 params Webhook 呼叫 home 物件的欄位。以下範例 設定「exampleColor」變更為「紅色」裝置儲存空間:

Node.js

// Assign color to home storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.home.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "home": {
      "params": {
        "exampleColor": "red"
      }
    }
  }
}
    

如要存取儲存在家用儲存空間中的資料,請將 Webhook 指派給變數中的變數 呼叫。以下範例會從「exampleColor」擷取值在家 儲存空間:

Node.js

// Retrieve color from home storage
app.handle('getStoredColor', conv => {
  let color = conv.home.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "home": {
      "params": {
        "homeColor": "red"
      }
    }
  }
}
    

如要清除先前儲存的值,請在 Webhook 呼叫中將值設為 null。 以下範例會清除「exampleColor」的值裝置儲存空間:

Node.js

// Clear color from home storage
app.handle('clearStoredColor', conv => {
  conv.home.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "home": {
      "params": {}
    }
  }
}
    

在提示中參照已儲存的值

您可以在提示中參照儲存在家用儲存空間中的值。供參考 值,請使用 $home.params.PARAMETER_NAME 語法,其中 PARAMETER_NAME 是 Webhook。

例如,您之前將色彩值儲存在主畫面儲存空間中,做為 參數 exampleColor。如要在提示中存取該值, 值使用 $home.params.exampleColor

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $home.params.exampleColor."
      }]
    }
  }]
}
    

在條件中參照已儲存的值

您也可以在條件中參照儲存在家用儲存空間中的值。目的地: 參照該值,請使用 home.params.PARAMETER_NAME 語法,其中 PARAMETER_NAME 是 Webhook。

例如,您之前將色彩值儲存在主畫面儲存空間中,做為 參數 exampleColor,而您想要與值「red」進行比對風格 值。在條件中,您可以使用 home.params.exampleColor。這樣一來,條件運算式看起來就會像這樣 :

條件語法

home.params.exampleColor == "red"
    

住家儲存空間資料的有效期限

如果動作沒有回應,系統會在連續 90 天後清除住家儲存空間資料 呼叫。在與 Home Graph 相關的任何裝置上叫用動作 重設 90 天計時器如果 Home 圖譜結構遭到刪除, 對應的家庭儲存空間資料將被清除。

針對使用住家儲存空間的動作,Home Graph 結構管理員可以清除主畫面 Google 助理目錄中的動作頁面,為管理的結構儲存:

  1. 找出並選取要查看的動作,或清除使用者儲存空間的動作。
  2. 捲動至頁面底部:
    • 如要移除儲存在家用儲存空間中的資料,請按一下「停止『動作名稱』action_name 不必記住我
,瞭解如何調查及移除這項存取權。

如果裝置管理員解除裝置與結構間的關聯,家用儲存裝置就會變成 也會解除關聯住家儲存空間資料仍會與裝置建立關聯 即使結構管理員有所變動 除非是結構管理員予以清除

模擬工具中的住家儲存空間資料

使用 Actions 控制台的模擬工具測試動作時, 儲存在家用儲存裝置的資料與實體裝置 裝置。系統會將模擬工具視為其 Home Graph 的一部分,因此資料不會 並保存至網路中的其他裝置。此外,首頁 如果模擬未驗證的工作階段,則不會保留各個工作階段的儲存空間資料 使用者模擬工具設定已啟用

互動範例

下列是已登入使用者首次叫用時的互動範例 動作:

使用者查詢內容。 Ok Google,對 ExampleAction 進行搜尋。
Google 助理回應 取得 ExampleAction。
Google 助理回應 提醒你,每次播放 ExampleAction 都會儲存 其他家庭成員可以接續你上次的進度。
ExampleAction 回應 您好,已驗證使用者。你目前是第 0 級。說出「下一步」、「重設」或「取消」。
使用者查詢內容。
ExampleAction 回應 你目前是第 1 級。
使用者查詢內容。

接著,當同一已驗證的使用者在一段時間後返回動作時:

使用者查詢內容。 Ok Google,對 ExampleAction 進行搜尋。
Google 助理回應 取得 ExampleAction。
ExampleAction 回應 您好,已驗證使用者。你目前是第 1 級。說出「下一步」、「重設」或「取消」。
使用者查詢內容。
ExampleAction 回應 你目前是第 2 級。
使用者查詢內容。

隔天,未驗證的使用者與其他裝置上的動作互動 位於同一家庭內的物件 (與 Home Graph 中指定的位置一致)。

使用者查詢內容。 Ok Google,對 ExampleAction 進行搜尋。
Google 助理回應 取得 ExampleAction。
Google 助理回應 提醒你,每次播放 ExampleAction 都會儲存 其他家庭成員可以接續你上次的進度。
ExampleAction 回應 訪客使用者,你好。你目前是第 2 級。說出「下一步」、「重設」或「取消」。
使用者查詢內容。
ExampleAction 回應 你目前是第 3 級。
使用者查詢內容。