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

Posted

技术标签:

【中文标题】MobileFirst Starter - 生产模式下的 Bluemix 推送通知失败【英文标题】:MobileFirst Starter - Bluemix Push Notification failure in Production mode 【发布时间】: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,我可以更深入地调查该问题并检查我们的服务器日志。 【参考方案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

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

【讨论】:

太棒了..感谢您的指导。现在效果很好。

以上是关于MobileFirst Starter - 生产模式下的 Bluemix 推送通知失败的主要内容,如果未能解决你的问题,请参考以下文章

在 Bluemix 上使用 MobileFirst Services Starter 创建应用程序

如何将真实设备注册到生产 MobileFirst 7.0 Server 并由其识别?

MobileFirst BlueMix 容器端口

从 Worklight 6.2 升级生产 MobileFirst 7 服务器,适配器调用不起作用

使用 ant-cli 部署生产 mobilefirst 7.1 环境时出现 404 错误

IBM MobileFirst Platform Foundation Server 中的 Ad-hoc Artifact 部署