Espace de stockage utilisateur

Dans un appel webhook, vous pouvez stocker les valeurs de paramètre d'un utilisateur spécifique sur dans l'espace de stockage utilisateur. Votre action peut alors utiliser ces valeurs stockées plus tard dans les requêtes et les conditions, et le code du webhook peut accéder aux valeurs de l'espace de stockage utilisateur pour un utilisateur spécifique si nécessaire.

L'état de l'espace de stockage utilisateur est transmis dans une requête app.handle() et stocké. dans l'objet user.

Lire et écrire des données dans plusieurs conversations

Pour modifier ou définir une nouvelle valeur dans l'espace de stockage utilisateur, attribuez la valeur au params de l'objet user dans un appel webhook. L'exemple suivant définit "exempleCouleur" à "rouge" dans l'espace de stockage utilisateur:

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

Pour accéder aux données stockées dans l'espace de stockage de l'utilisateur, attribuez-les à une variable dans un webhook . L'exemple suivant récupère une valeur de "exampleColor" pour l'utilisateur stockage:

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

Pour effacer une valeur enregistrée précédemment, définissez la valeur sur null dans un appel webhook. L'exemple suivant efface la valeur de "exampleColor" dans l'espace de stockage utilisateur:

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

Référencer des valeurs stockées dans les requêtes

Vous pouvez référencer les valeurs stockées dans l'espace de stockage de l'utilisateur dans une requête. Pour référencer utilisez la syntaxe $user.params.PARAMETER_NAME, où PARAMETER_NAME est le nom donné au webhook lorsque le a été défini.

Par exemple, vous avez précédemment stocké une valeur de couleur dans l'espace de stockage de l'utilisateur paramètre exampleColor. Pour accéder à cette valeur dans une requête, vous la référencez à l'aide de $user.params.exampleColor:

JSON

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

Référencer des valeurs stockées dans des conditions

Vous pouvez également référencer des valeurs stockées dans l'espace de stockage de l'utilisateur dans des conditions. À référencer la valeur, utilisez user.params.PARAMETER_NAME , où PARAMETER_NAME est le nom donné dans le lorsque le paramètre a été défini.

Par exemple, vous avez précédemment stocké une valeur de couleur dans l'espace de stockage de l'utilisateur exampleColor et vous souhaitez l'associer à la valeur "red" dans un . Dans votre condition, vous référencez la valeur stockée user.params.exampleColor Votre expression de condition se présente alors comme suit:

Syntaxe de la condition

user.params.exampleColor == "red"
    

Expiration des données de stockage de l'utilisateur

Pour les utilisateurs validés, les données stockées dans leur espace de stockage expirent en fonction de leur Web et paramètres d'activité dans l'application et peuvent également être effacés par l'action elle-même. Pour les utilisateurs non validés, l'Assistant efface le contenu de l'espace de stockage utilisateur à la fin de la conversation.

Actions on Google définit l'état de validation de l'utilisateur au début de chaque conversation en fonction de divers indicateurs lorsqu'elle débute. En tant que Imaginons qu'un utilisateur connecté à l'Assistant Google sur son appareil mobile état de validation de VERIFIED.

Voici quelques raisons pour lesquelles un utilisateur peut avoir l'état de validation GUEST:

  • les résultats personnels sont désactivés ;
  • L'utilisateur a désactivé ses services Web et Activité dans les applications. Gardez à l'esprit que les utilisateurs peuvent avoir ce paramètre désactivé au niveau du domaine.
  • Si Voice Match est activé sur un appareil, et que la correspondance échoue ou que l'utilisateur appelle l'Assistant sans utiliser sa voix (par exemple en appuyant de manière prolongée sur un appareil).
  • L'utilisateur n'est pas connecté.

Vérifiez toujours l'état de validation de l'utilisateur avant de stocker des données avec l'utilisateur d'espace de stockage pour empêcher les utilisateurs invités d'interagir avec une fonctionnalité qui ne fonctionnera pas pour eux.

Visibilité pour les utilisateurs

En tant qu'utilisateur, vous pouvez afficher les données stockées dans votre espace de stockage utilisateur pour les actions que vous appelez. Vous pouvez également supprimer les données stockées dans l'espace de stockage de l'utilisateur d'une action ou empêcher le service de se souvenir de vous.

Pour consulter les données stockées ou pour empêcher un service de se souvenir de vous, procédez comme suit : étapes:

  1. Accédez au répertoire de l'Assistant.
  2. Recherchez et sélectionnez l'action pour laquelle vous souhaitez afficher ou vider l'espace de stockage utilisateur.
  3. Faites défiler la page jusqu'en bas:
    • Pour afficher le contenu de votre espace de stockage utilisateur, cliquez sur [Afficher les données stockées].
    • Pour réinitialiser les données stockées dans votre espace de stockage utilisateur pour le service, cliquez sur Réinitialiser.
    • Pour supprimer les données stockées dans l'espace de stockage de l'utilisateur et arrêter le service cliquez sur Empêcher action_name de se souvenir de moi.