Les jetons de session regroupent les phases de requête et de sélection d'une recherche de saisie semi-automatique d'un utilisateur dans une session distincte à des fins de facturation.
Créer un jeton de session
Les utilisateurs sont responsables de la génération de jetons de session uniques pour chaque session.
Google recommande d'utiliser des UUID de version 4.
Exemple
À mesure que l'utilisateur saisit une requête, une requête de saisie semi-automatique est appelée toutes les quelques frappes (et non par caractère), et une liste de résultats possibles est renvoyée. Lorsque l'utilisateur effectue une sélection dans la liste des résultats, cette sélection est considérée comme une requête. Toutes les requêtes effectuées lors de la recherche sont regroupées et comptabilisées comme une seule requête. Si l'utilisateur sélectionne un lieu, la requête de recherche est disponible sans frais, et seuls les frais de demande de données sur le lieu sont facturés. Si l'utilisateur n'effectue pas de sélection dans les minutes qui suivent le début de la session, seule la requête de recherche est facturée.
Examinons ce flux d'événements du point de vue d'une application.
Un utilisateur commence à saisir une requête pour rechercher "Paris, France".
Lorsqu'une saisie utilisateur est détectée, l'application crée un jeton de session, "Jeton A".
À mesure que l'utilisateur saisit du texte, l'API envoie une requête de saisie semi-automatique tous les quelques caractères, en affichant une nouvelle liste de résultats potentiels pour chacun :
"P"
"Par"
"Paris,"
"Paris, Fr"
Lorsque l'utilisateur effectue une sélection :
Toutes les requêtes résultant de la requête sont regroupées et ajoutées à la session représentée par "Jeton A", en tant que requête unique.
La sélection de l'utilisateur est comptabilisée comme une demande Place Details et ajoutée à la session représentée par le jeton A.
La session se termine et l'application supprime le "jeton A".
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/30 (UTC).
[null,null,["Dernière mise à jour le 2025/08/30 (UTC)."],[[["\u003cp\u003eSession tokens associate autocomplete search queries and selections for billing, ensuring accurate charges based on user interactions.\u003c/p\u003e\n"],["\u003cp\u003eEach new search session requires a unique, user-generated token, ideally a version 4 UUID, to track related requests.\u003c/p\u003e\n"],["\u003cp\u003eAutocomplete requests during a search are grouped and billed as a single request when the user makes a selection, charging only for Place data if a place is chosen.\u003c/p\u003e\n"],["\u003cp\u003eIf no selection is made within a few minutes, only the search query is billed, attributing costs to the initial search activity.\u003c/p\u003e\n"],["\u003cp\u003eSession tokens are project-specific, allowing reuse across different Google Cloud projects but requiring uniqueness within the same project for proper billing.\u003c/p\u003e\n"]]],["Session tokens group user autocomplete searches for billing. Generate unique session tokens (e.g., version 4 UUIDs) per project. As users type, autocomplete requests are made. Upon selection, all requests are bundled into a single, session-token-linked request. If a place is selected, only the Place data request is charged. Otherwise, only the search query is charged. If no selection is made, the session times out, and only the search query is billed. Discard the token after the session.\n"],null,["# Using session tokens\n\nSelect platform: [Android](/maps/documentation/places/android-sdk/using-session-tokens \"View this page for the Android platform docs.\") [iOS](/maps/documentation/places/ios-sdk/using-session-tokens \"View this page for the iOS platform docs.\") [Web Service](/maps/documentation/places/web-service/using-session-tokens \"View this page for the Web Service platform docs.\")\n\n\u003cbr /\u003e\n\nSession tokens group the query and selection phases of a user autocomplete\nsearch into a discrete session for billing purposes.\n\nCreate a session token\n----------------------\n\nUsers are responsible for generating unique session tokens for each session.\nGoogle recommends using [version 4 UUIDs](https://tools.ietf.org/html/rfc4122).\n| **Note:** Session tokens can overlap across Google Cloud Console projects, but they must be unique per project. For example, an app using Project A and an app using Project B can use the same session token, but multiple apps using Project A cannot use the same session token.\n\nExample\n-------\n\nAs the user types a query, an autocomplete request is called every few\nkeystrokes (not per-character), and a list of possible results is returned. When\nthe user makes a selection from the result list, the selection counts as a\nrequest, and all of the requests made during the search are bundled and counted\nas a single request. If the user selects a place, the search query is available\nat no charge, and only the Place data request is charged. If the user does not\nmake a selection within a few minutes of the beginning of the session, only the\nsearch query is charged.\n\nLet's examine this flow of events from the perspective of an app.\n\n1. A user begins typing a query to search for \"Paris, France\".\n2. Upon detecting user input, the app creates a new session token, \"Token A\".\n3. As the user types, the API makes an autocomplete request every few characters, displaying a new list of potential results for each: \n \"P\" \n \"Par\" \n \"Paris,\" \n \"Paris, Fr\" \n4. When the user makes a selection:\n - All requests resulting from the query are grouped and added to the session represented by \"Token A\", as a single request.\n - The user's selection is counted as a Place Detail request, and added to the session represented by \"Token A\".\n5. The session is concluded, and the app discards \"Token A\".\n\nFor more information about how Autocomplete requests are billed, see [Usage and\nBilling](/maps/documentation/places/android-sdk/usage-and-billing)."]]