gpt4 book ai didi

asp.net - PushSharp GCM "Authentication Failed"

转载 作者:行者123 更新时间:2023-12-02 10:43:47 26 4
gpt4 key购买 nike

我已经在 Web 服务和 Windows 服务中使用 PushSharp 处理 Apple 通知有一段时间了,没有出现任何问题。

在添加 Google GCM 代码时,它在我的 Web 服务和我将服务转换为的控制台应用程序上运行得非常好,但即使在同一服务器(Amazon EC2 实例)上运行,它在 Windows 服务中也会严重失败

以下代码对于 GCM 通知给出“身份验证失败”错误,对于 Apple 通知则没有错误。但是,如果我在同一服务器上的 Web 服务或控制台应用程序中运行相同的代码,则它可以正常工作。

Dim push As PushBroker = New PushBroker

Try
AddHandler push.OnNotificationSent, AddressOf NotificationSent
AddHandler push.OnNotificationFailed, AddressOf NotificationFailed

Dim appleCert = File.ReadAllBytes("FILENAME")
push.RegisterAppleService(New ApplePushChannelSettings(False, appleCert, "PASSWORD"))
push.RegisterGcmService(New GcmPushChannelSettings("API_KEY"))
push.QueueNotification(New GcmNotification().ForDeviceRegistrationId("ANDROID-TOKEN").WithJson("{""alert"":""Hello World!"",""badge"":1,""sound"":""sound.caf""}"))
push.QueueNotification(New AppleNotification().ForDeviceToken("IOS-TOKEN").WithContentAvailable(1))

Catch ex As Exception

End Try

如果我删除该行:

   push.QueueNotification(New GcmNotification().ForDeviceRegistrationId("ANDROID-TOKEN").WithJson("{""alert"":""Hello World!"",""badge"":1,""sound"":""sound.caf""}"))

它在 Windows 服务和 Web 服务上都能完美运行。

有人能看出我做错了什么吗?这不是防火墙问题。我把防火墙关掉了还是不行。我有很多其他代码,并将其提炼为上面的代码,以确保没有隐藏的问题。

编辑。我设置了一个控制台应用程序,从 Windows 服务复制代码,并使用浏览器 API key 而不是服务器 API key 。

这在我的本地计算机和服务器计算机上都完美运行。然而,无论我使用哪个 API key ,Windows 服务仍然会遇到相同的错误。

更新:虽然 Windows 服务收到错误,但它实际上确实发送了两个通知,然后就不再发送了。如果我停止服务并再次启动它,即使仍然返回通知错误,我也会收到另外两个通知。

我真的被困住了。我现在可以连续运行控制台应用程序,但它并不完美。如有任何帮助,我们将不胜感激。

最佳答案

我遇到了类似的问题 - 在 Visual Studio 中一切正常,但在生产服务器上 AndroidGcm 身份验证失败。

我认为这与“服务器应用程序 key ”中的 IP 列表有关,因此我尝试使用服务器的 IP 地址重新生成一个列表。这不起作用。

最终,为了响应上述评论之一和其他地方的另一个线程,我从服务器登录到 Google Play 开发者控制台并创建了一个新 key ,没有指定任何IP 地址。

使用此键解决了我的问题

关于asp.net - PushSharp GCM "Authentication Failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26771630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com