我正在尝试为我的Android应用程序创建一个推送服务,我遵循了Google GCM的文档和示例:
我可以注册/注销我的Android应用程序。在我的服务器端,我可以看到我注册了一个订阅,但当我尝试从服务器向我的Android应用程序发送消息时,我总是收到以下错误:
向设备#0发送消息时出现
错误: MismatchSenderId
对于我的安卓应用程序,我使用SENDER_ID = 200000000001。
对于我的服务器端,正如谷歌所说的那样,我使用API_KEY = AIzxxxxxxxxxxxxxxxxXxxXxxXxxxXXXXXxxxxs
我遵循了这个文档:
我也在我的Google API面板中启用了GCM,但我仍然会收到令人讨厌的错误消息。
我如何解决这个问题?
发布于 2012-07-03 23:07:29
您的服务器是否使用了GCM服务器返回给您的应用程序的新注册ID?如果我试图向旧的C2DM服务器提供的注册ID发送消息,我就遇到了这个问题。
还要仔细检查发件人ID和API_KEY,它们必须匹配,否则您将收到MismatchSenderId错误。在Google API控制台中,查看项目的URL:
https://code.google.com/apis/console/#project:xxxxxxxxxxx
xxxxxxxxx是项目ID,即发送方ID。
并确保API密钥属于'Key for server apps (with IP locking)‘
发布于 2016-04-08 14:15:45
不使用数字ID时出现不匹配。项目ID不是发件人ID!!我花了9个小时才弄明白。对于google造成的所有混淆,请检查以下链接以获取数字id。
https://console.cloud.google.com
而不是
https://console.developers.google.com
希望它能有所帮助!!
更新:-事情再次发生了变化。现在发送者id是firebase。
转到https://console.firebase.google.com并选择您的项目。在settings -> cloud messaging下,您可以找到发件人id。
而且它起作用了!
发布于 2015-12-24 14:01:25
请在您的终端中运行以下脚本
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
如果成功或失败,都会给出消息
https://stackoverflow.com/questions/11313342
复制相似问题