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