Token di sessione

Seleziona la piattaforma: Android iOS JavaScript Servizio web

Place Autocomplete utilizza i token di sessione per raggruppare la query e le fasi di selezione della ricerca con completamento automatico di un utente in una sessione discreta ai fini della fatturazione. La sessione inizia quando l'utente inizia a digitare una query e si conclude quando seleziona un luogo e viene effettuata una chiamata a Place Details. Ogni sessione può avere più query di completamento automatico, seguite da un solo luogo. Le chiavi API utilizzate per ogni richiesta all'interno di una sessione devono appartenere allo stesso progetto della console Google Cloud. Una volta terminata una sessione, il token non è più valido. L'app deve generare un nuovo token per ogni sessione. Se il parametro sessiontoken viene omesso o se riutilizzi un token di sessione, la sessione viene addebitata come se non fosse stato fornito un token di sessione (ogni richiesta viene fatturata separatamente).

Consigliamo le seguenti linee guida:

  • Utilizza i token di sessione per tutte le sessioni di completamento automatico.
  • Genera un nuovo token per ogni sessione.
  • Assicurati che le chiavi API utilizzate per tutte le richieste Place Autocomplete e Place Details all'interno di una sessione appartengano allo stesso progetto della console Google Cloud.
  • Assicurati di passare un token di sessione univoco per ogni nuova sessione. L'utilizzo dello stesso token per più sessioni comporterà l'addebito individuale di ogni richiesta.

Facoltativamente, puoi omettere da una richiesta il token di sessione di completamento automatico. Se il token di sessione viene omesso, ogni richiesta viene fatturata separatamente, attivando lo SKU Completamento automatico - Per richiesta. Se riutilizzi un token di sessione, la sessione viene considerata non valida e le richieste vengono addebitate come se non fosse stato fornito alcun token di sessione.

Esempio

Man mano che l'utente digita una query, viene richiamata una richiesta di completamento automatico a ogni pressione di un tasto (non per carattere) e viene restituito un elenco dei possibili risultati. Quando l'utente effettua una selezione dall'elenco dei risultati, la selezione viene conteggiata come una richiesta e tutte le richieste effettuate durante la ricerca vengono raggruppate e conteggiate come una singola richiesta. Se l'utente seleziona un luogo, la query di ricerca è disponibile senza costi aggiuntivi e viene addebitata solo la richiesta di dati del luogo. Se l'utente non effettua una selezione entro pochi minuti dall'inizio della sessione, viene addebitata solo la query di ricerca.

Esaminiamo questo flusso di eventi dal punto di vista di un'app.

  1. Un utente inizia a digitare una query per cercare "Parigi, Francia".
  2. Dopo aver rilevato l'input dell'utente, l'app crea un nuovo token di sessione, "Token A".
  3. Man mano che l'utente digita, l'API effettua una richiesta di completamento automatico a intervalli di pochi caratteri, mostrando un nuovo elenco di risultati potenziali per ognuno:
    "P"
    "Par"
    "Parigi,"
    "Parigi, Fr"
  4. Quando l'utente effettua una selezione:
    • Tutte le richieste risultanti dalla query vengono raggruppate e aggiunte alla sessione rappresentata da "Token A", come singola richiesta.
    • La selezione dell'utente viene conteggiata come una richiesta Dettagli luogo e aggiunta alla sessione rappresentata dal "Token A".
  5. La sessione è terminata e l'app ignora "Token A".

Per ulteriori informazioni su come vengono fatturate le richieste di completamento automatico, consulta Utilizzo e fatturazione.

Creazione di token di sessione

Per creare un token di sessione, chiama AutocompleteSessionToken.newInstance().