Webhook 呼び出しでは、サービス間で特定のユーザーのパラメータ値を 保存されることはありません。保存された値は、後でアクションを実行し、 Webhook のコードでユーザー ストレージの値に 適用することもできます。
ユーザー ストレージの状態は app.handle()
リクエストで渡され、保存されます。
user
オブジェクトで指定する必要があります。
会話をまたいでデータの読み取りと書き込みを行う
ユーザー ストレージの値を更新または設定するには、params
に値を割り当てます。
Webhook 呼び出しの user
オブジェクトのフィールドを使用します。次の例では、
「exampleColor」「red」に変更ユーザー ストレージ:
// Assign color to user storage
app.handle('storeColor', conv => {
let color = 'red';
conv.user.params.exampleColor = color;
});
{
"responseJson": {
"session": {
"id": "1234567890123456789",
"params": {}
},
"prompt": {
"override": false
},
"user": {
"locale": "en-US",
"params": {
"verificationStatus": "VERIFIED",
"exampleColor": "red"
}
}
}
}
ユーザー ストレージに保存されているデータにアクセスするには、データを Webhook の変数に代入します あります。次の例では、「exampleColor」から値を取得していますユーザー storage:
// Retrieve color from user storage
app.handle('getStoredColor', conv => {
let color = conv.user.params.exampleColor;
});
{
"responseJson": {
"session": {
"id": "1234567890123456789",
"params": {}
},
"prompt": {
"override": false
},
"user": {
"locale": "en-US",
"params": {
"verificationStatus": "VERIFIED",
"exampleColor": "red"
}
}
}
}
以前に保存した値を消去するには、Webhook 呼び出しで値を null
に設定します。
次の例では、「exampleColor」の値をクリアしていますユーザー ストレージ:
// Clear color from user storage
app.handle('clearStoredColor', conv => {
conv.user.params.exampleColor = null;
});
{
"responseJson": {
"session": {
"id": "1234567890123456789",
"params": {}
},
"prompt": {
"override": false
},
"user": {
"locale": "en-US",
"params": {
"verificationStatus": "VERIFIED"
}
}
}
}
プロンプト内で格納値を参照する
ユーザー ストレージに保存されている値をプロンプトで参照できます。参照
$user.params.PARAMETER_NAME
構文を使用します。
PARAMETER_NAME
は、サービス起動時に Webhook に
パラメータが設定されました。
たとえば、以前、色の値をユーザー ストレージに保存しました。
パラメータ exampleColor
。プロンプトでその値にアクセスするには、
$user.params.exampleColor
を使用する値:
{
"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"
ユーザー ストレージ データの有効期限
確認済みユーザーの場合、ユーザー ストレージに保存されたデータは ウェブとApp Activity の設定に基づいて無効にできます。また、アクション自体から消去することもできます。 未確認のユーザーの場合、アシスタントは メッセージが届きます。
Actions on Google は、各リクエストの開始時にユーザーの確認ステータスを設定します。
会話が始まると、さまざまなインジケーターに基づいて会話がスムーズになります。として
たとえば、モバイル デバイスで Google アシスタントにログインしたユーザーには
VERIFIED
の確認ステータス。
ユーザーの確認ステータスが「
GUEST
:
- ユーザーがアカウントに基づく情報を無効にしている。
- ユーザーが各自のウェブとアプリのアクティビティを無効にしている。なお、 ユーザーがこの設定をドメインレベルで無効にできる場合があります。
- デバイスで Voice Match が有効になっていても、一致しない場合、またはユーザーが 声を使わずにアシスタントを起動(Google Nest Home の長押しなど) 。
- ユーザーがログインしていない。
ユーザーにデータを保存する前に、必ずユーザーの確認ステータスを確認する ゲストユーザーが、失敗する機能を操作できないようにします。 できます。
ユーザーへの公開設定
ユーザーは、呼び出したアクションのユーザー ストレージに保存されているデータを表示できます。 ユーザー ストレージに保存されているデータを特定のアクションや サービスにユーザーは保存されません。
保存したデータを表示したり、サービスにユーザーを保存しないようにしたりするには、 手順:
- アシスタント ディレクトリに移動します。
- ユーザー ストレージを表示または消去するアクションを見つけて選択します。
- ページの一番下までスクロールします。
<ph type="x-smartling-placeholder">
- </ph>
- ユーザー ストレージの内容を表示するには、[保存されたデータを表示] をクリックします。
- サービスのユーザー ストレージに保存されているデータをリセットするには、[リセット] をクリックします。
- ユーザー ストレージに保存されているデータを削除し、サービスを停止する 自分の情報を保存する場合は、[action_name に自分の情報を保存しない] をクリックします。