安卓:错误“;不匹配的发件人id“;通过PHP和GCM将通知推送到android设备时
我正试图通过我的.php页面向我的手机发送通知。。。 所有设置都正确,但我发现错误:安卓:错误“;不匹配的发件人id“;通过PHP和GCM将通知推送到android设备时,android,push,google-cloud-messaging,mismatch,sender-id,Android,Push,Google Cloud Messaging,Mismatch,Sender Id,我正试图通过我的.php页面向我的手机发送通知。。。 所有设置都正确,但我发现错误: {"multicast_id":7751536172966571167,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]} 我不知道为什么,因为发送者id是正确的,api也是正确的(我尝试了服务器密钥和浏览器密钥,只是为了确定) 我真的不知道哪里出错了 在我的应用程序中,我只有发件人id,并且一
{"multicast_id":7751536172966571167,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
我不知道为什么,因为发送者id是正确的,api也是正确的(我尝试了服务器密钥和浏览器密钥,只是为了确定)
我真的不知道哪里出错了
在我的应用程序中,我只有发件人id,并且一切正常,在我的服务器中,我有浏览器的密钥(现在):
我也有同样的问题
解决方案是在android应用程序中使用我的项目号,而不是发送者id的API密钥。
在服务器脚本上,必须保留API_密钥
您可以在Google开发者控制台上的项目内的“概述”选项卡中查看项目编号。请在终端中运行下面的脚本
curl -X POST \
-H "Authorization: key= write here api_key" \
-H "Content-Type: application/json" \
-d '{
"registration_ids": [
"write here reg_id generated by gcm"
],
"data": {
"message": "Manual push notification from Rajkumar"
},
"priority": "high"
}' \
https://android.googleapis.com/gcm/send
不匹配Senderid
,因为在同一设备中,您使用不同的密钥登录。要解决此问题,请卸载应用程序并再次运行,然后更新注册密钥。然后在您的终端上运行CURL脚本,我在上面发布的脚本将给出成功消息,您将收到一个通知,通知您的设备我也遇到了同样的问题。确切的问题是我忘了更改新的google services.json,这是我从GCM将项目导入Firebase后下载的
确保导入后更新google-services.json
出现此错误是因为firebase服务器密钥和google-service.json文件不相同
- 首先在firebase上检查您的项目并获得下载
google-service.json文件
- 然后把它放到你的android项目中
- 然后从firebase的“云消息传递”选项卡中检索服务器密钥,然后
在php文件中设置
因为设备的发件人id与服务器发件人id不同。您必须使用与设备发件人id相同的服务器发件人id吗?在设备上,我放置了以下内容:(仅YYYYYYYYYY)。所以这必须是okuser code.google.com/api/console/b/0/?noredirect&pli=1#项目:发送者#密钥:访问?什么?我不明白你的意思。他们说:/***在这里替换您自己的发件人ID。这是您从API控制台获得的*项目编号,如“入门”中所述;你有你的发件人id,我在你的谷歌项目Url中写了SEDNER_密钥
curl -X POST \
-H "Authorization: key= write here api_key" \
-H "Content-Type: application/json" \
-d '{
"registration_ids": [
"write here reg_id generated by gcm"
],
"data": {
"message": "Manual push notification from Rajkumar"
},
"priority": "high"
}' \
https://android.googleapis.com/gcm/send