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


EasyAPNS delivered the message but not received on iOS device

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

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

我已经使用此脚本测试了Apple分发推送通知证书以及从应用商店下载的应用程序,效果非常好!所以问题不是来自我的分发证书,也不是来自我应用程序,它在EasyAPNS脚本和设置中,但我不知道它在哪里,也不知道如何修复它!

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

在使用该脚本进行测试时,是否将开发设置为false?或者是真的,这取决于你使用的例子。检查这两种方法中的任何一种是否能够正确使用生产服务器。

$development = true; // boolean

我发现了血腥的原因:)

apns_messages。由于使用了长消息,message列没有作为完整的有效载荷格式插入,因此消息字段的内容如下所示:

{"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_messages中插入一个完整的有效负载消息格式。message列,因此字段的内容如下所示:

{"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"}