Espace de stockage utilisateur

Dans un appel webhook, vous pouvez stocker les valeurs de paramètre d'un utilisateur spécifique sur plusieurs sessions dans l'espace de stockage utilisateur. Votre action peut ensuite utiliser ces valeurs stockées ultérieurement dans des invites et des conditions, et votre code de webhook peut accéder aux valeurs de l'espace de stockage utilisateur pour un utilisateur spécifique si nécessaire.

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

Lire et écrire des données dans les conversations

Pour mettre à jour ou définir une nouvelle valeur dans l'espace de stockage utilisateur, attribuez-la au champ params de l'objet user dans un appel webhook. L'exemple suivant définit "exampleColor" sur "red" 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 utilisateur, attribuez-les à une variable dans un appel webhook. L'exemple suivant récupère une valeur de "exampleColor" dans l'espace de stockage utilisateur:

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 précédemment enregistrée, définissez-la 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 des requêtes

Vous pouvez référencer des valeurs stockées dans l'espace de stockage utilisateur dans une invite. Pour référencer cette valeur, utilisez la syntaxe $user.params.PARAMETER_NAME, où PARAMETER_NAME est le nom donné dans le webhook 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 utilisateur en tant que paramètre exampleColor. Pour accéder à cette valeur dans une invite, vous devez la référencer à 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 utilisateur dans des conditions. Pour référencer cette valeur, utilisez la syntaxe user.params.PARAMETER_NAME, où PARAMETER_NAME est le nom donné dans le webhook 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 utilisateur en tant que paramètre exampleColor et vous souhaitez l'associer à la valeur "red" dans une condition. Dans votre condition, vous référencez la valeur stockée à l'aide de 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 l'espace de stockage utilisateur expirent en fonction de leurs paramètres d'activité sur le Web et les applications et peuvent également être effacées 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 au début de la conversation. Par exemple, l'état de validation d'un utilisateur connecté à l'Assistant Google sur son appareil mobile est VERIFIED.

Voici les raisons possibles pour lesquelles un utilisateur peut présenter l'état de validation GUEST:

  • l'utilisateur a désactivé les résultats personnels ;
  • L'utilisateur a désactivé le paramètre Activité sur le Web et les applications. N'oubliez pas que certains utilisateurs peuvent avoir désactivé ce paramètre au niveau du domaine.
  • si Voice Match est activé sur un appareil et que la mise en correspondance échoue ou que l'utilisateur appelle l'Assistant sans énoncer sa commande (en appuyant de manière prolongée sur un appareil Nest Home, par exemple).
  • L'utilisateur n'est pas connecté.

Vérifiez toujours l'état de validation de l'utilisateur avant de stocker des données dans l'espace de stockage utilisateur pour empêcher les utilisateurs invités d'interagir avec une fonctionnalité qui échouera 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 utilisateur d'une action spécifique ou empêcher le service de se souvenir de vous.

Pour afficher vos données stockées ou empêcher un service de se souvenir de vous, procédez comme suit:

  1. Accédez au répertoire de l'Assistant.
  2. Recherchez et sélectionnez l'action pour laquelle vous souhaitez afficher ou effacer l'espace de stockage de votre 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 l'espace de stockage de l'utilisateur pour le service, cliquez sur Réinitialiser.
    • Pour supprimer les données stockées dans votre espace de stockage utilisateur et empêcher le service de se souvenir de vous, cliquez sur Empêcher action_name de se souvenir de moi.