Tokens de sesión

Selecciona la plataforma: Android iOS JavaScript Servicio web

Place Autocomplete usa tokens de sesión para agrupar las fases de consulta y selección de la búsqueda con autocompletado de un usuario en una sesión discreta con fines de facturación. La sesión comienza cuando el usuario comienza a escribir una consulta y finaliza cuando selecciona un lugar y se realiza una llamada a Place Details. Cada sesión puede tener varias consultas de autocompletado, seguidas de una selección de lugar. Las claves de API que se usan para cada solicitud dentro de una sesión deben pertenecer al mismo proyecto de la consola de Google Cloud. Una vez que finaliza una sesión, el token deja de ser válido, y tu app debe generar un token nuevo para cada sesión. Si se omite el parámetro sessiontoken, o si reutilizas un token de sesión, la sesión se cobrará como si no se hubiera proporcionado un token de sesión (cada solicitud se factura por separado).

Recomendamos los siguientes lineamientos:

  • Usa tokens de sesión para todas las sesiones de autocompletado.
  • Genera un token nuevo para cada sesión.
  • Asegúrate de que las claves de API utilizadas para todas las solicitudes de Place Autocomplete y Place Details dentro de una sesión pertenezcan al mismo proyecto de la consola de Google Cloud.
  • Asegúrate de pasar un token de sesión único para cada sesión nueva. Usar el mismo token en más de una sesión hará que cada solicitud se facture de forma individual.

De manera opcional, puedes omitir el token de sesión de autocompletado de una solicitud. Si se omite el token de sesión, cada solicitud se factura por separado, lo que activa el SKU de Autocomplete, por solicitud. Si vuelves a usar un token de sesión, la sesión se considera no válida y las solicitudes se cobran como si no se hubiera proporcionado un token de sesión.

Ejemplo

A medida que el usuario escribe una consulta, se llama a una solicitud de autocompletado cada pocas veces con una tecla (no por carácter) y se muestra una lista de resultados posibles. Cuando el usuario hace una selección en la lista de resultados, la selección cuenta como una solicitud, y todas las solicitudes realizadas durante la búsqueda se agrupan y cuentan como una sola solicitud. Si el usuario selecciona un lugar, la búsqueda estará disponible sin cargo y solo se cobrará la solicitud de datos de lugar. Si el usuario no hace una selección unos minutos antes del comienzo de la sesión, solo se cobrará la búsqueda.

Examinemos este flujo de eventos desde la perspectiva de una app.

  1. Un usuario comienza a escribir una consulta para buscar "París, Francia".
  2. Cuando se detecta la entrada del usuario, la app crea un nuevo token de sesión, “Token A”.
  3. A medida que el usuario escribe, la API realiza una solicitud de autocompletado cada pocos caracteres y muestra una nueva lista de resultados potenciales para cada uno:
    "P"
    "Par"
    "París",
    "París, fra"
  4. Cuando el usuario realiza una selección, ocurre lo siguiente:
    • Todas las solicitudes resultantes de la consulta se agrupan y se agregan a la sesión representada por el “Token A”, como una sola solicitud.
    • La selección del usuario se cuenta como una solicitud de Place Details y se agrega a la sesión representada por el "Token A".
  5. La sesión finaliza y la aplicación descarta el "Token A".

Para obtener más información sobre cómo se facturan las solicitudes de Autocomplete, consulta Uso y facturación.

Crea tokens de sesión

Para crear un token de sesión, llama a AutocompleteSessionToken.newInstance().