Webhook 呼び出しでは、同じパラメータの複数のセッションにまたがるパラメータ値を保存できます。 ホームグラフに基づくホーム ストレージ内の同じ世帯数。アクションで 保存された値を後でプロンプトや条件で使用し 特定の世帯の家庭用ストレージ内の値に、必要に応じてアクセスできます。
ホーム ストレージの状態は app.handle()
リクエストで渡され、保存されます。
home
オブジェクトで指定する必要があります。
制限事項
モバイル デバイスは家のメンバーではないため、ホーム ストレージは使用できません
グラフ。Webhook コードで、HOME_STORAGE
デバイス機能を使用します。
ユーザーのデバイスの機能に基づいてビジネス ロジックを分岐させることができます。
ホーム ストレージを使用するには、オプトインする必要があります。
- Actions Console で、[デプロイ] >ディレクトリ情報。
- [その他の情報] セクションで、ホーム] のチェックボックスをオンにします。 ストレージです。
家庭内のデータの読み取りと書き込み
ホーム ストレージの値を更新または設定するには、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 日間のタイマーがリセットされます。ホームグラフ構造を削除すると、 対応するホーム ストレージのデータが消去されます。
ホーム ストレージを使用するアクションの場合、ホームグラフ ストラクチャの管理者は家を消去できます 管理するストラクチャのストレージを、アシスタント ディレクトリのアクションのページから確認できます。
- ユーザー ストレージを表示または消去するアクションを見つけて選択します。
- ページの一番下までスクロールします。
<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 です。 |
ユーザーのクエリ | 退出] をタップします。 |