Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安卓:错误“;不匹配的发件人id“;通过PHP和GCM将通知推送到android设备时_Android_Push_Google Cloud Messaging_Mismatch_Sender Id - Fatal编程技术网

安卓:错误“;不匹配的发件人id“;通过PHP和GCM将通知推送到android设备时

安卓:错误“;不匹配的发件人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,并且一

我正试图通过我的.php页面向我的手机发送通知。。。 所有设置都正确,但我发现错误:

{"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