MobileFirst Starter - Bluemix 推送通知在生产模式下失败

MobileFirst Starter - Bluemix Push Notification failure in Production mode

我正在构建一个可以通过 Bluemix 接收远程通知的 iOS 应用程序。我的 Xcode 中的应用程序包标识符与 Apple 门户中的 AppId 匹配,它也与 APN 证书(xxx-sandbox.p12 和 xxx-production.p12)匹配。

在开发过程中,我测试了将推送通知与 Bluemix Sandbox(在 MobileFirst Starter 样板下)结合使用。一切正常。我可以在 iPhone 中收到通知。但是,当我在生产模式下进行测试时,我不断收到错误消息:"Internal server error. No devices found".

我已确认我的设备存在(使用 REST API:https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/devices/get_apps_applicationId_devices)。

非常感谢任何建议。

好的,REST API 显示您尚未在生产模式下注册任何设备。此外,它显示后端应用程序正在沙盒模式下工作,所以让我们先更改它。

为此,您需要 PUT ApplicationID 设置 REST API 调用:

https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/applications/put_apps_applicationId_settings

与json正文

{ 
  "mode" : "PRODUCTION" 
}

然后我将使用 GET ApplicationID 设置 REST API 调用来确认模式切换已经发生(您应该在响应中看到 "mode" : "PRODUCTION")

https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/applications/get_apps_applicationId_settings

切换环境模式后,您将需要重新运行您的客户端代码以在生产模式下注册您的设备。从那里你应该能够按你期望的那样推动。