Places SDK for iOS 用量和结算

错误:kGMSPlacesRateLimitExceeded

Places SDK for iOS 采用随用随付定价模式。针对 Places API 的 Places SDK for iOS 请求按 SKU 结算。 除了总的《Google 使用条款》之外,我们还针对 Places SDK for iOS 设置了特定的用量限额。 您可以使用 Google Cloud 控制台中提供的工具管理费用和用量

Places SDK for iOS 的结算方式

Places SDK for iOS 采用随用随付定价模式。Google Maps Platform API 和 SDK 按 SKU 结算。用量按 SKU 进行跟踪,任何 API 或 SDK 都可能有多个产品 SKU。费用计算方式:

SKU 用量 × 单次使用价格

您可以使用我们的价格和用量计算器估算每个 API 或 SDK 的使用费。对于符合条件的 Google Maps Platform SKU,每个结算账号每月可获得 200 美元的 Google Maps Platform 赠金。该金额会自动抵扣1符合条件的 SKU 的费用。

Places SDK for iOS 的价格

关于“自动补全”会话

“自动补全”会话包含一些“自动补全”请求(用于在用户输入内容时检索建议地点),以及最多一个“地点详情”请求(用于检索与用户所选的地点有关的详细信息)。系统会将同一个会话令牌传递给“自动补全”请求和随后的“地点详情”请求。第一个“自动补全”请求发出时(通常是在用户开始输入时),会话开始。在用户选择其中一条“自动补全”建议后,系统会执行“地点详情”调用。如果用户未选择建议,系统不会执行“地点详情”调用。

在用户选择地点(即系统执行“地点详情”调用)后,您必须使用新的会话令牌启动新会话。

“自动补全”会话可以通过以下 API 生成:

会话令牌非常适合单个用户会话,但不能用于多个用户会话。如果您重复使用某个会话令牌,相应会话会被视为无效,并且系统会按未提供会话令牌的情况为请求计费。

使用会话的“自动补全”请求和“地点详情”请求以不同的 SKU 计费。

关于地点数据 SKU

一共有三个地点数据 SKU,包括:基本数据联系人数据氛围数据

系统会针对以下情况触发一个或多个数据 SKU:

  • Android:对 fetchPlace()findCurrentPlace() 的每次请求
  • iOS:对 fetchPlaceFromPlaceID:findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: 的每次调用
  • 网络服务:每个地点请求,具体取决于请求中指定的字段

对于触发数据 SKU 的请求,除了基本 SKU 费用之外,您还始终需要支付相应的数据 SKU 费用。例如,对于包含“基本数据”字段的“地点详情”请求,您需要同时支付“基本数据”SKU 费用和“地点详情”SKU 费用。


SKU:基本数据

在“地点详情”请求或“查找地点”请求中使用 fields 参数时,您可以将响应限制为仅包含指定的字段。基本类别中的字段的费用包含在地点请求的基本费用中,它们不会产生任何额外费用。系统会在收到以下任一字段请求时触发基本数据 SKU:

  • Android:Place.Field.ADDRESSPlace.Field.ADDRESS_COMPONENTSPlace.Field.BUSINESS_STATUSPlace.Field.ICON_BACKGROUND_COLORPlace.Field.ICON_URLPlace.Field.IDPlace.Field.LAT_LNGPlace.Field.NAMEPlace.Field.PHOTO_METADATASPlace.Field.PLUS_CODEPlace.Field.TYPESPlace.Field.VIEWPORTPlace.Field.UTC_OFFSETPlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
  • iOS:GMSPlaceFieldFormattedAddressGMSPlaceFieldBusinessStatusGMSPlaceFieldIDGMSPlaceFieldCoordinateGMSPlaceFieldNameGMSPlaceFieldPhotosGMSPlaceFieldPlusCodeGMSPlaceFieldTypesGMSPlaceFieldViewport
  • 网络服务address_componentadr_addressbusiness_statusformatted_addressgeometryiconnamepermanently_closedphotoplace_idplus_codetypeurlutc_offsetvicinitywheelchair_accessible_entrance
每月用量范围
(每次调用的价格)
0–100,000 100,001–500,000 超过 500,000
地点请求费用
+ 0.00 美元
地点请求费用
+ 0.00 美元
地点请求费用
+ 0.00 美元

SKU:联系人数据

在“地点详情”请求或“查找地点”请求中使用 fields 参数时(对于网络服务),或使用 Place.Field 数组时(对于 Android 或 iOS),您可以将响应限制为仅包含指定的字段。联系人类别中的字段会产生额外费用。系统会在收到以下任一字段请求时触发联系人数据 SKU:

  • Android:Place.Field.CURRENT_OPENING_HOURSPlace.Field.OPENING_HOURSPlace.Field.PHONE_NUMBERPlace.Field.SECONDARY_OPENING_HOURSPlace.Field.WEBSITE_URI
  • iOS:GMSPlaceFieldOpeningHoursGMSPlaceFieldPhoneNumberGMSPlaceFieldWebsite
  • 网络服务formatted_phone_numberinternational_phone_numberopening_hourscurrent_opening_hourssecondary_opening_hourswebsite
每月用量范围
(每次调用的价格)
0–100,000 100,001–500,000 超过 500,000
地点请求费用
+ 0.003 美元/次
(+ 3.00 美元/千次)
地点请求费用
+ 0.0024 美元/次
(+ 2.40 美元/千次)
如需了解批量定价,请与销售人员联系

SKU:氛围数据

在“地点详情”请求或“查找地点”请求中使用 fields 参数时,您可以将响应限制为仅包含指定的字段。氛围类别中的字段会产生额外费用。系统会在收到以下任一字段请求时触发氛围数据 SKU:

  • Android:Place.Field.CURBSIDE_PICKUPPlace.Field.DELIVERYPlace.Field.EDITORIAL_SUMMARYPlace.Field.DINE_INPlace.Field.PRICE_LEVELPlace.Field.RATINGPlace.Field.RESERVABLEPlace.Field.SERVES_BEERPlace.Field.SERVES_BREAKFASTPlace.Field.SERVES_BRUNCHPlace.Field.SERVES_DINNERPlace.Field.SERVES_LUNCHPlace.Field.SERVES_VEGETARIAN_FOODPlace.Field.SERVES_WINEPlace.Field.TAKEOUTPlace.Field.USER_RATINGS_TOTAL
  • iOSGMSPlaceFieldPriceLevelGMSPlaceFieldRatingGMSPlaceFieldUserRatingsTotalGMSPlaceFieldTakeoutGMSPlaceFieldDeliveryGMSPlaceFieldDineInGMSPlaceFieldCurbsidePickupGMSPlaceFieldReservableGMSPlaceFieldServesBreakfastGMSPlaceFieldServesLunchGMSPlaceFieldServesDinnerGMSPlaceFieldServesBeerGMSPlaceFieldServesWineGMSPlaceFieldServesBrunchGMSPlaceFieldServesVegetarianFood
  • JavaScript:请参阅字段(地点详情)
  • 网络服务:curbside_pickupdeliverydine_ineditorial_summaryprice_levelratingreservablereviewsserves_beerserves_breakfastserves_brunchserves_dinnerserves_lunchserves_vegetarian_foodserves_winetakeoutuser_ratings_total
每月用量范围
(每次调用的价格)
0–100,000 100,001–500,000 超过 500,000
地点请求费用
+ 0.005 美元/次
(+ 5.00 美元/千次)
地点请求费用
+ 0.004 美元/次
(+ 4.00 美元/千次)
如需了解批量定价,请与销售人员联系

SKU:自动补全 - 按请求结算

您需要为以下任何不包含会话令牌的调用或请求支付自动补全 - 按请求结算 SKU 费用:

从无效的“自动补全”会话(例如重复使用会话令牌的会话)发出的调用也会被收取“自动补全 - 按请求结算”SKU 费用。

来自 Maps JavaScript API 的“地点自动补全”widget 的“自动补全”请求(如果调用是从无效的“自动补全”会话发出的)可能会被收取“自动补全 - 按请求结算”SKU 费用。当用户输入多个不同的地址或将不同的地址复制/粘贴到该 widget 中,且并不总是选择自动补全联想查询时,可能会发生这种情况。

每月用量范围
(每次请求的价格)
0–100,000 100,001–500,000 超过 500,000
0.00283 美元/次
(2.83 美元/千次)
0.00227 美元/次
(2.27 美元/千次)
如需了解批量定价,请与销售人员联系

SKU:自动补全(不含地点详情)- 按会话结算

对于不包含“地点详情”请求的“自动补全”会话,您需要(在会话开始的几分钟内)支付自动补全(不含地点详情)- 按会话结算 SKU 费用。

每月用量范围
(每次会话的价格)
0–100,000 100,001–500,000 超过 500,000
0.017 美元/次
(17.00 美元/千次)
0.0136 美元/次
(13.60 美元/千次)
如需了解批量定价,请与销售人员联系

示例

如果您的应用在单次会话中发出以下两个调用:

Android

iOS

网络服务

您会看到账单中列出了以下 SKU(按 SKU 查看账单时):

  • 自动补全(不含地点详情)- 按会话结算(每次会话最低 0.017 美元)

SKU:自动补全(包含地点详情)- 按会话结算

您需要为包含以下任何一项的“自动补全”会话支付自动补全(包含地点详情)- 按会话结算 SKU 的费用:

  • Android:对 fetchPlace() 的调用
  • iOS:对 fetchPlaceFromPlaceID: 的调用
  • 网络服务:“地点详情”请求

“自动补全”请求是免费的,随后的“地点详情”调用需按常规的地点详情定价支付费用。

“地点详情”请求会生成数据 SKU(基本数据联系人数据和/或氛围数据),具体取决于请求中指定的字段。

如果您未在“地点详情”请求中指定字段,系统会触发所有数据 SKU(基本数据、联系人数据和氛围数据)。

在“自动补全”会话期间,地点详情 ID 刷新请求(仅指定 place_id 字段的请求)将按 SKU:自动补全(不含地点详情)- 按会话结算计费。

每月用量范围
(每次会话的价格)
0–100,000 100,001–500,000 超过 500,000
0.00 美元 0.00 美元 0.00 美元

示例

如果您的应用在单次会话中发出以下三个调用:

Android

iOS

网络服务

您会看到账单中列出了以下 SKU(按 SKU 查看账单时):

  • 自动补全(包含地点详情)- 按会话结算(费用为 0.00 美元)
  • 地点详情(每次会话最低 0.017 美元)
  • 基本数据(费用为 0.00 美元)

SKU:地点详情

地点详情调用的计费方式如下:

每月用量范围
(每次调用的价格)
0–100,000 100,001–500,000 超过 500,000
0.017 美元/次
(17.00 美元/千次)
0.0136 美元/次
(13.60 美元/千次)
如需了解批量定价,请与销售人员联系

地点详情 SKU 通过以下 API 生成:

使用网络 API 和服务时,无论是否提供会话令牌,都会收取“地点详情”SKU 费用。

“地点详情”调用或请求还会生成数据 SKU(基本数据联系人数据和/或氛围数据),具体取决于调用或请求中指定的字段。如果“地点详情”调用或请求中指定字段,则会触发所有数据 SKU,并且您需要支付“地点详情”调用或请求费用以及所有数据的费用。

示例

  1. 发出以下某项调用或请求:
    • 移动设备:在 Android 上调用 fetchPlace(),或在 iOS 上调用 fetchPlaceFromPlaceID:,且仅指定 ADDRESS 字段
    • 网络 API 或服务:发出“地点详情”请求,且仅指定“地址”字段:getPlaceDetails(fields: formatted_address)
    您会看到账单中列出了以下 SKU(按 SKU 查看账单时):
    • 地点详情(每次会话最低 0.017 美元)
    • 基本数据(费用为 0.00 美元)
  2. 发出以下某项调用或请求:
    • 移动设备:在 Android 上调用 fetchPlace(),或在 iOS 上调用 fetchPlaceFromPlaceID:,且仅指定 PHONE_NUMBER 字段
    • 网络 API 或服务:发出“地点详情”请求并指定“电话号码”字段:getPlaceDetails(fields: formatted_phone_number)
    您会看到账单中列出了以下 SKU(按 SKU 查看账单时):
    • 地点详情(每次会话最低 0.017 美元)
    • 联系人数据(每次请求最低 0.003 美元)
  3. 发出以下某项调用或请求:
    • 移动设备:在 Android 上调用 fetchPlace(),或在 iOS 上调用 fetchPlaceFromPlaceID:,并指定所有字段
    • 网络 API 或服务:发出“地点详情”请求并指定所有字段(如果您未指定任何字段,系统将默认发出此类请求):getPlaceDetails()
    您会看到账单中列出了以下 SKU(按 SKU 查看账单时):
    • 地点详情(每次会话最低 0.017 美元)
    • 基本数据(费用为 0.00 美元)
    • 联系人数据(每次请求最低 0.003 美元)
    • 氛围数据(每次请求最低 0.005 美元)

SKU:查找当前地点

对于 findCurrentPlace() (Android) 和 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS) 的调用,您需要支付查找当前地点 SKU 费用。

每月用量范围
(每次调用的价格)
0–100,000 100,001–500,000 超过 500,000
0.030 美元/次
(30.00 美元/千次)
0.024 美元/次
(24.00 美元/千次)
如需了解批量定价,请与销售人员联系

findCurrentPlace() (Android) 或 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS) 的调用还会生成数据 SKU(基本数据联系人数据和/或氛围数据),具体取决于调用中指定的字段。指定数据字段,可以将响应限制为仅包含这些字段。您需要为“查找当前地点”调用以及所请求的数据付费。

示例

  1. 您调用 findCurrentPlace() (Android) 或 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS),并仅指定 ADDRESS 字段。您会看到账单中列出了以下 SKU(按 SKU 查看账单时):
    • 查找当前地点(每次请求最低 0.030 美元)
    • 基本数据(费用为 0.00 美元)
  2. 您调用 findCurrentPlace() (Android) 或 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS),并指定 PHONE_NUMBER 字段。您会看到账单中列出了以下 SKU(按 SKU 查看账单时):
    • 查找当前地点(每次请求最低 0.030 美元)
    • 联系人数据(每次请求最低 0.003 美元)
  3. 您调用 findCurrentPlace() (Android) 或 findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (iOS),并指定所有三个数据类型范畴的字段。您会看到账单中列出了以下 SKU(按 SKU 查看账单时):
    • 查找当前地点(每次请求最低 0.030 美元)
    • 基本数据(费用为 0.00 美元)
    • 联系人数据(每次请求最低 0.003 美元)
    • 氛围数据(每次请求最低 0.005 美元)

SKU:Place Photo

您需要为以下行为支付 Place Photo SKU 费用:

对于 JavaScript 服务,在将网址实际用于获取像素数据之前,调用 PlacePhoto.getUrl() 方法不会产生账单费用。

每月用量范围
(每次调用的价格)
0–100,000 100,001–500,000 超过 500,000
0.007 美元/次
(7.00 美元/千次)
0.0056 美元/次
(5.60 美元/千次)
如需了解批量定价,请与销售人员联系

其他用量限制

虽然每天的请求数量没有上限,但使用 Places SDK for iOS 时仍需遵循以下用量限额:

  • 速率限制为 6,000 QPM(每分钟请求数)。此指标的计算方式为使用同一项目凭据的所有应用的客户端和服务器端请求的总和。

使用条款限制

如需了解使用条款,请参阅 Google Maps Platform 服务条款的“许可限制”部分

管理使用费

如需管理 Places SDK for iOS 的使用费或满足生产流量的需求,您可以对任何 API 的所有请求设置每日配额上限。每日配额将在太平洋时间午夜重置。

如需查看或更改 Places SDK for iOS 的配额限制,请执行以下操作:

  1. 在 Cloud 控制台中,打开 Google Maps Platform 配额页面
  2. 点击 API 下拉列表,然后选择 Places SDK for iOS
  3. 如需查看配额上限,请向下滚动到请求卡片。
    表中列出了配额名称和上限。
  4. 如需更改配额上限,请点击相应上限对应的修改图标。
    在显示的对话框中,在配额限制字段中输入首选可结算每日配额上限(最高可设为 Google 指定的配额上限,如适用),然后选择保存

如果您的 API 用量在任何一天达到了可计费配额上限,那么您的应用在当天剩余时间内将无法访问相应 API。


  1. 印度的用户必须先创建 Google Cloud Platform 结算账号,然后才能创建 Google Maps Platform 结算账号,用于接收 Maps Platform 赠金。