Apple推送通知服务发送重复通知

时间:2012-10-16 16:21:35

标签: ios iphone cron apple-push-notifications

我有一个iPhone应用程序,可以从Apple推送通知服务接收通知。我正在使用(Easy APNS for PHP)使用每15分钟运行一次的Cron作业来推送通知。 我注册了大约400台正在使用我的应用程序的设备。

问题: 当我想向我的用户发送新通知时,他们会多次收到通知,并且它始终是相同的。我不知道为什么Apple会多次发送相同的通知(例如5或6次)

一些额外的信息:

  • 简易APNS通过一次获取100条消息(如批处理)来工作,所以我想将400条消息发送给所有用户需要1小时。
  • 在我的apns_messages表中,消息每个设备只有一个条目,因此理论上没有重复的消息。好像多次处理相同的条目。

我无法找到为什么我多次收到相同的通知。这对用户来说也很烦人。

2 个答案:

答案 0 :(得分:1)

好的,我发现发生了什么事。 EasyAPNS抓取100条消息并循环遍历它们。在每个循环中,y连接到两个Apple服务(推送通知服务和反馈服务)。在我的服务器中,防火墙阻止反馈服务的端口在尝试连接时发出超时。因此,php执行崩溃了,并且消息在已经发送时保留为“排队”。所以同样的消息被多次处理了!

答案 1 :(得分:0)

发送后你是不是要从消息表中删除消息? Easy APNS似乎将表apns_messages中的消息排队,直到准备好发送。因此,如果他们在发送后留在该表中,Easy APNS将会看到它们并再次发送它们。