[null,null,["อัปเดตล่าสุด 2025-08-31 UTC"],[[["\u003cp\u003eSession tokens are used to group autocomplete search queries and selections for billing purposes.\u003c/p\u003e\n"],["\u003cp\u003eEach session requires a unique token, ideally a version 4 UUID.\u003c/p\u003e\n"],["\u003cp\u003eAutocomplete requests are bundled and billed as a single request when a user makes a selection.\u003c/p\u003e\n"],["\u003cp\u003eIf no selection is made, only the search query is charged after a few minutes.\u003c/p\u003e\n"],["\u003cp\u003eSession tokens can be shared across different Google Cloud projects, but must be unique within a single project.\u003c/p\u003e\n"]]],["This document details the use of session tokens with the Places API. A session token groups a user's autocomplete search into a single session for billing. Users must create unique session tokens (version 4 UUIDs recommended) for each session, ensuring uniqueness within a project. Requests are bundled into a session. If a user selects a place, only the place details are charged; otherwise, only the search query is charged. Each session ends after a user's selection or inactivity, at which point the token is discarded.\n"],null,["# Use session tokens\n\n\u003cbr /\u003e\n\n| This feature requires that you enable Places API (New), the next generation of the Places API. For more information, see [Enable APIs](/maps/documentation/places/ios-sdk/cloud-setup#enabling-apis).\n\n\u003cbr /\u003e\n\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\ntokens for each session. Google recommends using [version 4\nUUIDs](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\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\".\n- 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/ios-sdk/usage-and-billing)."]]