Armazenamento do usuário

Em uma chamada de webhook, é possível armazenar valores de parâmetros para um usuário específico sessões no armazenamento do usuário. Sua ação pode usar esses valores armazenados mais tarde solicitações e condições, e o código do webhook pode acessar valores no armazenamento do usuário para um usuário específico quando necessário.

O estado do armazenamento do usuário é transmitido em uma solicitação app.handle() e armazenado. no objeto user.

Ler e gravar dados em conversas

Para atualizar ou definir um novo valor no armazenamento do usuário, atribua o valor a params. campo do objeto user em uma chamada de webhook. O exemplo a seguir define "exemploCor" para "vermelho" no armazenamento do usuário:

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 acessar dados no armazenamento do usuário, atribua-os a uma variável em um webhook a chamada. O exemplo a seguir recupera um valor de "exampleColor" no usuário armazenamento:

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 limpar um valor salvo anteriormente, defina o valor como null em uma chamada de webhook. O exemplo a seguir limpa o valor de "exampleColor" no armazenamento do usuário:

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

Referenciar valores armazenados em prompts

É possível referenciar valores armazenados no armazenamento do usuário em um comando. Para fazer referência ao , use a sintaxe $user.params.PARAMETER_NAME, em que PARAMETER_NAME é o nome dado no webhook quando o foi definido.

Por exemplo, você armazenou anteriormente um valor de cor no armazenamento do usuário como o parâmetro exampleColor. Para acessar esse valor em um comando, você faz referência a esse usando $user.params.exampleColor:

JSON

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

Fazer referência a valores armazenados em condições

Também é possível referenciar valores armazenados no armazenamento do usuário em conditions. Para referenciar o valor, use o método user.params.PARAMETER_NAME sintaxe, em que PARAMETER_NAME é o nome dado na webhook quando o parâmetro foi definido.

Por exemplo, você armazenou anteriormente um valor de cor no armazenamento do usuário como o parâmetro exampleColor, e você quer fazer a correspondência com o valor "red" em um condição. Na condição, você faz referência ao valor armazenado usando user.params.exampleColor: Sua expressão de condição terá esta aparência:

Sintaxe da condição

user.params.exampleColor == "red"
    

Expiração dos dados de armazenamento do usuário

Para usuários verificados, os dados armazenados no armazenamento do usuário expiram com base no Web e Configurações de Atividade no app e também podem ser apagadas pela própria ação. Para os usuários que não são verificados, o Google Assistente limpa o conteúdo do armazenamento do usuário em ao fim da conversa.

O Actions on Google define o status de verificação do usuário no início de cada conversa com base em vários indicadores no início da conversa. Conforme Por exemplo, um usuário conectado ao Google Assistente no dispositivo móvel tem status de verificação de VERIFIED.

Estes são os possíveis motivos para um usuário ter um status de verificação de GUEST:

  • Os resultados personalizados estão desativados.
  • O usuário desativou as configurações Web e Atividade em apps. Lembre-se de que algumas os usuários podem ter essa configuração desativada no nível do domínio.
  • Se o Voice Match estiver ativado em um dispositivo e a correspondência falhar ou o usuário invocar o Assistente sem usar a voz (como tocar e manter pressionado um Nest Home dispositivo).
  • O usuário não fez login.

Sempre confira o status de verificação do usuário antes de armazenar dados com ele para evitar que usuários convidados interajam com um recurso que falhará para eles.

Visibilidade para os usuários

Como usuário, é possível conferir os dados armazenados no armazenamento do usuário para as ações que você invoca. Também é possível remover os dados armazenados no armazenamento do usuário de uma ação específica ou fazer com que o serviço não se lembre de você.

Para visualizar seus dados armazenados ou impedir que um serviço se lembre de você, siga estas etapas:

  1. Acesse o diretório do Google Assistente.
  2. Encontre e selecione a ação que você quer conferir ou limpar o armazenamento do usuário.
  3. Role até a parte de baixo da página:
    • Para acessar o conteúdo do armazenamento do usuário, clique em [Ver dados armazenados].
    • Para redefinir os dados no armazenamento do usuário do serviço, clique em Redefinir.
    • Para remover dados no armazenamento do usuário e interromper o serviço se lembrar de você, clique em Impedir que action_name se lembre de mim.