Spazio di archiviazione domestico

In una chiamata webhook, puoi memorizzare i valori dei parametri in più sessioni in della stessa abitazione (in base a Home Graph) nello spazio di archiviazione della casa. L'azione può e poi utilizzare i valori archiviati in un secondo momento in prompt e condizioni e il webhook può accedere ai valori nello spazio di archiviazione della casa per un nucleo familiare specifico quando necessario.

Lo stato di archiviazione della casa viene passato in una richiesta app.handle() e viene archiviato nell'oggetto home.

Limitazioni

Lo spazio di archiviazione della casa non può essere utilizzato con i dispositivi mobili, poiché non fanno parte di una casa Grafico. Nel codice webhook, utilizza la funzionalità del dispositivo HOME_STORAGE alla logica di business in base alle capacità del dispositivo dell'utente.

Devi attivare l'utilizzo dello spazio di archiviazione della casa:

  1. Nella console di Actions, vai a Deploy > Informazioni sulla directory.
  2. Nella sezione Informazioni aggiuntive, seleziona la casella Casa. spazio di archiviazione.
di Gemini Advanced.

Leggere e scrivere dati in un nucleo familiare

Per aggiornare o impostare un nuovo valore nello spazio di archiviazione della casa, assegna il valore a params campo dell'oggetto home in una chiamata webhook. Nell'esempio che segue imposta "exampleColor" al "rosso" nello spazio di archiviazione della casa:

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"
      }
    }
  }
}
    

Per accedere ai dati archiviati nello spazio di archiviazione di Google Home, assegnali a una variabile in un webhook chiamata. L'esempio seguente recupera un valore da "exampleColor" a casa spazio di archiviazione:

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"
      }
    }
  }
}
    

Per cancellare un valore salvato in precedenza, imposta il valore su null in una chiamata webhook. L'esempio seguente cancella il valore di "exampleColor" nello spazio di archiviazione della casa:

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": {}
    }
  }
}
    

Fare riferimento ai valori archiviati all'interno dei prompt

Puoi fare riferimento ai valori archiviati nello spazio di archiviazione di casa in una richiesta. Come riferimento il valore, utilizza $home.params.PARAMETER_NAME sintassi, dove PARAMETER_NAME è il nome specificato nella quando il parametro è stato impostato.

Ad esempio, in precedenza hai memorizzato un valore del colore nello spazio di archiviazione della casa come parametro exampleColor. Per accedere a quel valore in un prompt, devi fare riferimento utilizzando $home.params.exampleColor:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $home.params.exampleColor."
      }]
    }
  }]
}
    

Fare riferimento ai valori archiviati all'interno delle condizioni

Puoi anche fare riferimento ai valori archiviati nello spazio di archiviazione di casa in condizioni. A fare riferimento al valore, utilizzare l'home.params.PARAMETER_NAME sintassi, dove PARAMETER_NAME è il nome specificato nella quando il parametro è stato impostato.

Ad esempio, in precedenza hai memorizzato un valore del colore nello spazio di archiviazione della casa come parametro exampleColor e vuoi associarlo al valore "red" in un . Nella tua condizione, fai riferimento al valore memorizzato utilizzando home.params.exampleColor. L'espressione della condizione ha quindi il seguente aspetto: questo:

Sintassi delle condizioni

home.params.exampleColor == "red"
    

Scadenza dei dati di archiviazione della casa

I dati nello spazio di archiviazione della casa vengono cancellati dopo 90 giorni consecutivi in cui l'azione non è stata eseguita richiamato. Richiamare l'azione su qualsiasi dispositivo associato a Home Graph reimposta il timer di 90 giorni. Se una struttura Home Graph viene eliminata, i dati di archiviazione della casa corrispondenti vengono cancellati.

Per le Azioni che utilizzano lo spazio di archiviazione della casa, i gestori della struttura di Home Graph possono cancellare i dati della schermata Home spazio di archiviazione per le strutture che gestisce dalla pagina dell'azione nella directory dell'assistente:

  1. Individua e seleziona l'azione per cui vuoi visualizzare o liberare lo spazio di archiviazione dell'utente.
  2. Scorri fino in fondo alla pagina:
    • Per rimuovere i dati archiviati per te nello spazio di archiviazione domestico, fai clic su Interrompi action_name. non ricordarmi di me.
di Gemini Advanced.

Quando il gestore di un dispositivo lo dissocia dalla struttura, lo spazio di archiviazione della casa viene a sua volta dissociato. I dati dello spazio di archiviazione della casa continuano a essere associati a un dispositivo anche se il gestore della struttura cambia, a meno che non venga cancellato da un gestore della struttura.

Dati di archiviazione della casa nel simulatore

Quando testi l'azione utilizzando il simulatore nella console di Actions: che i dati memorizzati nello spazio di archiviazione di casa si comportano in modo leggermente diverso rispetto a un dispositivo. Poiché il simulatore è considerato parte del suo Home Graph, i dati non rimangono memorizzati su altri dispositivi presenti nella tua rete. Inoltre, la home page I dati di archiviazione non vengono mantenuti tra una sessione e l'altra quando l'opzione Simula utente sia abilitata.

Esempio di interazione

Ecco un esempio di interazione di un utente che ha eseguito l'accesso alla prima chiamata a l'azione:

Query utente Hey Google, parla con ExampleAction.
Risposta dell'assistente Recupero di ExampleAction.
Risposta dell'assistente Tieni presente che ExampleAction viene salvato ogni volta che lo riproduci, quindi gli altri membri del nucleo familiare possono riprendere da dove avevi interrotto.
Risposta di ExampleAction Ciao utente verificato. Sei al livello 0. Di' Avanti, Reimposta o Annulla.
Query utente Avanti.
Risposta di ExampleAction Sei al livello 1.
Query utente Abbandona.

Quando lo stesso utente verificato torna all'azione dopo un po' di tempo:

Query utente Hey Google, parla con ExampleAction.
Risposta dell'assistente Recupero di ExampleAction.
Risposta di ExampleAction Ciao utente verificato. Sei al livello 1. Di' Avanti, Reimposta o Annulla.
Query utente Avanti.
Risposta di ExampleAction Sei al livello 2.
Query utente Abbandona.

Il giorno successivo, un utente non verificato interagisce con l'azione su un altro dispositivo appartenenti allo stesso nucleo familiare (come specificato nell'Home Graph).

Query utente Hey Google, parla con ExampleAction.
Risposta dell'assistente Recupero di ExampleAction.
Risposta dell'assistente Tieni presente che ExampleAction viene salvato ogni volta che lo riproduci, quindi gli altri membri del nucleo familiare possono riprendere da dove avevi interrotto.
Risposta di ExampleAction Ciao utente ospite. Sei al livello 2. Di' Avanti, Reimposta o Annulla.
Query utente Avanti.
Risposta di ExampleAction Sei al livello 3.
Query utente Abbandona.