如何添加Google API控制台创建的API Key至Firebase Cloud Messaging?默认有密钥却无添加选项
如何将自定义Google API Key用于Firebase Cloud Messaging
首先得明确一点:Firebase项目和Google Cloud项目是深度绑定的,Firebase默认生成的API Key其实就是Google Cloud凭据系统里的对应密钥。FCM本身没有“添加额外API Key”的可视化选项,但你完全可以在实际使用中替换成自己在Google API控制台创建的密钥,只要做好权限和限制配置就行。下面是具体步骤:
1. 确保自定义API Key拥有FCM权限
在Google API控制台找到你创建的API Key,进入密钥详情页:
- 确认Firebase Cloud Messaging API已经被启用(如果没启用,去API库搜索并开启)
- 给这个Key配置正确的权限:
- 如果是服务器端发送FCM消息用的密钥,建议创建「服务器密钥」类型,并且可以设置IP地址限制,只允许你的服务器IP调用
- 如果是客户端(Web/Android/iOS)用的密钥,创建「Web API密钥」或对应平台的密钥,配置包名、域名限制,避免被滥用
2. 在服务器端使用自定义API Key
如果你是通过服务器发送FCM推送请求,直接在请求头里替换成你的自定义密钥即可:
发送请求时,Authorization头格式为:
Authorization: key=你的自定义API Key
比如用curl发送的话:
curl -X POST "https://fcm.googleapis.com/fcm/send" \ -H "Authorization: key=你的自定义API Key" \ -H "Content-Type: application/json" \ -d '{ "to": "目标设备令牌", "notification": { "title": "测试推送", "body": "这是用自定义API Key发送的消息" } }'
3. 在客户端替换API Key(不推荐,但可选)
客户端(Android/iOS/Web)默认使用Firebase自动生成的API Key,这些Key已经绑定了你的项目配置(比如Android的包名、Web的域名)。如果一定要替换成自定义Key:
- Android:打开
google-services.json,找到api_key下的current_key字段,替换为你的自定义Key - iOS:打开
GoogleService-Info.plist,找到API_KEY字段,替换为你的自定义Key - Web:在初始化Firebase的代码里,把
apiKey参数的值替换成你的自定义Key
注意:客户端替换API Key存在安全风险,如果你的自定义Key没有配置严格的限制(比如允许任何域名调用),很容易被恶意滥用,所以更推荐保留Firebase默认生成的客户端Key。
关键提醒
- 自定义API Key必须和你的Firebase项目属于同一个Google Cloud组织/项目,否则无法调用FCM服务
- 如果你不确定自己的Key是否有权限,可以在Google API控制台的「凭据」页面,查看Key的「API限制」列表,确保包含Firebase Cloud Messaging API
内容的提问来源于stack exchange,提问作者Sudhanshu Gaur
相关产品推荐
相关产品推荐

