Token di sessione

Seleziona la piattaforma: Android iOS JavaScript Servizio web

Place Autocomplete utilizza i token di sessione per raggruppare le fasi di query e 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 una selezione di un luogo. Le chiavi API utilizzate per ogni richiesta all'interno di una sessione devono appartenere allo stesso progetto della console Google Cloud. Al termine di una sessione, il token non è più valido; l'app deve generare un token nuovo 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. Se utilizzi lo stesso token per più sessioni, ogni richiesta verrà fatturata singolarmente.

Facoltativamente, puoi omettere da una richiesta il token della sessione di completamento automatico. Se il token di sessione viene omesso, ogni richiesta viene fatturata separatamente, attivando lo SKU Autocomplete - Per Request. 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

Quando l'utente digita una query, viene richiamata una richiesta di completamento automatico a intervalli di pochi tasti (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. Una volta rilevato l'input dell'utente, l'app crea un nuovo token di sessione "Token A".
  3. Quando l'utente digita, l'API effettua una richiesta di completamento automatico a intervalli di pochi caratteri, mostrando un nuovo elenco di risultati potenziali per ciascun carattere:
    "P"
    "Par"
    "Parigi,"
    "Parigi, Fr"
  4. Quando l'utente effettua una selezione:
    • Tutte le richieste derivanti dalla query vengono raggruppate e aggiunte alla sessione rappresentata dal "token A", come singola richiesta.
    • La selezione dell'utente viene conteggiata come una richiesta di Dettagli del 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 GMSAutocompleteSessionToken.init().