Place Autocomplete (Legacy) использует токены сеансов, чтобы сгруппировать этапы запроса и выбора выполняемого пользователем поиска с функцией автозаполнения в отдельный сеанс для выставления счетов. Сеанс начинается в тот момент, когда пользователь начинает вводить запрос, а завершается тогда, когда он выбирает место и выполняется вызов информации о местах (Legacy). В каждом сеансе может быть несколько запросов автозаполнения, после которых следует выбор одного места. Ключи API, используемые для каждого запроса в рамках сеанса, должны принадлежать одному и тому же проекту консоли Google Cloud. Когда сеанс завершается, токен перестает быть действительным. Ваше приложение должно создавать новый токен для каждого сеанса. Если параметр sessiontoken не указан или вы повторно используете токен сеанса, плата за сеанс будет начислена как при отсутствии токена (каждый запрос оплачивается отдельно).
Мы рекомендуем следующее:
- Используйте токены сеансов для всех сеансов автозаполнения.
- Создавайте новый токен для каждого сеанса.
- Убедитесь, что ключи API, используемые для всех запросов автозаполнения мест (устаревшая версия) и информации о местах (устаревшая версия) в рамках сеанса, принадлежат одному проекту консоли Google Cloud.
- Обязательно передавайте уникальный токен сеанса для каждого нового сеанса. Если использовать один токен для нескольких сеансов, плата за каждый сеанс будет начислена по отдельности.
Токен сеанса автозаполнения можно не указывать в запросе. Если токен сеанса не указан, каждый запрос оплачивается отдельно по коду Autocomplete – Per Request. Если вы используете токен сеанса повторно, такой сеанс будет считаться недействительным и оплата за запросы в нем будет взиматься так, как если бы токен сеанса не был предоставлен.
Пример
По мере того как пользователь вводит запрос, запрос автозаполнения вызывается каждые несколько нажатий клавиш (не для каждого символа), и возвращается список возможных результатов. Когда пользователь выбирает место из списка результатов, этот выбор считается запросом, а все запросы, сделанные во время поиска, объединяются и считаются одним запросом. Если пользователь выбирает место, поисковый запрос предоставляется бесплатно, а оплачивается только запрос данных о месте. Если пользователь не сделает выбор в течение нескольких минут после начала сеанса, плата будет взиматься только за поисковый запрос.
Рассмотрим последовательность событий с точки зрения приложения:
- Пользователь начинает вводить запрос "Париж, Франция".
- При обнаружении ввода пользователя приложение создает новый токен сеанса – Token A.
- По мере ввода API отправляет запрос автозаполнения через каждые несколько символов, показывая новый список возможных результатов для каждого из них:
"P"
"Par"
"Paris,"
"Paris, Fr"
- Когда пользователь выбирает вариант:
- Все запросы, полученные в результате запроса, группируются и добавляются в сеанс, представленный токеном A, как один запрос.
- Выбор пользователя учитывается как запрос информации о местах и добавляется в сеанс, представленный токеном A.
- Сеанс завершается, и приложение удаляет токен А.
Подробнее о том, как взимается плата за запросы автозаполнения мест (Legacy), читайте в статье, посвященной статистике использования API и выставлению счетов.
Как создать токены сеансов
Вы можете создавать токены сеансов с помощью любого программного механизма. Рекомендуем использовать для токенов сеансов UUID версии 4.