Ошибка: kGMSPlacesRateLimitExceeded
Places SDK для iOS использует модель ценообразования с оплатой по мере использования . Запросы Places SDK для iOS для Places API оплачиваются по номеру SKU. Наряду с общими Условиями использования Google существуют ограничения на использование , относящиеся к Places SDK для iOS. Управляйте своими расходами и использованием с помощью инструментов, доступных в Google Cloud Console.
Как оплачивается Places SDK для iOS
Places SDK для iOS использует модель ценообразования с оплатой по мере использования. Плата за API и SDK платформы Google Maps взимается в зависимости от SKU. Использование отслеживается для каждого SKU, и любой API или SDK может иметь более одного SKU продукта . Стоимость рассчитывается по
Используйте наш калькулятор цен и использования , чтобы оценить стоимость использования API или SDK. Для соответствующих SKU платформы Google Maps ежемесячно предоставляется кредит в размере 200 долларов США для каждой платежной учетной записи. Этот кредит автоматически применяется 1 к соответствующим SKU.
Цены на Places SDK для iOS
О сеансах автозаполнения
Сеанс автозаполнения включает несколько запросов автозаполнения (для получения предложений о месте по мере ввода пользователем) и не более одного запроса сведений о местах (для получения сведений о месте, выбранном пользователем). Один и тот же токен сеанса передается автозаполнению и последующему запросу сведений о месте. Сеанс начинается с первого запроса автозаполнения (что обычно происходит, когда пользователь начинает печатать). Вызов Places Details выполняется, когда пользователь выбирает одно из предложений автозаполнения. Если пользователь не выбирает предложение, вызов Places Details не выполняется.
После того, как пользователь выбрал место (т. е. был сделан вызов Places Details), вы должны начать новый сеанс, используя новый маркер сеанса.
Сеансы автозаполнения могут быть созданы из следующих API:
- Служба автозаполнения мест API Places или служба автозаполнения мест Maps JavaScript API . Вам необходимо разработать приложение для предоставления токенов сеанса (возможно, вам потребуется изменить существующий код).
- Виджет автозаполнения Maps JavaScript API . Биллинг на основе сеанса автоматически включается для этих виджетов без необходимости изменения кода.
Токен сеанса подходит для одного сеанса пользователя и не должен использоваться более чем для одного сеанса пользователя. Если вы повторно используете маркер сеанса, сеанс считается недействительным, и запросы оплачиваются так, как если бы маркер сеанса не был предоставлен.
Запросы автозаполнения и запросы Places Details с использованием сеансов оплачиваются по разным SKU.
Об артикулах Places Data
Три SKU Places Data: основные данные , контактные данные и данные об атмосфере .Один или несколько SKU данных инициируются для:
- Android: каждый запрос к
fetchPlace()
илиfindCurrentPlace()
- iOS: каждый вызов
fetchPlaceFromPlaceID:
илиfindPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
- Веб-сервис: каждый запрос Places в зависимости от полей, указанных в запросе
Плата за SKU данных всегда взимается в дополнение к базовому SKU за инициирующий их запрос. Например, запрос «Сведения о месте», включая поля «Основные данные», будет оплачиваться как по SKU «Основные данные» , так и по SKU «Сведения о месте».
Артикул: Основные данные
Используя параметр fields в запросе Place Details или Find Place, вы можете ограничить ответ только указанными полями. Поля в категории «Базовый» включены в базовую стоимость запроса «Места» и не требуют дополнительной оплаты. Артикул Basic Data запускается при запросе любого из этих полей:
- Android:
Place.Field.ADDRESS
,Place.Field.ADDRESS_COMPONENTS
,Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.ID
,Place.Field.LAT_LNG
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
,Place.Field.UTC_OFFSET
илиPlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
- iOS:
GMSPlaceFieldFormattedAddress
,GMSPlaceFieldBusinesssStatus
,GMSPlaceFieldID
,GMSPlaceFieldCoordinate
,GMSPlaceFieldName
,GMSPlaceFieldPhotos
,GMSPlaceFieldPlusCode
,GMSPlaceFieldTypes
илиGMSPlaceFieldViewport
- Веб-служба:
address_component
,adr_address
,business_status
,formatted_address
,geometry
,icon
,name
,permanently_closed
,photo
,place_id
,plus_code
,type
,url
,utc_offset
,vicinity
илиwheelchair_accessible_entrance
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗВОНОК) | ||
---|---|---|
| | |
Стоимость запроса мест + 0,00 долларов США | Стоимость запроса мест + 0,00 долларов США | Стоимость запроса мест + 0,00 долларов США |
Артикул: Контактные данные
Используя параметр fields в запросе Place Details или Find Place для веб-служб или массив Place.Field
для Android или iOS, вы можете ограничить ответ только указанными полями. За поля в категории «Контакты» взимается дополнительная плата. Номер SKU контактных данных активируется при запросе любого из этих полей:
- Android:
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.SECONDARY_OPENING_HOURS
илиPlace.Field.WEBSITE_URI
- iOS:
GMSPlaceFieldOpeningHours
,GMSPlaceFieldPhoneNumber
илиGMSPlaceFieldWebsite
- Веб-служба:
formatted_phone_number
,international_phone_number
,opening_hours
,current_opening_hours
,secondary_opening_hours
илиwebsite
.
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗВОНОК) | ||
---|---|---|
| | |
Стоимость запроса мест + 0,003 доллара США за каждый (+ 3,00 доллара США за 1000) | Стоимость запроса мест + 0,0024 доллара США за каждый (+ 2,40 доллара США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Артикул: Атмосферные данные
Используя параметр fields в запросе Place Details или Find Place, вы можете ограничить ответ только указанными полями. За поля в категории «Атмосфера» взимается дополнительная плата. Артикул Atmosphere Data запускается при запросе любого из этих полей:
- Android:
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.RESERVABLE
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
илиPlace.Field.USER_RATINGS_TOTAL
- iOS:
GMSPlaceFieldPriceLevel
,GMSPlaceFieldRating
,GMSPlaceFieldUserRatingsTotal
,GMSPlaceFieldTakeout
,GMSPlaceFieldDelivery
,GMSPlaceFieldDineIn
,GMSPlaceFieldCurbsidePickup
,GMSPlaceFieldReservable
,GMSPlaceFieldServesBreakfast
,GMSPlaceFieldServesLunch
,GMSPlaceFieldServesDinner
,GMSPlaceFieldServesBeer
,GMSPlaceFieldServesWine
,GMSPlaceFieldServesBrunch
orGMSPlaceFieldServesVegetarianFood
. - JavaScript : см. поля (детали места)
- Веб-сервис :
curbside_pickup
,delivery
,dine_in
,editorial_summary
,price_level
,rating
,reservable
,reviews
,serves_beer
,serves_breakfast
,serves_brunch
,serves_dinner
,serves_lunch
,serves_vegetarian_food
,serves_wine
,takeout
илиuser_ratings_total
.
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗВОНОК) | ||
---|---|---|
| | |
Стоимость запроса мест + 0,005 долларов США за каждый (+ 5,00 долларов США за 1000) | Стоимость запроса мест + 0,004 доллара США за каждый (+ 4,00 доллара США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Артикул: Автозаполнение — по запросу
Стоимость Autocomplete — Per Request SKU взимается за любые из этих вызовов или запросов, не включающих токен сеанса:
- Android:
findAutocompletePredictions()
- iOS:
findAutocompletePredictionsFromQuery:
- JavaScript: служба автозаполнения мест Maps JavaScript API
- Веб-служба: служба Places API Place Autocomplete
Вызовы, сделанные из недопустимого сеанса автозаполнения (например, сеанс, в котором повторно используется токен сеанса), также оплачиваются по номеру SKU автозаполнения — за запрос.
За запросы автозаполнения из виджета автозаполнения мест Maps JavaScript API может взиматься плата за автозаполнение — за запрос SKU в случае, если вызовы выполняются из недействительного сеанса автозаполнения. Это может произойти, когда пользователь вводит несколько разных адресов или копирует/вставляет разные адреса в виджет и не всегда выбирает подсказку автозаполнения.
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗАПРОС) | ||
---|---|---|
| | |
0,00283 долларов США за каждый (2,83 доллара США за 1000) | 0,00227 долларов США за каждый (2,27 доллара США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Артикул: автозаполнение без сведений о месте — за сеанс
Автозаполнение без сведений о месте — SKU за сеанс взимается за сеанс автозаполнения , который не включает запрос сведений о месте (в течение нескольких минут после начала сеанса).
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за СЕАНС) | ||
---|---|---|
| | |
0,017 долларов США за каждый (17,00 долларов США за 1000) | 0,0136 долларов США за каждый (13,60 долларов США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Пример
Если ваше приложение выполняет эти два вызова в одном сеансе:
Андроид
- findAutocompletePredictions() (.setQuery("par"), .setSessionToken(XYZ))
- findAutocompletePredictions() (.setQuery("Париж"), .setSessionToken(XYZ))
iOS
- PlacesClient?.findAutocompletePredictions(fromQuery: "par" ...
- placeClient?.findAutocompletePredictions(fromQuery: "paris"...
веб-сервис
- Разместите запрос автозаполнения (input=”par”, session_token: XYZ)
- Разместите запрос автозаполнения (input=”paris”, session_token: XYZ)
В вашем счете вы увидите этот SKU в списке (при просмотре счета по SKU ):
- Автозаполнение без сведений о месте – за сеанс (цена от 0,017 долларов США за сеанс)
Артикул: автозаполнение (включено в сведения о месте) — за сеанс
Автозаполнение (включено в сведения о месте) — SKU за сеанс взимается за сеанс автозаполнения , который включает любое из следующих действий:
- Android: вызов
fetchPlace()
- iOS: вызов
fetchPlaceFromPlaceID:
- Веб-сервис: запрос сведений о месте
Запрос автозаполнения доступен бесплатно, а последующий вызов Place Details оплачивается на основе обычных цен на Place Details .
Запрос Place Details генерирует SKU данных ( Basic , Contact и/или Atmosphere ) в зависимости от полей, указанных в запросе.
Если вы не укажете поля в запросе сведений о месте, активируются все SKU данных (базовый, контакт и атмосфера).
Запросы на обновление идентификатора сведений о месте (запросы, в которых указано только поле place_id
) во время сеанса автозаполнения оплачиваются как SKU: Автозаполнение без сведений о месте — за сеанс .
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за СЕАНС) | ||
---|---|---|
| | |
0.00 долларов США | 0.00 долларов США | 0.00 долларов США |
Пример
Если ваше приложение выполняет следующие три вызова в одном сеансе:
Андроид
- findAutocompletePredictions() (.setQuery("par"), .setSessionToken(XYZ))
- findAutocompletePredictions() (.setQuery("Париж"), .setSessionToken(XYZ))
- fetchPlace() (с
FetchPlaceRequest
, включая идентификатор места и поле ADDRESS)
iOS
- PlacesClient?.findAutocompletePredictions(fromQuery: "par" ...
- placeClient?.findAutocompletePredictions(fromQuery: "paris"...
- fetchPlaceFromPlaceID: (включая идентификатор места и поле
GMSPlaceFieldFormattedAddress
)
веб-сервис
- Запрос автозаполнения мест (input=”par”, session_token: XYZ)
- Запрос автозаполнения мест (input=”paris”, session_token: XYZ)
- Сведения о местах (place_id, session_token: XYZ, fields:formatted_address)
В вашем счете вы увидите перечисленные ниже артикулы (при просмотре счета по артикулам ):
- Автозаполнение (включено в сведения о месте) — за сеанс (оплачивается в размере 0,00 долларов США)
- Детали места (цена от 0,017 долларов США за сеанс)
- Базовые данные (оплачивается в размере 0,00 долларов США)
Артикул: Детали места
Плата за вызовы Place Details взимается следующим образом:
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗВОНОК) | ||
---|---|---|
| | |
0,017 долларов США за каждый (17,00 долларов США за 1000) | 0,0136 долларов США за каждый (13,60 долларов США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Артикул Place Details создается из следующих API:
- Android: Places SDK для Android (
fetchPlace()
) - iOS: Places SDK для iOS (
fetchPlaceFromPlaceID:
) - JavaScript: служба Place Details Maps JavaScript API (
getDetails
) - JavaScript: виджет Place Autocomplete Maps JavaScript API (
getPlace
) - JavaScript: виджет Place SearchBox Maps JavaScript API : метод
getPlaces()
после того, как пользователь выбирает результат места (значок: булавка), *не* запрос (значок: лупа), как показано здесь:В результатах виджета окна поиска после ввода слова «пицца» в поле поиска обратите внимание на то, что рядом с пиццей «Аутентико» есть значок булавки, указывающий, что это результат места (а не запрос). - Веб-служба: Places API Place Details service
При использовании веб-API и служб стоимость SKU сведений о месте взимается независимо от того, предоставлен маркер сеанса или нет.
Вызов или запрос сведений о месте также создает SKU данных ( Basic , Contact и/или Atmosphere ) в зависимости от полей, указанных в вызове или запросе. Если в вызове или запросе сведений о месте не указано ни одного поля, активируются ВСЕ SKU данных, и с вас будет взиматься плата за вызов или запрос сведений о местах плюс стоимость всех данных.
Примеры
- Сделайте один из этих звонков или запросов:
- Мобильный телефон: вызовите
fetchPlace()
на Android илиfetchPlaceFromPlaceID:
на iOS и укажите только полеADDRESS
. - Веб-API или сервис: сделайте запрос сведений о месте и укажите только поле адреса:
getPlaceDetails(fields: formatted_address)
- Детали места (цена от 0,017 долларов США за сеанс)
- Базовые данные (оплачивается в размере 0,00 долларов США)
- Мобильный телефон: вызовите
- Сделайте один из этих звонков или запросов:
- Мобильный телефон: вызовите
fetchPlace()
на Android илиfetchPlaceFromPlaceID:
на iOS и укажите только полеPHONE_NUMBER
. - Веб-API или сервис: сделайте запрос Place Details и укажите поле номера телефона:
getPlaceDetails(fields: formatted_phone_number)
- Детали места (цена от 0,017 долларов США за сеанс)
- Контактные данные (цена от 0,003 долларов США за запрос)
- Мобильный телефон: вызовите
- Сделайте один из этих звонков или запросов:
- Мобильный телефон: вызовите
fetchPlace()
на Android илиfetchPlaceFromPlaceID:
на iOS и укажите все поля. - Веб-API или сервис: сделайте запрос Place Details и укажите все поля (этот тип запроса используется по умолчанию, если вы не укажете ни одного поля):
getPlaceDetails()
.
- Детали места (цена от 0,017 долларов США за сеанс)
- Базовые данные (оплачивается в размере 0,00 долларов США)
- Контактные данные (цена от 0,003 долларов США за запрос)
- Атмосферные данные (цена от 0,005 долларов США за запрос)
- Мобильный телефон: вызовите
Артикул: Найти текущее место
Плата за поиск текущего места взимается за вызовы findCurrentPlace()
(Android) или findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS).
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗВОНОК) | ||
---|---|---|
| | |
0,030 долларов США за каждый (30,00 долларов США за 1000) | 0,024 доллара США за каждый (24,00 долларов США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Вызовы findCurrentPlace()
(Android) или findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS) также создают SKU данных ( Basic , Contact и/или Atmosphere ) в зависимости от полей, указанных в вызове. Укажите поля данных, чтобы ограничить ответ только этими полями. Вам выставляется счет за вызов «Найти текущее место», а также за запрашиваемые данные.
Примеры
- Вы вызываете
findCurrentPlace()
(Android) илиfindPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS) и указываете только полеADDRESS
. В вашем счете вы увидите перечисленные ниже артикулы (при просмотре счета по артикулам ):- Найти текущее место (цена от 0,030 долларов США за запрос)
- Базовые данные (оплачивается в размере 0,00 долларов США)
- Вы вызываете
findCurrentPlace()
(Android) илиfindPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS) и указываете полеPHONE_NUMBER
. В вашем счете вы увидите перечисленные ниже артикулы (при просмотре счета по артикулам ):- Найти текущее место (цена от 0,030 долларов США за запрос)
- Контактные данные (цена от 0,003 долларов США за запрос)
- Вы вызываете
findCurrentPlace()
(Android) илиfindPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS) и указываете поля из всех трех сегментов типа данных. В вашем счете вы увидите перечисленные ниже артикулы (при просмотре счета по артикулам ):- Найти текущее место (цена от 0,030 долларов США за запрос)
- Базовые данные (оплачивается в размере 0,00 долларов США)
- Контактные данные (цена от 0,003 долларов США за запрос)
- Атмосферные данные (цена от 0,005 долларов США за запрос)
Артикул: Место Фото
Плата за артикул Place Photo взимается за:
- Android: вызовы
fetchPhoto()
- iOS: вызовы
loadPlacePhoto:
- JavaScript: в библиотеку Places, сервис Maps JavaScript API Place Photos при запросе данных из URL-адресов, возвращаемых
PlacePhoto.getUrl()
, для загрузки данных пикселей изображения. - Веб-служба: запросы к службе Place Photos API Places.
Для службы JavaScript вызов метода PlacePhoto.getUrl()
не приводит к выставлению счетов до тех пор, пока URL-адрес не будет фактически использован для получения данных о пикселях.
ЕЖЕМЕСЯЧНЫЙ ОБЪЕМ (Цена за ЗВОНОК) | ||
---|---|---|
| | |
0,007 долларов США за каждый (7,00 долларов США за 1000) | 0,0056 долларов США за каждый (5,60 долларов США за 1000) | Свяжитесь с отделом продаж , чтобы узнать оптовые цены |
Другие ограничения использования
Хотя максимальное количество запросов в день не ограничено, при использовании Places SDK для iOS по-прежнему действует следующее ограничение использования:
- Ограничение по скорости — 100 запросов в секунду. Он рассчитывается как сумма клиентских и серверных запросов для всех приложений, использующих учетные данные одного и того же проекта.
Условия использования ограничения
Информацию об условиях использования см. в разделе «Ограничения лицензии» Условий использования платформы Google Maps.
Управляйте стоимостью использования
Чтобы управлять стоимостью использования API платформы Google Карт, установите дневную квоту на все запросы к любому оплачиваемому API. Дневные квоты сбрасываются в полночь по тихоокеанскому времени.
Чтобы просмотреть или изменить ограничения квот для Places SDK для iOS:
- В Cloud Console откройте страницу квот платформы Google Maps .
- Щелкните раскрывающийся список API и выберите Places SDK для iOS .
- Чтобы просмотреть лимиты квоты, прокрутите вниз до карточки «Запросы» .
В таблице перечислены имена и ограничения квот. - Чтобы изменить ограничение квоты, щелкните значок «Изменить» для этого ограничения.
В появившемся диалоговом окне в поле Лимит квоты введите предпочтительную оплачиваемую дневную квоту (вплоть до квоты, если таковая имеется, указанная Google) и нажмите Сохранить .
Если использование вами API достигает предела оплачиваемой квоты в какой-либо день, ваше приложение не сможет получить доступ к API до конца этого дня.
Связанные ресурсы по управлению затратами
Пользователи в Индии должны создать платежную учетную запись Google Cloud Platform, прежде чем создавать платежную учетную запись платформы Google Maps, чтобы получить кредит платформы Maps. ↩