Spazio di archiviazione utente

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:

  1. Vai alla directory dell'assistente.
  2. Individua e seleziona l'azione per cui vuoi visualizzare o liberare lo spazio di archiviazione dell'utente.
  3. 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.