在 Webhook 呼叫中,您可以將參數值儲存在下列位置: 也就是與住家儲存空間相同的家庭 (依據「Home Graph」)。你的動作可以 之後在提示和條件中使用這些儲存的值,您的 Webhook 程式碼,在必要時存取特定住家的家用體溫值。
家用儲存空間的狀態會透過 app.handle()
要求傳遞,並儲存
在 home
物件中定義。
限制
家用儲存空間不屬於住家,因此無法使用行動裝置
。在 Webhook 程式碼中,使用 HOME_STORAGE
裝置功能
根據使用者裝置的功能,建立商業邏輯
您必須選擇啟用住家儲存空間:
- 在動作控制台中,依序前往「部署」>目錄資訊。
- 在「其他資訊」「其他資訊」中,勾選「首頁」「首頁」的方塊 如果 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 助理目錄中的動作頁面,為管理的結構儲存:
- 找出並選取要查看的動作,或清除使用者儲存空間的動作。
- 捲動至頁面底部:
- 如要移除儲存在家用儲存空間中的資料,請按一下「停止『動作名稱』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 級。 |
使用者查詢內容。 | 。 |