我尝试使用Firebase向特定设备发送通知,但收到以下错误:
{" r":{"结果":[{"错误":{"代码":"信息/ mismatched-credential"," message":"用于验证此SDK的凭据无权向与提供的注册令牌对应的设备发送消息。确保凭据和注册令牌都属于同一个Firebase项目。"}}]," canonicalRegistrationTokenCount":0," failureCount":1," successCount& #34;:0," multicastId":5165415028752234000}}
我不确定是什么导致这种情况,我使用与项目相关联的服务帐户和正确的设备ID。
任何帮助都会很棒,谢谢!
答案 0 :(得分:4)
问题出在我的google-services.json
上。我的应用程序使用了两个项目,默认为第一个项目。添加第二个项目json文件最终解决了这个问题,因为它现在可以将令牌发送到正确的项目。
答案 1 :(得分:4)
我遇到了同样的问题。我花了两天的时间才弄清楚我需要通过谷歌云平台启用Firebase云消息传递API。如果不启用它,它也会产生错误" mismatched-credential"。我真的希望错误信息可以更具体。
答案 2 :(得分:3)
这意味着您已使用与设备注册令牌不同的项目的凭据初始化Admin SDK。
换句话说:出于安全原因,您不能简单地将消息发送到您提出的任何设备令牌。您只能通过同一项目中的应用程序向设备令牌发送消息。
答案 3 :(得分:0)
在Google Cloud Platform中启用Firebase Cloud Messaging API。
请注意,我在“ API和服务仪表板”部分中找不到它,但是我必须浏览API库
启用它后,您可以在以下位置找到它:
Google云平台>导航菜单> API和服务>仪表板> Firebase Cloud Messaging API
直接链接:https://console.cloud.google.com/apis/api/fcm.googleapis.com/overview
贷记niocncn。