PAYATHON 2026

如何提高 Places SDK for Android 的配额?

架构老王

明确结论

Places SDK for Android 的配额不能通过应用代码申请提高。先为项目启用 Billing,并确认应用使用的 API key 属于该项目。绑定有效的结算账户后,系统会按照已验证项目的配额规则处理请求。

如果需要的配额超过控制台当前允许的上限,可以通过以下入口申请:

  1. 在 Google Cloud Console 的 Quotas & System Limits 页面选择对应的配额,点击 Edit Quotas 提交申请。
  2. 如果页面中没有可编辑的配额,或者点击 Apply for higher quota 后只进入计费说明,需要通过 Google Maps Platform Support 创建支持请求,由官方审核。

问题中提到的“每天 1,000 次”和“启用 Billing 后每天 100,000 次”来自旧版配额模型。Google Maps Platform 已经调整计费方式和配额界面,实际限制以当前项目控制台显示的数据为准。

为什么点击后只进入 Usage and Billing

点击 Apply for higher quota 不一定会直接打开申请表。进入文档页面,通常表示项目尚未满足申请条件,或者该配额无法通过旧版 Quota 页面自行调整。

可能的原因有:

  • 项目没有关联有效的 Billing account。
  • Billing 已启用,但付款资料或身份验证仍未完成。
  • 当前查看的项目不是 API key 所属的项目。
  • 项目尚未启用 Places SDK for Android。
  • 该配额属于系统限制,不能直接在控制台中编辑。
  • 打开的是旧版 Google Developers Console 链接,相关入口已经迁移。
  • 实际触发的是按分钟、按用户或按项目计算的速率限制,而不是每日请求总量限制。

申请步骤

1. 确认项目和 API key

进入 Google Cloud Console,选择应用实际使用的项目,并检查以下设置:

  • 已启用 Places SDK for Android。
  • Android 应用中的 API key 属于当前项目。
  • API key 设置了正确的 Android application restriction。
  • API restriction 允许使用 Places SDK for Android。

如果 API key 属于其他项目,提高当前项目的配额不会影响应用请求。

2. 启用 Billing

打开项目的 Billing 页面,将项目关联到有效的结算账户。确认账户处于启用状态,付款资料没有待处理的验证或其他异常。

启用 Billing 不代表所有请求都是免费的,也不能保证配额会自动提高到某个固定数值。可用额度、免费使用金额和计费单位以当前 Google Maps Platform 价格及项目控制台为准。

3. 在配额页面提交调整

在 Google Cloud Console 中进入:

IAM & Admin
└── Quotas & System Limits

也可以使用以下路径:

APIs & Services
└── Enabled APIs & services
    └── Places SDK for Android
        └── Quotas & System Limits

进入页面后:

  1. 按服务名称筛选 Places SDK for Android。
  2. 找到需要调整的请求配额。
  3. 勾选对应的配额项。
  4. 点击 Edit Quotas。
  5. 填写申请的新上限和业务用途。
  6. 提交申请,等待审核。

申请中应提供具体的流量依据,例如:

预计日活用户:20,000
每位用户平均请求数:8
预计每日请求量:160,000
峰值请求速率:约 300 requests/minute
申请原因:业务发布后用户规模扩大

不要只填写“需要更高配额”。说明当前流量、预计增长和峰值速率,可以帮助审核人员判断实际需求。

4. 无法编辑时联系 Google Maps Platform Support

如果配额项无法选择、页面中没有 Edit Quotas,或者点击按钮后仍然只进入计费文档,请前往 Google Cloud Console 的支持页面,为对应的 Google Maps Platform 项目创建 case。

支持请求中可以提供:

  • Google Cloud project ID
  • Billing account 已启用的说明
  • 使用的 API:Places SDK for Android
  • 当前配额和申请的目标配额
  • 当前及预计的每日请求量
  • 峰值请求速率
  • 触发限制时的错误码和时间
  • 配额页面截图或相关 request ID

申请是否通过以及最终上限由 Google 审核决定,并非所有配额都可以提高。

Android 配置示例

配额由 API key 所属的 Google Cloud 项目管理,应用代码不能提高配额。应用只需使用正确项目的 key:

<application
    android:name=".MyApplication"
    android:allowBackup="true">

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${PLACES_API_KEY}" />

</application>

初始化 Places SDK:

import android.app.Application
import com.google.android.libraries.places.api.Places

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        if (!Places.isInitialized()) {
            Places.initialize(
                applicationContext,
                BuildConfig.PLACES_API_KEY
            )
        }
    }
}

不要将真实的 API key 直接写入源码仓库。还应在 Google Cloud Console 中配置 Android 应用限制和 API 限制,降低 key 被盗用后消耗配额或产生费用的风险。

注意事项

  • 先确认错误是否为 quota exceeded。REQUEST_DENIED、API key 限制错误或 Billing 异常不一定由配额不足引起。
  • 每日配额与速率配额不同。即使每日总量还有余量,短时间内请求过于集中也可能触发限流。
  • 输入联想等高频功能应使用 session token,并对连续输入进行 debounce,避免每输入一个字符都发出不必要的请求。
  • 不要创建多个项目或轮换 API key 来规避限制。这种做法可能违反服务条款,也会增加计费和监控的复杂度。
  • 配额调整可能需要审核,应在正式发布或流量活动开始前提交申请。
  • 如果控制台不再显示问题中所述的 1,000/100,000 requests per 24 hour period,请以当前项目的 Quotas & System Limits 和 Billing 页面为准,无需继续寻找旧版申请表。

备注:内容仅供参考。