尝试发送网络推送通知时出现“错误”:“MismatchSendedId”

时间:2016-10-09 23:36:08

标签: curl google-cloud-messaging firebase-cloud-messaging web-push progressive-web-apps

我正在关注此guide以了解网络推送实施。我已经按照指南进行操作,直到我在使用curl发送通知时遇到问题:

curl --header "Authorization: key=<PUBLIC_API_KEY>" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"<SUBSCRIPTION_ID>\"]}"

我使用Firebase Cloud Messaging密钥更改了API密钥和订阅ID,并在浏览器上接受通知时生成了订阅ID。

执行curl时仍然出现此错误:

  

{ “multicast_id”:8346257587601342490, “成功”:0, “失败”:1, “canonical_ids”:0 “结果”:[{ “错误”: “MismatchSenderId”}]}

我发现此错误与Android推送通知有关,但与网络推送无关,因此其他答案对我的问题没有用。

有没有人遇到过这个问题?我错过了什么?

2 个答案:

答案 0 :(得分:2)

我也遇到了同样的事情。即使在重新检查十几次之后,清单也已正确写出并设置,并且API_KEY和registration_ids是正确的。 但我现在注意到问题是我没有复制整个网址链接。 如果您的端点网址是以下示例: 端点:https://android.googleapis.com/gcm/send/c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot

然后subsctionID将是“c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot”。

我一直只使用“APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot”中的最后一部分,我猜这就是我收到错误的原因。

答案 1 :(得分:0)

这意味着服务工作者安装与GCM发件人关联,该GCM发件人与生成API密钥的GCM发件人不同。

来自Pushpad troubleshooting

  
      
  • 确保您已创建并关联manifest.json
  •   
  • 检查您是否正确输入了gcm_sender_id
  • 中的manifest.json   
  • 检查您是否正确输入了GCM API key
  •   

如果一切正确,您也可以在设置正确的gcm_sender_id后尝试取消订阅并重新订阅。