Spazio di archiviazione utente

In una chiamata webhook, puoi memorizzare i valori dei parametri per un utente specifico in tutte le sessioni nello spazio di archiviazione utente. L'Azione può quindi utilizzare i valori archiviati in un secondo momento nei messaggi e nelle condizioni e il codice webhook può accedere ai valori nello spazio di archiviazione dell'utente per un utente specifico, se necessario.

Lo stato dello spazio di archiviazione dell'utente viene passato in una richiesta app.handle() e archiviato nell'oggetto user.

Leggere e scrivere dati nelle conversazioni

Per aggiornare o impostare un nuovo valore nello spazio di archiviazione degli utenti, assegna il valore al campo params dell'oggetto user in una chiamata webhook. L'esempio seguente imposta "exampleColor" su "red" nello spazio di archiviazione dell'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 una chiamata webhook. L'esempio seguente recupera un valore da "exampleColor" nello spazio di archiviazione dell'utente:

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, impostalo su null in una chiamata webhook. L'esempio seguente cancella il valore di "exampleColor" nello spazio di archiviazione dell'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 memorizzati nello spazio di archiviazione dell'utente in un messaggio. Per fare riferimento al valore, utilizza la sintassi $user.params.PARAMETER_NAME, dove PARAMETER_NAME è il nome assegnato nel webhook quando è stato impostato il parametro.

Ad esempio, hai precedentemente archiviato un valore di colore nello spazio di archiviazione utente come parametro exampleColor. Per accedere a quel valore in un prompt, devi fare riferimento a tale valore utilizzando $user.params.exampleColor:

JSON

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

Fare riferimento ai valori archiviati nelle condizioni

Puoi anche fare riferimento ai valori memorizzati nello spazio di archiviazione dell'utente in conditions. Per fare riferimento al valore, utilizza la sintassi user.params.PARAMETER_NAME, dove PARAMETER_NAME è il nome assegnato nel webhook quando è stato impostato il parametro.

Ad esempio, in precedenza hai archiviato un valore di colore nello spazio di archiviazione dell'utente come parametro exampleColor e vuoi che corrisponda al valore "red" in una condizione. Nella condizione, fai riferimento al valore archiviato utilizzando user.params.exampleColor. L'espressione della condizione sarà quindi simile alla seguente:

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 degli utenti scadono in base alle loro impostazioni di Attività web e app e possono essere cancellati anche dall'Azione stessa. Per gli utenti non verificati, l'assistente cancella i contenuti dello spazio di archiviazione dell'utente al termine della conversazione.

Actions on Google imposta lo stato di verifica dell'utente all'inizio di ogni conversazione in base a una serie di indicatori quando inizia la conversazione. Ad esempio, un utente che ha eseguito l'accesso all'Assistente Google sul proprio dispositivo mobile ha uno stato di verifica pari a VERIFIED.

Di seguito sono riportati i possibili motivi per cui lo stato di verifica di un utente è GUEST:

  • L'utente ha disattivato i risultati personali.
  • L'utente ha disattivato la propria Attività web e app. Tieni presente che per alcuni utenti questa impostazione potrebbe essere disattivata a livello di dominio.
  • Se su un dispositivo è attiva la funzionalità Voice Match e la corrispondenza non va a buon fine o l'utente chiama l'assistente senza usare la voce (ad esempio una pressione prolungata su un dispositivo per la Casa Nest).
  • L'utente non ha eseguito l'accesso.

Controlla sempre lo stato della verifica dell'utente prima di archiviare i dati con lo spazio di archiviazione dell'utente per evitare che gli utenti ospiti interagiscano con una funzionalità che non riuscirà a loro utilizzare.

Visibilità per gli utenti

Come utente, puoi visualizzare i dati archiviati nel tuo spazio di archiviazione utente per le azioni richiamate. Puoi anche rimuovere da un'azione specifica i dati archiviati nello spazio di archiviazione dell'utente o interrompere la memorizzazione delle tue informazioni personali nel servizio.

Per visualizzare i dati archiviati o per interrompere la memorizzazione delle tue informazioni in un servizio, procedi nel seguente modo:

  1. Vai alla directory dell'assistente.
  2. Trova e seleziona l'Azione per cui vuoi visualizzare o per cui vuoi cancellare lo spazio di archiviazione dell'utente.
  3. Scorri fino in fondo alla pagina:
    • Per visualizzare i contenuti dello spazio di archiviazione dell'utente, fai clic su [Visualizza i dati archiviati].
    • Per reimpostare i dati archiviati nello spazio di archiviazione dell'utente per il servizio, fai clic su Reimposta.
    • Per rimuovere i dati archiviati nel tuo spazio di archiviazione dell'utente e interrompere la memorizzazione delle tue informazioni da parte del servizio, fai clic su Interrompi la memorizzazione delle mie informazioni personali da parte di action_name.