오류: kGMSPlacesRateLimitExceeded
iOS용 Places SDK는 사용한 만큼만 지불하는 가격 모델을 사용합니다. Places API에 대한 iOS용 Places SDK 요청은 SKU에 따라 요금이 청구됩니다. 전체 Google 이용약관과 함께 iOS용 Places SDK와 관련된 사용량 한도가 적용됩니다. Google Cloud 콘솔에서 제공되는 도구를 사용하여 비용 및 사용량을 관리하세요.
iOS용 Places SDK 요금 청구 방식
iOS용 Places SDK는 사용한 만큼만 지불하는 가격 모델을 사용합니다. Google Maps Platform API 및 SDK는 SKU를 기준으로 청구됩니다. 사용량은 각 SKU에 따라 추적되며 모든 API 또는 SDK에 둘 이상의 제품 SKU가 있을 수 있습니다. 비용은 다음과 같이 계산됩니다.
가격 및 사용량 계산기를 사용하여 API 또는 SDK당 사용량 비용을 예측할 수 있습니다. 조건을 충족하는 Google Maps Platform SKU에 대해 결제 계정마다 매월 미화 200달러의 Google Maps Platform 크레딧이 제공됩니다. 이 크레딧은 대상 SKU에 자동으로1 적용됩니다.
iOS용 Places SDK 가격 책정
자동 완성 세션에 대한 정보
자동 완성 세션에는 사용자가 장소를 입력함과 동시에 추천 검색어를 가져오기 위한 Autocomplete 요청 및 사용자가 선택한 장소에 대한 세부정보를 가져오기 위한 최대 1개의 Place Details 요청이 포함됩니다. 동일한 세션 토큰이 Autocomplete 및 이후의 Place Detail 요청에 전달됩니다. 세션은 첫 번째 Autocomplete 요청으로 시작됩니다. 이 요청은 일반적으로 사용자가 입력을 시작할 때 발생합니다. 사용자가 Autocomplete 추천 검색어 중 하나를 선택하면 Place Details 호출이 이루어집니다. 사용자가 추천 검색어를 선택하지 않으면 Place Details 호출이 이루어지지 않습니다.
사용자가 장소를 선택한 후(즉, Place Details 호출이 이루어진 후) 새 세션 토큰을 사용하여 새 세션을 시작해야 합니다.
자동 완성 세션은 다음과 같은 API에서 생성할 수 있습니다.
- Places API Place Autocomplete 서비스 또는 Maps JavaScript API의 Place Autocomplete 서비스. 세션 토큰을 제공하도록 애플리케이션을 설계해야 합니다. 기존 코드를 변경해야 할 수도 있습니다.
- Maps JavaScript API의 Autocomplete 위젯 이 위젯에서는 코드를 변경하지 않아도 세션 기반 결제가 자동으로 사용 설정됩니다.
세션 토큰은 하나의 사용자 세션에 유효하며 두 개 이상의 사용자 세션에 사용해서는 안 됩니다. 세션 토큰을 재사용하면 세션이 유효하지 않은 것으로 간주되어 세션 토큰이 제공되지 않은 것처럼 요청에 대해 요금이 청구됩니다.
세션을 사용하는 Autocomplete 요청 및 Place Details 요청에 대해서는 서로 다른 SKU에 따라 요금이 청구됩니다.
Places Data SKU에 대한 정보
세 Places Data SKU는 Basic Data, Contact Data, Atmosphere Data입니다.다음에 대해 하나 이상의 데이터 SKU가 트리거됩니다.
- Android: 각
fetchPlace()
또는findCurrentPlace()
요청 - iOS: 각
fetchPlaceFromPlaceID:
또는findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
호출 - 웹 서비스: 요청에 지정된 필드에 따라 각 장소 요청
데이터 SKU는 항상 데이터 SKU를 트리거하는 기본 SKU 외에 추가로 요금이 청구됩니다. 예를 들어 Basic Data 필드가 포함된 Place Details 요청에 대해서는 Basic Data SKU 및 Place Details SKU 모두에 따라 요금이 청구됩니다.
SKU: Basic Data
Place Details 또는 Find Place 요청에 필드 매개변수를 사용하여 지정된 필드로만 응답을 제한할 수 있습니다. Basic 카테고리의 필드는 장소 요청의 기본 비용에 포함되며 추가 요금이 발생하지 않습니다. 다음 필드 중 하나가 요청되면 Basic Data SKU가 트리거됩니다.
-
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달러 |
SKU: Contact Data
웹 서비스의 경우 Place Details 또는 Find Place 요청, Android 또는 iOS의 경우 Place.Field
의 배열에 필드 매개변수를 사용하여 지정된 필드로만 응답을 제한할 수 있습니다. Contact 카테고리에 필드를 포함하면 추가 요금이 발생합니다. 다음 필드 중 하나가 요청되면 Contact Data 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달러/1,000회) |
장소 요청 비용 + 미화 0.0024달러/회 (+ 미화 2.40달러/1,000회) |
사용량별 가격은 영업팀에 문의하세요. |
SKU: Atmosphere Data
Place Details 또는 Find Place 요청에 필드 매개변수를 사용하여 지정된 필드로만 응답을 제한할 수 있습니다. Atmosphere 카테고리에 필드를 포함하면 추가 요금이 발생합니다. 다음 필드 중 하나가 요청되면 Atmosphere Data SKU가 트리거됩니다.
- Android:
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.EDITORIAL_SUMMARY
,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
또는GMSPlaceFieldServesVegetarianFood
. - 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달러/1,000회) |
장소 요청 비용 + 미화 0.004달러/회 (+ 미화 4.00달러/1,000회) |
사용량별 가격은 영업팀에 문의하세요. |
SKU: Autocomplete – Per Request
Autocomplete – Per Request SKU는 세션 토큰이 포함되지 않은 호출이나 요청에 대해 요금이 청구됩니다.
- Android:
findAutocompletePredictions()
- iOS:
findAutocompletePredictionsFromQuery:
- JavaScript: Maps JavaScript API의 Place Autocomplete 서비스
- 웹 서비스: Places API Place Autocomplete 서비스
잘못된 자동 완성 세션(예: 세션 토큰을 재사용하는 세션)에서 이루어진 호출에도 Autocomplete – Per Request SKU 요금이 청구됩니다.
Maps JavaScript API의 Place Autocomplete 위젯에서 발생한 Autocomplete 요청에는 잘못된 Autocomplete 요청에서 호출이 이루어지는 경우 Autocomplete - Per Request SKU 요금이 청구될 수 있습니다. 이 문제는 사용자가 여러 주소를 입력하거나 위젯에 여러 주소를 복사/붙여넣기하고 항상 자동 완성 예상 검색어를 선택하지 않을 때 발생할 수 있습니다.
월간 사용량 범위 (요청당 가격) |
||
---|---|---|
미화 0.00283달러/회 (미화 2.83달러/1,000회) |
미화 0.00227달러/회 (미화 2.27달러/1,000회) |
대량 구매 가격은 영업팀에 문의하세요. |
SKU: Autocomplete without Place Details – Per Session
Autocomplete without Place Details – Per Session SKU는 세션 시작 후 몇 분 이내에 Place Details 요청이 포함되지 않은 자동 완성 세션에 대해 요금이 청구됩니다.
월간 사용량 범위 (세션당 가격) |
||
---|---|---|
미화 0.017달러/회 (미화 17.00달러/1,000회) |
미화 0.0136달러/회 (미화 13.60달러/1,000회) |
대량 구매 가격은 영업팀에 문의하세요. |
예
애플리케이션이 단일 세션에서 다음 두 호출을 실행하는 경우:
Android
- findAutocompletePredictions() (.setQuery(”par”), .setSessionToken(XYZ))
- findAutocompletePredictions() (.setQuery(”paris”), .setSessionToken(XYZ))
iOS
- placesClient?.findAutocompletePredictions(fromQuery: "par" ...
- placesClient?.findAutocompletePredictions(fromQuery: "paris" ...
웹 서비스
- Place Autocomplete 요청(입력='par', session_token: XYZ)
- Place Autocomplete 요청(입력='paris', session_token: XYZ)
청구서에 다음 SKU가 표시됩니다(SKU별로 청구서를 표시하는 경우).
- Autocomplete without Place Details – Per Session(가격은 세션당 미화 0.017달러부터 시작함)
SKU: Autocomplete (included with Place Details) – Per Session
Autocomplete (included with Place Details) – Per Session SKU는 다음 중 하나가 포함된 자동 완성 세션에 대해 요금이 청구됩니다.
- Android:
fetchPlace()
호출 - iOS:
fetchPlaceFromPlaceID:
호출 - 웹 서비스: Place Details 요청
자동 완성 요청은 무료로 제공되며, 이후의 Place Details 호출에는 일반적인 Place Details 가격에 따라 요금이 청구됩니다.
Place Details 요청을 실행하면 요청에 지정된 필드에 따라 데이터 SKU(Basic, Contact 또는 Atmosphere)가 생성됩니다.
Place Details 요청에서 필드를 지정하지 않으면 모든 데이터 SKU가 트리거됩니다(Basic, Contact, Atmosphere).
자동 완성 세션 중의 Place Details ID 새로고침 요청(place_id
필드만 지정하는 요청)은 SKU: Autocomplete without Place Details – Per Session으로 요금이 청구됩니다.
월간 사용량 범위 (세션당 가격) |
||
---|---|---|
미화 0.00달러 | 미화 0.00달러 | 미화 0.00달러 |
예
애플리케이션이 단일 세션에서 다음 세 호출을 실행하는 경우:
Android
- findAutocompletePredictions() (.setQuery(”par”), .setSessionToken(XYZ))
- findAutocompletePredictions() (.setQuery(”paris”), .setSessionToken(XYZ))
- fetchPlace()(장소 ID 및 ADDRESS 필드가 포함된
FetchPlaceRequest
포함)
iOS
- placesClient?.findAutocompletePredictions(fromQuery: "par" ...
- placesClient?.findAutocompletePredictions(fromQuery: "paris" ...
- fetchPlaceFromPlaceID:(장소 ID 및
GMSPlaceFieldFormattedAddress
필드 포함)
웹 서비스
- Place Autocomplete 요청(입력='par', session_token: XYZ)
- Places Autocomplete 요청(입력='paris', session_token: XYZ)
- Places Details (place_id, session_token: XYZ, fields:formatted_address)
청구서에 다음 SKU가 표시됩니다(SKU별로 청구서를 표시하는 경우).
- Autocomplete (included with Places Details) – Per Session(미화 0.00달러로 청구됨)
- Place Details(가격은 세션당 미화 0.017달러부터 시작함)
- Basic Data(미화 0.00달러로 청구됨)
SKU: Place Details
Place Details 호출에는 다음과 같이 요금이 청구됩니다.
월간 사용량 범위 (호출당 가격) |
||
---|---|---|
미화 0.017달러/회 (미화 17.00달러/1,000회) |
미화 0.0136달러/회 (미화 13.60달러/1,000회) |
대량 구매 가격은 영업팀에 문의하세요. |
Place Details SKU는 다음 API에서 생성됩니다.
- Android: Android용 Places SDK(
fetchPlace()
) - iOS: iOS용 Places SDK(
fetchPlaceFromPlaceID:
) - JavaScript:
Maps JavaScript API의 Place Details 서비스(
getDetails
) - JavaScript:
Maps JavaScript API의 Place Autocomplete 위젯(
getPlace
) - 자바스크립트:
Maps JavaScript API의 Place SearchBox 위젯: 사용자가
다음 예와 같이 쿼리(아이콘:
돋보기가 아님) 장소 결과(아이콘: 핀)를 선택한 후의 메서드
getPlaces()
검색창 위젯의 검색결과에서 검색창에 '피자'를 입력한 후 피자 Autentico 옆에는 핀 아이콘 1이 있고 그 옆에 핀 아이콘 이 있음이 있습니다. - 웹 서비스: Places API Place Details 서비스
웹 API 및 서비스를 사용하면 세션 토큰 제공 여부와 관계없이 Place Details SKU에 요금이 청구됩니다.
Place Details 호출 또는 요청을 실행하면 호출 또는 요청에 지정된 필드에 따라 데이터 SKU(Basic, Contact 또는 Atmosphere)도 생성됩니다. Place Details 호출 또는 요청에 필드가 지정되지 않은 경우 모든 데이터 SKU가 트리거되고 Place Details 호출 또는 요청에 대한 요금 및 모든 데이터의 비용이 청구됩니다.
예시
- 다음 중 하나의 통화 또는 요청을 합니다.
- 모바일:
fetchPlace()
(Android) 또는fetchPlaceFromPlaceID:
(iOS)를 호출하고ADDRESS
필드만 지정합니다. - 웹 API 또는 서비스: Place Details를 요청하고 주소 필드만 지정합니다.
getPlaceDetails(fields: formatted_address)
- Place Details(가격은 세션당 미화 0.017달러부터 시작함)
- Basic Data(미화 0.00달러로 청구됨)
- 모바일:
- 다음 중 하나의 통화 또는 요청을 합니다.
- 모바일:
fetchPlace()
(Android) 또는fetchPlaceFromPlaceID:
(iOS)를 호출하고PHONE_NUMBER
필드만 지정합니다. - 웹 API 또는 서비스: Place Details를 요청하고 전화번호 필드를 지정합니다.
getPlaceDetails(fields: formatted_phone_number)
- Place Details(가격은 세션당 미화 0.017달러부터 시작함)
- Contact Data(가격은 요청당 미화 0.003달러부터 시작함)
- 모바일:
- 다음 중 하나의 통화 또는 요청을 합니다.
- 모바일:
fetchPlace()
(Android) 또는fetchPlaceFromPlaceID:
(iOS)를 호출하고 모든 필드를 지정합니다. - 웹 API 또는 서비스: Place Details를 요청하고 모든 필드를 지정합니다(필드를 지정하지 않는 경우 이 유형의 요청이 기본값).
getPlaceDetails()
- Place Details(가격은 세션당 미화 0.017달러부터 시작함)
- Basic Data(미화 0.00달러로 청구됨)
- Contact Data(가격은 요청당 미화 0.003달러부터 시작함)
- Atmosphere Data(가격은 요청당 미화 0.005달러부터 시작함)
- 모바일:
SKU: Find Current Place
Find Current Place는 findCurrentPlace()
(Android) 또는 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS) 호출에 대해 비용이 청구됩니다.
월간 사용량 범위 (호출당 가격) |
||
---|---|---|
미화 0.030달러/회 (미화 30.00달러/1,000회) |
미화 0.024달러/회 (미화 24.00달러/1,000회) |
대량 구매 가격은 영업팀에 문의하세요. |
findCurrentPlace()
(Android) 또는 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS)를 호출해도 호출에 지정된 필드에 따라 데이터 SKU(Basic ,Contact 또는 Atmosphere)가 생성됩니다.
데이터 필드를 지정하여 해당 필드로만 응답을 제한하세요. Find Current Place 호출 및 요청된 데이터에 대해 요금이 청구됩니다.
예시
findCurrentPlace()
(Android) 또는findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS)를 호출하고ADDRESS
필드만 지정합니다. 청구서에 다음 SKU가 표시됩니다(SKU별로 청구서를 표시하는 경우).- Find Current Place(가격은 요청당 미화 0.030달러부터 시작함)
- Basic Data(미화 0.00달러로 청구됨)
findCurrentPlace()
(Android) 또는findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS)를 호출하고PHONE_NUMBER
필드를 지정합니다. 청구서에 다음 SKU가 표시됩니다(SKU별로 청구서를 표시하는 경우).- Find Current Place(가격은 요청당 미화 0.030달러부터 시작함)
- Contact Data(가격은 요청당 미화 0.003달러부터 시작함)
findCurrentPlace()
(Android) 또는findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
(iOS)를 호출하고 세 가지 데이터 유형 버킷 모두에서 필드를 지정합니다. 청구서에 다음 SKU가 표시됩니다(SKU별로 청구서를 표시하는 경우).- Find Current Place(가격은 요청당 미화 0.030달러부터 시작함)
- Basic Data(미화 0.00달러로 청구됨)
- Contact Data(가격은 요청당 미화 0.003달러부터 시작함)
- Atmosphere Data(가격은 요청당 미화 0.005달러부터 시작함)
SKU: Place Photo
Place Photo SKU는 다음에 대해 요금이 청구됩니다.
- Android:
fetchPhoto()
호출 - iOS:
loadPlacePhoto:
호출 - JavaScript: 이미지 픽셀 데이터를 로드하기 위해
PlacePhoto.getUrl()
에서 반환된 URL로부터 데이터를 요청할 때 Maps JavaScript API 장소 라이브러리의 Place Photos 서비스 요청 - 웹 서비스: Places API Place Photos 서비스 요청
JavaScript 서비스의 경우 PlacePhoto.getUrl()
메서드를 호출해도 URL이 실제로 픽셀 데이터를 가져오는 데 사용되기 전에는 요금이 청구되지 않습니다.
월간 사용량 범위 (호출당 가격) |
||
---|---|---|
미화 0.007달러/회 (미화 7.00달러/1,000회) |
미화 0.0056달러/회 (미화 5.60달러/1,000회) |
대량 구매 가격은 영업팀에 문의하세요. |
기타 사용량 한도
일일 최대 요청 수는 없지만 iOS용 Places SDK를 사용할 때 다음 사용량 한도가 계속 적용됩니다.
- 비율 한도는 6,000QPM (분당 요청 수)입니다. 동일한 프로젝트의 사용자 인증 정보를 사용하여 모든 애플리케이션에 대한 클라이언트 측 및 서버 측 요청의 합계로 계산됩니다.
이용약관 제한
이용약관에 대한 자세한 내용은 Google Maps Platform 서비스 약관의 라이선스 제한 섹션을 참고하세요.
사용 비용 관리
iOS용 Places SDK 사용 비용을 관리하거나 프로덕션 트래픽의 요구사항을 충족하려면 모든 API 요청에 대해 일일 할당량 한도를 설정하세요. 일일 할당량은 태평양 표준시 자정에 재설정됩니다.
iOS용 Places SDK의 할당량 한도를 보거나 변경하려면 다음 단계를 따르세요.
- Cloud 콘솔에서 Google Maps Platform 할당량 페이지를 엽니다.
- API 드롭다운을 클릭하고 iOS용 Places SDK를 선택합니다.
- 할당량 한도를 보려면 요청
카드까지 아래로 스크롤합니다.
표에는 할당량 이름, 한도가 표시됩니다. - 할당량 한도를 변경하려면 해당 한도에 대한 수정 아이콘을 클릭합니다.
표시되는 대화상자의 할당량 한도 필드에 선호하는 일일 최대 결제 한도를 입력하고(Google에서 지정한 할당량 한도가 있다면 해당 한도까지) 저장을 선택합니다.
해당 날짜에 API 사용량이 최대 과금 한도에 도달하면 이 날짜의 남은 시간 동안 애플리케이션이 API에 액세스할 수 없습니다.
관련 비용 관리 리소스
-
인도 사용자는 Google Maps Platform 결제 계정을 만들기 전에 Google Cloud Platform 결제 계정을 만들어야 Maps Platform 크레딧을 받을 수 있습니다. ↩