Оптимизация использования веб-сервисов

Примечание. Тарифный план Premium платформы Google Карт больше не доступен для оформления.

Обзор

Если ваше приложение превысит лимиты на использование для веб-сервиса платформы Google Карт, сервис вернет сообщение об ошибке. Если приложение продолжит превышать лимиты на использование, ему может быть заблокирован доступ к веб-сервису и, в некоторых случаях, отправлены сообщения "403 Forbidden".

Если по запросам приложения к веб-сервису возвращаются сообщения об ошибках, выполните оптимизацию, направленную на сокращение использования веб-сервисов.

Подготовка

Перед оптимизацией использования веб-сервисов в приложении убедитесь, что применяются подходящие для вашего случая сервис и лицензия на API Карт.

Убедитесь, что вы используете нужный сервис

Веб-сервисы платформы Google Карт лучше всего подходят для приложений, в которых не требуется ввод данных пользователем в режиме реального времени, и для случаев, когда не используется веб-браузер. В частности, вам следует пользоваться веб-сервисами, если ваше приложение использует набор данных, который не зависит от вводимой пользователем информации, например фиксированный набор адресов на сайте недвижимости, который необходимо геокодировать.

Обратите внимание, что при пользовании веб-сервисами лимит на число запросов в секунду применяется к вашей лицензии с тарифным планом Premium независимо от количества IP-адресов, с которых эти запросы были отправлены.

С другой стороны, клиентские сервисы в составе Maps JavaScript API ограничены по частоте запросов на сеанс просмотра, поэтому общее число запросов распределяется между всеми пользователями и масштабируется по мере роста числа пользователей. Таким образом, клиентские сервисы лучше всего подходят для тех приложений, которые геокодируют адреса, вводимые пользователями в режиме реального времени, например для поиска магазинов, когда ищутся магазины вблизи домашнего адреса пользователя.

Более подробные рекомендации по использованию веб-сервисов приведены в этой статье. Рекомендации, приведенные в этом документе, относятся к геокодированию, но они также справедливы для всех веб-сервисов и объясняют, когда следует использовать серверные веб-сервисы, а когда их клиентские аналоги.

Как оптимизировать использование веб-сервиса

Чтобы использовать веб-сервисы эффективнее, можно снизить число обращений к ним, отправляя запросы только тогда, когда это необходимо, а также равномерно распределять использование сервисов, чтобы оставаться в пределах лимитов.

Кеширование результатов

В разделах 3.2.3.a и b Условий использования платформы Google Карт указано, что нельзя предварительно извлекать, индексировать, хранить и кэшировать любой Контент, за исключением случаев, обозначенных в Условиях.

Обратите внимание, что ограничения в отношении кэширования не распространяются на уникальные идентификаторы мест. Поэтому их можно хранить в течение неограниченного времени.

Регулирование запросов

Чтобы избежать превышения лимитов использования, можно настроить приложение так, чтобы запросы задерживались и ставились в очередь, которая следит за тем, когда отправляются эти запросы. При получении дополнительного запроса сверх лимита запросов в секунду приложение должно проверить временную метку первого запроса и подождать 1 секунду.

Даже с задержкой приложения по-прежнему могут получать ответы с кодом статуса OVER_QUERY_LIMIT. Настройте свое приложение так, чтобы при получении этого ответа оно вставляло небольшую задержку (20 мс) и повторяло запрос.