Tokens de sessão

Selecione a plataforma: Android iOS JavaScript Serviço da Web

O Place Autocomplete usa tokens de sessão para agrupar as fases de consulta e seleção de uma pesquisa de preenchimento automático do usuário em uma sessão discreta para fins de faturamento. A sessão começa quando o usuário começa a digitar uma consulta e termina quando seleciona um lugar e faz uma chamada para o Place Details. Cada sessão pode ter várias consultas de preenchimento automático, seguidas por uma seleção de lugar. As chaves de API usadas para cada solicitação em uma sessão precisam pertencer ao mesmo projeto do Console do Google Cloud. Após a conclusão de uma sessão, o token não é mais válido. Seu app precisa gerar um novo token para cada sessão. Se o parâmetro sessiontoken for omitido ou você reutilizar um token, a sessão será cobrada como se nenhum token de sessão tivesse sido fornecido (cada solicitação é faturada separadamente).

Recomendamos as seguintes diretrizes:

  • Usar tokens de sessão para todas as sessões de preenchimento automático.
  • Gerar um novo token para cada sessão.
  • Verifique se as chaves de API usadas para todas as solicitações do Place Autocomplete e do Place Details em uma sessão pertencem ao mesmo projeto do console do Google Cloud.
  • Transmita um token de sessão exclusivo para cada sessão nova. Se você usar o mesmo token para mais de uma sessão, cada solicitação será faturada individualmente.

Também é possível omitir o token de sessão de preenchimento automático de uma solicitação. Se o token de sessão for omitido, cada solicitação será faturada separadamente, acionando a SKU Autocomplete – por solicitação. Se você reutilizar um token, a sessão será considerada inválida, e as solicitações serão cobradas como se nenhum token de sessão tivesse sido fornecido.

Exemplo

À medida que o usuário digita uma consulta, uma solicitação de preenchimento automático é chamada a cada poucos toques de tecla (não por caractere), e uma lista de possíveis resultados é retornada. Quando o usuário faz uma seleção na lista de resultados, a seleção conta como uma solicitação, e todas as solicitações feitas durante a pesquisa são agrupadas e contadas como uma única solicitação. Se o usuário selecionar um lugar, a consulta de pesquisa ficará disponível sem custos financeiros, e apenas a solicitação de dados do lugar será cobrada. Se o usuário não fizer uma seleção alguns minutos após o início da sessão, somente a consulta de pesquisa será cobrada.

Vamos analisar esse fluxo de eventos da perspectiva de um app.

  1. Um usuário começa a digitar uma consulta para pesquisar "Paris, França".
  2. Ao detectar a entrada do usuário, o app cria um novo token de sessão, "Token A".
  3. À medida que o usuário digita, a API faz uma solicitação de preenchimento automático a cada poucos caracteres, mostrando uma nova lista de possíveis resultados para cada um:
    "P"
    "Par"
    "Paris",
    "Paris, S."
  4. Quando o usuário faz uma seleção:
    • Todas as solicitações resultantes da consulta são agrupadas e adicionadas à sessão representada por "Token A", como uma única solicitação.
    • A seleção do usuário é contada como uma solicitação do Place Details e é adicionada à sessão representada pelo "Token A".
  5. A sessão é concluída, e o app descarta o "Token A".

Para mais informações sobre como as solicitações do Autocomplete são faturadas, consulte Uso e faturamento.

Criar tokens de sessão

Para criar um token de sessão, chame AutocompleteSessionToken.newInstance().