苹果推送通知服务发送重复通知

3
我有一个iPhone应用程序,可以从苹果推送通知服务接收通知。我使用(Easy APNS for PHP)通过每15分钟运行的Cron作业推送通知。我注册了大约400个正在使用我的应用程序的设备。
问题: 当我想向用户发送新通知时,他们会多次收到相同的通知。我不知道为什么苹果会多次发送相同的通知(例如5或6次)。
一些额外信息:
- Easy APNS的工作方式是一次获取100条消息(类似批处理),因此我猜它需要1小时才能将所有消息发送给我的所有用户。 - 在我的apns_messages表中,每个设备的消息只有一个条目,因此理论上没有重复的消息。看起来相同的条目正在被多次处理。
我找不到为什么会多次收到相同通知的原因。这对用户也很烦人。
2个回答

1

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


0

你是否没有在发送后从消息表中删除该消息? Easy APNS似乎会将消息排队在apns_messages表中,直到准备好发送。因此,如果它们在发送后仍留在该表中,Easy APNS将会重新发送它们。


该表有一个名为“状态”的列,它是一个枚举类型 {排队,已发送,发送失败}。当EasyAPNS发送消息时,它会立即将其切换为“已发送”。 - Herno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接