【发布时间】:2015-04-21 10:15:58
【问题描述】:
从 Azure 移动服务通知中心向 iOS 设备发送推送通知失败一半时间并出现此错误:
推送通知系统返回内部服务器错误
这是我的设置:
- Azure 的免费试用版
- 沙盒证书上传到移动设备
- 使用 PhoneGap 开发并使用 Adobe 的 PhoneGap Build 服务构建的服务/通知中心应用程序
- 使用
com.microsoft.azure-mobile-servicesCordova 插件(以及标准PhonegapPushPlugin。
我可以使用 Azure 站点上的 DEBUG 页面、Visual Studio 2013(服务器资源管理器 -> Azure)或 ServiceBusExplorer 开源程序向 Apple 发送测试 JSON 消息。它有效,一半时间,另一半时间我收到上述错误。
重现步骤:
- 打开 Visual Studio --> 服务器资源管理器 --> Azure。它指向我的试用帐户。
- 右键单击我的通知中心并选择“诊断”
- 在设备注册下,我删除了之前积累的所有注册。现在没有设备注册。
- 在 iPhone (iOS 8) 上删除并重新安装测试应用
- 启动测试应用程序。一个新的注册出现在通知中心。类型为“本机”。 (我也遇到过“模板”的问题。)
- 转到测试发送选项卡;收件人:广播;消息类型:Apple(默认)
- 我正在使用默认的示例通知(但我在其他 JSON 消息中得到类似的结果):
{"aps":{"alert":"Notification Hub test notification"}} - 点击“发送”;它失败。在“消息结果:”下,对于我的单一注册,我收到以下错误消息:“推送通知系统返回内部服务器错误”
- 等待 90 秒,再次点击发送。通知有效,出现在手机上,消息结果为“通知已成功发送到推送通知系统”
- 再等 90 秒,再次点击发送。通知失败,出现与第一次相同的内部服务器错误。
- 再等 90 秒,再次点击发送。它工作完美,就像第二次尝试一样。
总的来说,它的工作时间大约有一半。在上面的示例中,它每隔一次都有效,但情况并非总是如此——它可以连续多次成功,也可以连续多次失败。我根本没有在上述测试消息之间更改 JSON。即使我改变 JSON,我也会得到相同的结果。无论我是通过 Visual Studio(上图)、Azure 门户(DEBUG 选项卡)还是通过 ServiceBusExplorer 程序进行测试,我都会得到类似的结果。
这是什么原因造成的?我该如何解决这个问题?
【问题讨论】:
-
你有没有运气追踪到这个?我的开发通知中心的成功率接近 10%,而生产通知中心的成功率更高。这似乎是通知中心的问题。
-
&erichedstrom 完全没有进展。微软让我在 MSDN (social.msdn.microsoft.com/Forums/en-US/…) 上发帖,但到目前为止还没有运气。我认为答案必须来自微软——我看不出我可以在我的设置中改变什么。
-
我刚刚开了一张支持票。我会跟进我发现的任何事情。
-
尝试在不同区域创建通知中心命名空间和中心。我在美国西部的沙盒/开发中心遇到问题,但美国中北部正在为我工作。
-
@YaronLevi 遗憾的是,当 Azure 试用期到期时我放弃了这个,所以我没有任何新信息要分享,除了更改到中北部地区是一个成功的解决方法对于某些人。
标签: cordova azure apple-push-notifications azure-mobile-services azure-notificationhub