O Place Autocomplete usa tokens de sessão para agrupar as fases de consulta e seleção de uma pesquisa de preenchimento automático de um 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 é concluída quando ele seleciona um lugar e uma chamada para o Place Details é feita. 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 será faturada separadamente).
Recomendamos as seguintes diretrizes:
- Use tokens de sessão em todas as sessões de preenchimento automático.
- Gere 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 nova sessão. Se você usar o mesmo token em mais de uma sessão, cada solicitação será faturada individualmente.
É possível omitir o token da sessão de preenchimento automático de uma solicitação. Se o token da sessão for omitido, cada solicitação será faturada separadamente, o que vai acionar a SKU Autocomplete - Per Request. 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
Conforme o usuário digita uma consulta, uma solicitação de preenchimento automático é chamada a cada poucos pressionamentos 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 estará disponível sem custos financeiros, e apenas a solicitação de dados de 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 examinar esse fluxo de eventos da perspectiva de um app.
- Um usuário começa a digitar uma consulta para pesquisar "Paris, França".
- Ao detectar a entrada do usuário, o app cria um novo token de sessão, "quot;Token A"".
- Conforme o usuário digita, a API faz uma solicitação de preenchimento automático em intervalos de alguns caracteres, exibindo uma nova lista de possíveis resultados para cada um:
"P"
"Par"
"Paris,"
"Paris, Fr"
- Quando o usuário seleciona uma opçã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 é contabilizada como uma solicitação de Place Detail e adicionada à sessão representada por "Token A"
- A sessão é concluída e o app descarta o "A" do 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
GMSAutocompleteSessionToken.init()
.