使用者儲存空間

在 Webhook 呼叫中,您可以將特定使用者的參數值儲存在 在使用者儲存空間中工作階段您的動作之後可以在以下位置使用這些儲存的值: 提示和條件,Webhook 程式碼可以存取使用者儲存空間中的值 提供給特定使用者的資料

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

在對話中讀取及寫入資料

如要在使用者儲存空間中更新或設定新值,請將該值指派給 params Webhook 呼叫 user 物件的欄位。下列範例集 「exampleColor」變更為「紅色」使用者儲存空間:

Node.js

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

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

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

Node.js

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

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

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

Node.js

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

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED"
      }
    }
  }
}
    

在提示中參照已儲存的值

您可以在提示中參照使用者儲存空間中儲存的值。如要參照 值,請使用 $user.params.PARAMETER_NAME 語法,其中 PARAMETER_NAME 是當 參數。

舉例來說,您先前在使用者儲存空間中儲存了顏色值, 參數 exampleColor。如要在提示中存取該值, 值使用 $user.params.exampleColor

JSON

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

在條件中參照已儲存的值

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

舉例來說,您先前在使用者儲存空間中儲存了顏色值, 參數 exampleColor,而您想要與值「red」進行比對風格 值。在條件中,您可以使用 user.params.exampleColor。條件運算式如下所示:

條件語法

user.params.exampleColor == "red"
    

使用者儲存空間資料到期時間

假如使用者通過驗證,儲存在使用者儲存空間中的資料會在 網頁與「應用程式活動」設定,也可以由「動作」本身清除。 針對尚未驗證的使用者,Google 助理會清除 也能在討論結束時

Actions on Google 會在每次開始時,設定使用者的驗證狀態 對話開始時採用的各種指標來對話。阿斯 例如,使用者在行動裝置上登入 Google 助理 VERIFIED 的驗證狀態。

使用者的驗證狀態可能如下: GUEST

  • 使用者關閉了個人化搜尋結果
  • 使用者停用了網路與應用程式活動。請注意 使用者可能已在網域層級停用這項設定。
  • 如果裝置已啟用 Voice Match,但比對失敗或使用者叫用 不透過語音使用 Google 助理 (例如長按 Nest 住家) 裝置)。
  • 使用者未登入。

儲存使用者資料前,一律檢查使用者的驗證狀態 儲存空間,防止訪客使用者與會失敗的功能互動 。

使用者可視性

使用者可以查看所叫用動作的使用者儲存空間中儲存的資料。 您也可以透過特定「動作」或 不再允許服務記住您的資訊。

如要查看儲存的資料或不再允許服務記住你的資訊,請依照下列指示操作: 步驟:

  1. 前往 Google 助理目錄
  2. 找出並選取要查看的動作,或清除使用者儲存空間的動作。
  3. 捲動至頁面底部:
    • 如要查看使用者儲存空間的內容,請按一下「[查看已儲存的資料]」
    • 如要重設儲存在服務使用者儲存空間中的資料,請按一下「重設」
    • 如何移除儲存在使用者儲存空間中的資料並停止服務 如果不記得,請按一下「停止『<動作名稱>』action_name記住我」