我正在关注此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推送通知有关,但与网络推送无关,因此其他答案对我的问题没有用。
有没有人遇到过这个问题?我错过了什么?
答案 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
后尝试取消订阅并重新订阅。