Firebase消息传递/不匹配的凭据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firebase消息传递/不匹配的凭据相关的知识,希望对你有一定的参考价值。

我正在尝试使用Firebase向特定设备发送通知,但收到以下错误:

{“r”:{“results”:[{“error”:{“code”:“messaging / mismatched-credential”,“message”:“用于验证此SDK的凭据无权向其发送消息与提供的注册令牌对应的设备。确保凭证和注册令牌都属于同一个Firebase项目。“}}],”canonicalRegistrationTokenCount“:0,”failureCount“:1,”successCount“:0,”multicastId“: 5165415028752234000}}

我不确定是什么导致这种情况,我正在使用与项目关联的服务帐户和正确的设备ID。

任何帮助都会很棒,谢谢!

答案

问题出在我的google-services.json上。我的应用程序使用了两个项目,默认为第一个项目。添加第二个项目json文件最终解决了这个问题,因为它现在可以将令牌发送到正确的项目。

另一答案

可以在documentation for FCM中找到此错误消息。

这意味着您已使用与设备注册令牌不同的项目的凭据初始化Admin SDK。

换句话说:出于安全原因,您不能简单地将消息发送到您提出的任何设备令牌。您只能通过同一项目中的应用程序向设备令牌发送消息。

另一答案

我遇到了同样的问题。我花了两天的时间才弄清楚我需要通过谷歌云平台启用Firebase云消息传递API。如果不启用它,它也会产生错误“mismatched-credential”。我真的希望错误信息可以更具体。

以上是关于Firebase消息传递/不匹配的凭据的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云消息传递令牌和服务器密钥有啥区别?

更新后 Flutter 上的 Firebase 消息传递

为啥 Firebase 无法获取 PlayGames AuthCode 并将其传递到其凭据中?

Firebase Push - 身份验证凭据无效

FCM(Firebase 云消息传递):Firebase 推送通知在 Firefox 中显示,但在 Chrome 中不显示

我如何在 firebase firestore android 中检索文档以匹配我的特定登录凭据