In una chiamata webhook, puoi memorizzare i valori dei parametri per un utente specifico in di spazio di archiviazione dell'utente. L'azione può quindi utilizzare i valori memorizzati in un secondo momento a prompt e condizioni e il codice webhook può accedere ai valori nello spazio di archiviazione dell'utente per un utente specifico, se necessario.
Lo stato dell'archiviazione dell'utente viene passato in una richiesta app.handle()
e viene archiviato
nell'oggetto user
.
Leggere e scrivere dati nelle conversazioni
Per aggiornare o impostare un nuovo valore nello spazio di archiviazione utente, assegna il valore a params
campo dell'oggetto user
in una chiamata webhook. Gli esempi che seguono impostano
"Coloreesempio" al "rosso" di spazio di archiviazione utente:
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" } } } }
Per accedere ai dati archiviati nello spazio di archiviazione dell'utente, assegnali a una variabile in un webhook chiamata. L'esempio seguente recupera un valore da "exampleColor" dell'utente spazio di archiviazione:
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" } } } }
Per cancellare un valore salvato in precedenza, imposta il valore su null
in una chiamata webhook.
L'esempio seguente cancella il valore di "exampleColor" di spazio di archiviazione utente:
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" } } } }
Fare riferimento ai valori archiviati all'interno dei prompt
Puoi fare riferimento ai valori archiviati nello spazio di archiviazione dell'utente in un prompt. Per fare riferimento
utilizza la sintassi $user.params.PARAMETER_NAME
, dove
PARAMETER_NAME
è il nome assegnato nel webhook quando
è stato impostato.
Ad esempio, in precedenza hai memorizzato un valore colore nello spazio di archiviazione utente come
parametro exampleColor
. Per accedere a quel valore in un prompt, devi fare riferimento
utilizzando $user.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $user.params.exampleColor." }] } }] }
Fare riferimento ai valori archiviati all'interno delle condizioni
Puoi anche fare riferimento ai valori archiviati nello spazio di archiviazione utente in condizioni. A
fare riferimento al valore, utilizzare l'user.params.PARAMETER_NAME
sintassi, dove PARAMETER_NAME
è il nome specificato nella
quando il parametro è stato impostato.
Ad esempio, in precedenza hai memorizzato un valore colore nello spazio di archiviazione utente come
parametro exampleColor
e vuoi associarlo al valore "red" in un
. Nella tua condizione, fai riferimento al valore memorizzato utilizzando
user.params.exampleColor
. L'espressione della condizione avrà il seguente aspetto:
Sintassi delle condizioni
user.params.exampleColor == "red"
Scadenza dei dati di archiviazione dell'utente
Per gli utenti verificati, i dati archiviati nello spazio di archiviazione dell'utente scadono in base al loro Web e Impostazioni Attività nelle app e possono anche essere cancellate dall'azione stessa. Per gli utenti non verificati, l'assistente cancella i contenuti dello spazio di archiviazione utente in alla fine della conversazione.
Actions on Google imposta lo stato di verifica dell'utente all'inizio di ogni
conversazione in base a una serie di indicatori all'inizio della conversazione. Come
Ad esempio, un utente che ha eseguito l'accesso all'Assistente Google sul proprio dispositivo mobile ha una
stato della verifica di VERIFIED
.
Di seguito sono riportati i possibili motivi per cui un utente ha lo stato di verifica
GUEST
:
- L'utente ha disattivato i risultati personali.
- L'utente ha disattivato l'opzione Web & Attività nelle app. Tieni presente che gli utenti potrebbero avere disattivato questa impostazione a livello di dominio.
- Se su un dispositivo è attiva Voice Match e la corrispondenza non va a buon fine o l'utente richiama l'assistente senza usare i comandi vocali (ad esempio una pressione prolungata su una Casa Nest dispositivo).
- L'utente non ha eseguito l'accesso.
Controlla sempre lo stato della verifica dell'utente prima di archiviare i dati insieme all'utente spazio di archiviazione per impedire agli ospiti di interagire con una funzionalità che non riuscirà per loro.
Visibilità per gli utenti
In qualità di utente, puoi visualizzare i dati memorizzati nello spazio di archiviazione dell'utente per le azioni richiamate. Puoi anche rimuovere da un'azione specifica o da un'azione specifica impedire al servizio di memorizzare le tue informazioni.
Per visualizzare i dati memorizzati o per interrompere la memorizzazione dei dati personali da parte di un servizio, procedi nel seguente modo: passaggi:
- Vai alla directory dell'assistente.
- Individua e seleziona l'azione per cui vuoi visualizzare o liberare lo spazio di archiviazione dell'utente.
- Scorri fino in fondo alla pagina:
- Per visualizzare i contenuti dello spazio di archiviazione utente, fai clic su [Visualizza dati memorizzati].
- Per reimpostare i dati archiviati nello spazio di archiviazione dell'utente per il servizio, fai clic su Reimposta.
- Per rimuovere i dati archiviati nello spazio di archiviazione dell'utente e interrompere il servizio quando memorizzi le tue informazioni personali, fai clic su Non consentire più a action_name di memorizzare i miei dati.