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