EasyAPNS发送了消息但未在iOS设备上收到

时间:2013-07-08 22:47:01

标签: php ios push-notification

我使用EasyAPNS作为PHP服务器脚本将推送通知发送到iOS设备。

使用Apple 开发推送通知证书在开发中完美运行,但当切换到发布时,它将消息设置为“已发送”但从未在从下载的iOS设备上收到App Store!

我已经使用此Script测试了Apple 分发推送通知证书以及从App Store下载的应用程序,它运行良好!所以问题不是来自我的发行证书,也不是来自我的应用程序,它位于EasyAPNS脚本和设置中,但我不知道它在哪里以及如何修复它!

2 个答案:

答案 0 :(得分:0)

检查您是否使用了正确的服务器。

在使用该脚本进行的测试中,开发是否设置为false?或者取决于您使用的示例。检查其中任何一个是否导致正确使用生产服务器。

$development = true; // boolean

答案 1 :(得分:0)

我找到了血腥的理由:)

由于使用了长消息,apns_messagesmessage列中的有效内容未作为完整的有效内容格式插入,因此消息字段的内容如下所示:

{"aps":{"alert":"\u064a\u0627 \u0639\u0644\u064a \u0623\u0646\u062a \u0627\u0644\u0648\u0644\u064a \u064a\u0627 \u0639\u0644\u064a \u0623\u0646\u062a \u0627\u0644\u0648\u0644\u064a \u064a\u0627 \u0639\u0644\u064a \u0623\u0646\u062a \u0627\u0644\u0648\u064

因此,我所做的更改是确保使用非常短的消息来确保EasyAPNS在apns_messagesmessage列中插入完整的有效负载消息格式,因此该字段的内容类似于下面:

{"aps":{"alert":"\u064a\u0648\u062c\u062f \u0625\u0639\u0644\u0627\u0646 \u062c\u062f\u064a\u062f \u0645\u0646 \u062e\u062f\u0645\u0629 \u0628\u0644\u063a\u0646\u064a","badge":5,"sound":"alarm.caf"},"module":"messages","id":"28"}