我已为Chrome推送通知部署了sample code并将gcm_sender_id
更新为新配置的项目,客户端可以正常订阅/取消订阅,但在发布请求时发送通知响应MismatchSenderId
不断返回。
我尝试过创建多个新项目console.firebase.google.com
,但似乎没有任何效果。
请求:
POST /gcm/send HTTP/1.1
Host: android.googleapis.com
Authorization: key=<Server Key/>
Content-Type: application/json
{
"registration_ids":[
"<Registration-ID/>"
]
}
响应:
{
"multicast_id": 6881038306061588882,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
我正在使用&#39;服务器密钥&#39;作为请求身份验证令牌(当使用无效密钥时返回401,并使用&#39;发件人ID&#39;在清单中:
的manifest.json
{
"name": "Notification Demo",
"gcm_sender_id": "<Sender ID/>"
}
答案 0 :(得分:1)
这是我自己的错;样本注册ID的格式与我看到的生成的格式不同,并且不包含用于从订阅端点字符串中删除注册ID的分号。通过正斜杠拆分端点并获取最后一个实例返回正确的注册ID,该工作正常。