Almacenamiento del usuario

En una llamada de webhook, puedes almacenar valores de parámetros para un usuario específico en en el almacenamiento del usuario. Luego, tu acción puede usar esos valores almacenados mensajes y condiciones, y el código de webhook puede acceder a los valores del almacenamiento del usuario para un usuario específico cuando sea necesario.

El estado del almacenamiento del usuario se pasa en una solicitud app.handle() y se almacena en el objeto user.

Lee y escribe datos en diferentes conversaciones

Para actualizar o establecer un nuevo valor en el almacenamiento del usuario, asigna el valor a params del objeto user en una llamada de webhook. En el siguiente ejemplo, se configura “ejemploColor” a "rojo" en el almacenamiento del usuario:

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

Para acceder a los datos almacenados en el almacenamiento del usuario, asígnalos a una variable en un webhook llamada. En el siguiente ejemplo, se recupera un valor de “exampleColor”. usuario almacenamiento:

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

Para borrar un valor guardado anteriormente, establece el valor en null en una llamada de webhook. En el siguiente ejemplo, se borra el valor de “exampleColor”. en el almacenamiento del usuario:

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

Haz referencia a valores almacenados en instrucciones

Puedes hacer referencia a los valores almacenados en el almacenamiento del usuario mediante un mensaje. Para hacer referencia al valor, usa la sintaxis $user.params.PARAMETER_NAME, en la que PARAMETER_NAME es el nombre que se asigna en el webhook cuando se configuró el parámetro de configuración.

Por ejemplo, antes almacenaste un valor de color en el almacenamiento del usuario como el parámetro exampleColor. Para acceder a ese valor en una instrucción, debes hacer referencia a ese con $user.params.exampleColor:

JSON

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

Cómo hacer referencia a valores almacenados en las condiciones

También puedes hacer referencia a valores almacenados en el almacenamiento del usuario en conditions. Para hacer referencia al valor, usa user.params.PARAMETER_NAME sintaxis, en la que PARAMETER_NAME es el nombre dado en la webhook cuando se configuró el parámetro.

Por ejemplo, antes almacenaste un valor de color en el almacenamiento del usuario como el parámetro exampleColor y quieres hacerla coincidir con el valor "rojo" en una estado. En tu condición, debes hacer referencia al valor almacenado usando user.params.exampleColor La expresión de condición se ve así:

Sintaxis de las condiciones

user.params.exampleColor == "red"
    

Vencimiento de los datos de almacenamiento del usuario

En el caso de los usuarios verificados, los datos almacenados en el almacenamiento del usuario vencen en función de su Web y App Activity y también se puede borrar con la propia Action. En el caso de los usuarios que no están verificados, el Asistente borrará el contenido de su almacenamiento en el final de la conversación.

Actions on Google establece el estado de verificación del usuario al comienzo de cada conversación basada en diversos indicadores cuando comienza la conversación. Como Por ejemplo, un usuario que accedió a Asistente de Google desde su dispositivo móvil tiene un estado de verificación de VERIFIED.

A continuación, se indican los posibles motivos por los que un usuario puede tener un estado de verificación de GUEST

  • El usuario tiene desactivados los resultados personales.
  • El usuario inhabilitó las campañas Web & Actividad en apps. Ten en cuenta que es posible que los usuarios tengan inhabilitado este parámetro de configuración a nivel del dominio.
  • Si un dispositivo tiene habilitado Voice Match y la coincidencia falla o el usuario invoca al Asistente sin usar la voz (por ejemplo, mantener presionado un dispositivo Nest Home dispositivo).
  • El usuario no accedió.

Revisa siempre el estado de verificación del usuario antes de almacenar datos con el usuario almacenamiento para evitar que los usuarios invitados interactúen con una función que fallará para ellos.

Visibilidad para los usuarios

Como usuario, puedes ver los datos almacenados en tu almacenamiento de usuario para las acciones que invoques. También puedes quitar los datos almacenados en el almacenamiento del usuario desde una acción específica o para que el servicio deje de recordarte.

Para ver los datos almacenados o impedir que un servicio te recuerde, sigue estos pasos: pasos:

  1. Ve al directorio del Asistente.
  2. Busca y selecciona la acción que deseas ver o para la que deseas liberar espacio de almacenamiento de usuario.
  3. Desplázate hasta el final de la página:
    • Para ver el contenido del almacenamiento del usuario, haz clic en [Ver datos almacenados].
    • Para restablecer los datos almacenados en el almacenamiento de usuario del servicio, haz clic en Restablecer.
    • Para quitar los datos almacenados en el almacenamiento de tu usuario y detener el servicio para recordarte, haz clic en No permitir que action_name me recuerde.