ユーザーの保存容量

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 の長押しなど) 。
  • ユーザーがログインしていない。

ユーザーにデータを保存する前に、必ずユーザーの確認ステータスを確認する ゲストユーザーが、失敗する機能を操作できないようにします。 できます。

ユーザーへの公開設定

ユーザーは、呼び出したアクションのユーザー ストレージに保存されているデータを表示できます。 ユーザー ストレージに保存されているデータを特定のアクションや サービスにユーザーは保存されません。

保存したデータを表示したり、サービスにユーザーを保存しないようにしたりするには、 手順:

  1. アシスタント ディレクトリに移動します。
  2. ユーザー ストレージを表示または消去するアクションを見つけて選択します。
  3. ページの一番下までスクロールします。 <ph type="x-smartling-placeholder">
      </ph>
    • ユーザー ストレージの内容を表示するには、[保存されたデータを表示] をクリックします。
    • サービスのユーザー ストレージに保存されているデータをリセットするには、[リセット] をクリックします。
    • ユーザー ストレージに保存されているデータを削除し、サービスを停止する 自分の情報を保存する場合は、[action_name に自分の情報を保存しない] をクリックします。