Tar*_*ury 63 firebase firebase-cloud-messaging
我有一个使用Google FCM发送推送通知的应用程序.
当我向一组用户发送推送通知时,我得到了MismatchSenderId一些用户的回复.尽管如此,所有用户都拥有完全相同的应用程序.一些用户如何获得成功响应而其他用户获得MismatchSenderId?
我已经研究了很多,并确保我已经添加了FCM所需的所有先决条件.
有什么建议?
编辑:
样品回复:
{"multicast_id":5340432438815499122,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
Run Code Online (Sandbox Code Playgroud)
编辑2:
这是服务器端发送代码(PHP):
$fields = array
(
'to' => $token,
'data' => $data
);
$headers = array
(
'Authorization: key=AIza**************************',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, true );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode($fields) );
curl_exec( $ch );
curl_close( $ch );
Run Code Online (Sandbox Code Playgroud)
更新:
似乎已通过SDK更新解决了该问题.我现在正在使用最新版本com.google.firebase:firebase-messaging:9.6.1,我不再使用"MismatchSenderId"了.
Jin*_*P C 31
Firebase已将其服务器密钥升级到新版本.使用新密钥而不是旧密钥.
转到设置 - >项目设置 - >云消息传递选项卡
也许它会起作用
小智 20
我有同样的问题.经过数小时的努力来解决这个问题,我发现了这个解决方案
希望这会帮助你.谢谢
小智 17
仅供参考。我遇到了这个错误,尽管我发誓我正在测试的 android 应用程序是用最新/最好的 google-services.json 文件构建的,我可以从 FCM 控制台发送到应用程序。我在做了一个之后重建了应用程序Clean Project,现在我可以使用它注册的 FCM 令牌发送到应用程序。所以,也许在用头撞墙太久之前尝试干净的重建。
gor*_*kha 10
这对我有用:
我使用的是另一个Firebase项目(例如Project 2)中的Server key。我使用与链接到我的android项目(说Project 1)相同的服务器密钥,它起作用了。以我的经验,为一个完整的android项目使用一个firebase应用似乎可以解决问题。
通过输入正确的密钥解决了我的问题,如下所示。
和身体是这样的图片行
我们花了几个小时来解决这个问题。我们发现令牌是使用不同的 FCM 帐户设置 (google-services.json) 生成的,并且通知是使用不同的 FCM 帐户设置的。当我们同步两者时,它就像一个魅力。
我交叉验证了所有凭据
添加了新的服务器密钥并删除了旧的服务器密钥
再次下载google-services.json
没有解决任何问题
然后我只是清理项目,然后重建项目。之后它工作正常
我遇到了同样的问题,我是这样解决的:
瞧……
| 归档时间: |
|
| 查看次数: |
76318 次 |
| 最近记录: |