Flutter迁移FCM API V1后iOS端遇API_KEY_SERVICE_BLOCKED错误求助
排查iOS端FCM V1迁移后FirebaseInstallations 403及Token请求过多问题
检查API密钥的服务限制
从GoogleService-Info.plist中取出API_KEY值,登录Google Cloud控制台找到该密钥:- 确保密钥的服务限制列表中包含
Firebase Installations API和Firebase Cloud Messaging API(V1版本对应的API) - 不要遗漏
Firebase Installations API,这是注册失败的核心诱因之一 - 若之前仅配置了Legacy FCM API的限制,需添加上述两个API
- 确保密钥的服务限制列表中包含
确认Firebase Installations API已启用
在Google Cloud控制台搜索Firebase Installations API,检查其状态为已启用。未启用该API会直接导致FirebaseInstallations注册返回403错误。排查getToken请求过多的根源
请求过多通常是FirebaseInstallations注册失败后,Messaging#getToken自动重试导致的连锁问题:- 先解决403错误,重试行为会自然终止
- 检查Flutter代码中是否存在重复调用
getToken的逻辑(比如在initState、状态回调中多次触发),避免主动发起过多请求
验证APNs配置一致性
- 确认Firebase控制台中iOS应用的APNs认证密钥/证书有效、未过期,且bundle ID与Xcode项目完全匹配
- 检查Xcode中
Signing & Capabilities的Push Notifications已启用,同时Background Modes勾选了Remote notifications
清理本地缓存与配置
- 执行
flutter clean后,删除iOS项目的Derived Data(Xcode中按Cmd+Shift+K,或手动删除~/Library/Developer/Xcode/DerivedData下对应项目的文件夹) - 重启Xcode和测试设备,确保新配置完全生效
- 执行
检查插件版本兼容性
确认firebase_core、firebase_messaging插件为最新稳定版,旧版本可能存在FCM V1迁移的兼容性问题,执行flutter pub upgrade更新插件
内容的提问来源于stack exchange,提问作者Rambly Runner
相关产品推荐
相关产品推荐

