【问题标题】:MobileFirst Starter - Bluemix Push Notification failure in Production modeMobileFirst Starter - 生产模式下的 Bluemix 推送通知失败
【发布时间】:2015-11-30 21:54:42
【问题描述】:

我正在构建一个可以通过 Bluemix 接收远程通知的 iOS 应用程序。我在 Xcode 中的 app Bundle Identifier 与 Apple Portal 中的 AppId 匹配,该 AppId 也与 APN 证书(xxx-sandbox.p12 和 xxx-production.p12)匹配。

在开发过程中,我使用带有 Bluemix Sandbox 的推送通知(在 MobileFirst Starter 样板下)进行了测试。一切正常。我可以在我的 iPhone 中接收通知。但是,当我在生产模式下进行测试时,我不断收到错误消息:“内部服务器错误。未找到设备”。

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

非常感谢任何建议。

【问题讨论】:

  • 确认一下,您的设备是否已注册为生产模式?设备注册仅涵盖一个环境,因此如果之前仅在沙箱中注册过,则需要在生产中注册它。如果您想发布您的应用程序 ID,我可以更深入地调查该问题并检查我们的服务器日志。

标签: ios apple-push-notifications ibm-cloud ibm-mobilefirst ibm-mobile-services


【解决方案1】:

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

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

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

带有json主体

{ 
  "mode" : "PRODUCTION" 
}

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

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

切换环境模式后,您需要重新运行客户端代码以将设备注册为生产模式。从那里您应该能够按预期进行推送。

【讨论】:

  • 太棒了..感谢您的指导。现在效果很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多