ホーム ストレージ

Webhook 呼び出しでは、同じパラメータの複数のセッションにまたがるパラメータ値を保存できます。 ホームグラフに基づくホーム ストレージ内の同じ世帯数。アクションで 保存された値を後でプロンプトや条件で使用し 特定の世帯の家庭用ストレージ内の値に、必要に応じてアクセスできます。

ホーム ストレージの状態は app.handle() リクエストで渡され、保存されます。 home オブジェクトで指定する必要があります。

制限事項

モバイル デバイスは家のメンバーではないため、ホーム ストレージは使用できません グラフ。Webhook コードで、HOME_STORAGE デバイス機能を使用します。 ユーザーのデバイスの機能に基づいてビジネス ロジックを分岐させることができます。

ホーム ストレージを使用するには、オプトインする必要があります。

  1. Actions Console で、[デプロイ] >ディレクトリ情報
  2. [その他の情報] セクションで、ホーム] のチェックボックスをオンにします。 ストレージです。
で確認できます。

家庭内のデータの読み取りと書き込み

ホーム ストレージの値を更新または設定するには、params に値を割り当てます Webhook 呼び出しの home オブジェクトのフィールドを使用します。次の例をご覧ください。 「exampleColor」を設定します「red」に変更ホーム ストレージ:

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」から値を取得しています自宅 storage:

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 日間続くと、ホーム ストレージ データはワイプされます。 呼び出すことができます。ホームグラフに関連付けられたデバイスでアクションを呼び出す 90 日間のタイマーがリセットされます。ホームグラフ構造を削除すると、 対応するホーム ストレージのデータが消去されます。

ホーム ストレージを使用するアクションの場合、ホームグラフ ストラクチャの管理者は家を消去できます 管理するストラクチャのストレージを、アシスタント ディレクトリのアクションのページから確認できます。

  1. ユーザー ストレージを表示または消去するアクションを見つけて選択します。
  2. ページの一番下までスクロールします。 <ph type="x-smartling-placeholder">
      </ph>
    • ホーム ストレージに保存されているデータを削除するには、[action_name を停止] をクリックします ブロックします
で確認できます。

デバイスの管理者がデバイスをストラクチャから切り離すと、ホーム ストレージは 解けたのですホーム ストレージのデータは、引き続きデバイスと関連付けられます (ストラクチャの管理者が変更された場合も含む)

シミュレータのホーム ストレージ データ

Actions Console のシミュレータを使用してアクションをテストする場合: ホーム ストレージに保存されたデータの動作が、物理的な ダウンロードしますシミュレーションは独自のホームグラフの一部と見なされるため、データは ネットワーク内の他のデバイスに対しても永続化されます。さらに、 「未確認のシミュレーション」 ユーザー シミュレータの設定が有効になっています。

インタラクションの例

以下に、ログイン ユーザーの初回呼び出し時のインタラクションの例を示します。 アクション:

ユーザーのクエリ OK Google, ExampleAction に話しかけて。
アシスタントの応答 ExampleAction の取得。
アシスタントの応答 ExampleAction はプレイするたびに保存されるので 他のメンバーは中断したところから再開できます。
ExampleAction レスポンス いつも Google をご利用いただきありがとうございます。あなたはレベル 0 です。「次へ」、リセット、または「キャンセル」と言ってください。
ユーザーのクエリ 次へ] をタップします。
ExampleAction レスポンス 現在はレベル 1 です。
ユーザーのクエリ 退出] をタップします。

その後、しばらくして同じ確認済みユーザーがアクションに戻った場合:

ユーザーのクエリ OK Google, ExampleAction に話しかけて。
アシスタントの応答 ExampleAction の取得。
ExampleAction レスポンス いつも Google をご利用いただきありがとうございます。現在はレベル 1 です。「次へ」、リセット、または「キャンセル」と言ってください。
ユーザーのクエリ 次へ] をタップします。
ExampleAction レスポンス 現在はレベル 2 です。
ユーザーのクエリ 退出] をタップします。

翌日、未確認ユーザーが別のデバイスでそのアクションを操作しました 同じ世帯内(ホームグラフの表示に基づく)

ユーザーのクエリ OK Google, ExampleAction に話しかけて。
アシスタントの応答 ExampleAction の取得。
アシスタントの応答 ExampleAction はプレイするたびに保存されるので 他のメンバーは中断したところから再開できます。
ExampleAction レスポンス こんにちは、ゲストユーザーです。現在はレベル 2 です。「次へ」、リセット、または「キャンセル」と言ってください。
ユーザーのクエリ 次へ] をタップします。
ExampleAction レスポンス 現在はレベル 3 です。
ユーザーのクエリ 退出] をタップします。