请求调整FCM Message API每分钟请求配额(message-rate-exceeded)
FCM Message API 速率限制问题解决方案
关于配额调整
FCM的每分钟发送速率配额(当前600k)可以申请调整,但需要通过Firebase控制台提交配额提升申请:
- 登录Firebase控制台进入对应项目
- 找到「配额」或「API和服务」下的「配额」页面
- 定位到FCM Message API的发送速率配额,点击「申请提升」
- 在申请里详细说明业务需求(比如用户规模增长、特定推送场景需求),并提供相关佐证数据
- 提交后由Google团队审核,审核通过后方可将配额提升至1000k
注意:并非所有申请都会通过,Google会评估业务合理性、合规性及资源承载能力。
除指数退避外的其他解决方案
- 批量发送消息:使用Firebase Admin SDK的
sendMulticast或sendEachForMulticast方法,一次请求可发送给最多500个设备令牌,显著降低请求频次,减少触发速率限制的概率。 - 主题推送替代单设备推送:如果推送目标是同类受众,让设备订阅对应FCM主题,只需发送一条主题消息,FCM会自动分发给所有订阅设备,无需逐个发起请求,大幅节省配额。
- 错峰发送:把集中的推送任务拆分到多个时间段执行,避免同一分钟内耗尽配额。比如将原本1分钟内要发的1000k消息,拆分成2分钟各发500k,适配现有配额。
- 清理无效令牌:定期检测并移除无效设备令牌(比如返回
INVALID_REGISTRATION或NOT_REGISTERED的令牌),减少无效请求,把配额留给有效推送。 - 区分消息优先级:将非紧急消息设为
normal优先级,FCM会自动调整发送队列,优先处理高优先级消息的同时,平滑普通消息的发送速率,避免短时间内请求过载。
内容的提问来源于stack exchange,提问作者user25705963
相关产品推荐
相关产品推荐

