Автозаполнение места использует токены сеанса для группировки этапов запроса и выбора пользовательского поиска с автозаполнением в отдельный сеанс для целей выставления счетов. Сеанс начинается, когда пользователь начинает вводить запрос, и завершается, когда он выбирает место и выполняет вызов Place Details. В каждом сеансе может быть несколько запросов автозаполнения, за которыми следует выбор одного места. Ключи API, используемые для каждого запроса в рамках сеанса, должны принадлежать одному и тому же проекту Google Cloud Console. После завершения сеанса токен больше не действителен; ваше приложение должно генерировать новый токен для каждого сеанса. Если параметр sessiontoken
опущен или если вы повторно используете токен сеанса, сеанс взимается так, как если бы токен сеанса не был предоставлен (каждый запрос оплачивается отдельно).
Мы рекомендуем следующие рекомендации:
- Используйте токены сеанса для всех сеансов автозаполнения.
- Генерируйте новый токен для каждого сеанса.
- Убедитесь, что ключи API, используемые для всех запросов Place Autocomplete и Place Details в рамках сеанса, принадлежат одному и тому же проекту Google Cloud Console.
- Обязательно передавайте уникальный токен сеанса для каждого нового сеанса. Использование одного и того же токена для нескольких сеансов приведет к тому, что каждый запрос будет оплачиваться отдельно.
При желании вы можете исключить токен сеанса автозаполнения из запроса. Если токен сеанса опущен, каждый запрос оплачивается отдельно, что активирует SKU «Автозаполнение — по запросу» . Если вы повторно используете токен сеанса, сеанс считается недействительным, а за запросы взимается плата, как если бы токен сеанса не был предоставлен.
Пример
Когда пользователь вводит запрос, запрос автозаполнения вызывается каждые несколько нажатий клавиш (не для каждого символа), и возвращается список возможных результатов. Когда пользователь делает выбор из списка результатов, этот выбор считается запросом, а все запросы, сделанные во время поиска, объединяются и учитываются как один запрос. Если пользователь выбирает место, поисковый запрос доступен бесплатно, и взимается только плата за запрос данных о месте. Если пользователь не делает выбор в течение нескольких минут после начала сеанса, тарифицируется только поисковый запрос.
Давайте рассмотрим этот поток событий с точки зрения приложения.
- Пользователь начинает вводить запрос для поиска «Париж, Франция».
- Обнаружив ввод пользователя, приложение создает новый токен сеанса «Токен A».
- По мере ввода пользователем API выполняет запрос автозаполнения каждые несколько символов, отображая новый список потенциальных результатов для каждого:
"П"
"Пар"
"Париж,"
«Париж, фр.» - Когда пользователь делает выбор:
- Все запросы, возникающие в результате запроса, группируются и добавляются в сеанс, представленный «Токеном A», как один запрос.
- Выбор пользователя считается запросом сведений о месте и добавляется к сеансу, представленному «токеном A».
- Сеанс завершается, и приложение удаляет «токен А».
Дополнительные сведения о том, как оплачиваются запросы автозаполнения, см. в разделе Использование и выставление счетов .
Создание токенов сеанса
Чтобы создать токен сеанса, вызовите AutocompleteSessionToken.newInstance()
.