2016-11-15 70 views
1

使用Pushsharp(nuget包)的v4.0.10,发送推送通知到Android设备时出现错误GCM Authorization FailedPushSharp - GCM授权失败

似乎在问题574(https://github.com/Redth/PushSharp/issues/574)中引发的错误已被编译到nuget包中,但我仍然收到此错误。

这可能与引入Firebase云消息传递有关吗?

有没有人仍然使用GCM成功?

+0

您是否使用了正确的服务器密钥? –

+0

我相信 - 自从我们上次在几个月前成功推出sharp以来,我一直没有更改过我的代码。自从FCM引入后,Google Play控制台/ google api控制台发生了变化,我无法再找到服务器的位置键。你能指示我可以获得这个密钥的地方吗? –

+0

我已在回答中添加。让我知道如果它有效。 –

回答

3

截至目前,GCM仍然可用。但是,新用户改用FCM受到鼓励。无论哪种方式,对于GCM和FCM,都必须使用从Firebase控制台生成的服务器密钥。有一个在GCM docs说法可见注:

从2016年9月开始的新服务器密钥只能在火力地堡控制台使用设置面板的Cloud Messaging选项卡来创建。需要创建新服务器密钥的现有项目可以在Firebase console中导入,而不会影响其现有配置。

授权错误已经遇到了多少用户,有些还有一个旧的项目。有关更多详细信息,请参阅我的回答here

+1

我已将我的项目导入Firebase。发送推送通知的我的服务器应用程序现在使用Firebase控制台 - >项目设置 - >云消息传送中的服务器密钥。 但是,我现在收到错误MismatchSenderId。使用“Firebase云消息传递令牌”呈现相同的结果。看起来像一个稍微好一点的情况。 我的Google开发者控制台中的应用在“链接的发件人ID”部分有来自Firebase控制台的发件人ID。 –

+0

在Google API Manager中,我可以看到生成的服务器密钥(“服务器密钥(由Google服务自动创建)”)。我看到一条评论建议添加一个限制(我的IP地址),但这没有帮助。 –

+0

@ErnieP限制是可选的,但推荐。只有当您使用与注册令牌无关的发件人ID时,才会出现[MismatchSenderId](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes)。你能给出一个链接,你看到链接发件人ID吗? –

0

应用程序代码中使用的发件人ID需要与发件人ID Firebase云消息控制台及其相应的“Firebase云消息传递令牌”相匹配。

谢谢@AL的帮助。

+0

不客气。请确保在这里接受***正确答案***,以便您的帖子可以正确标记。干杯! –