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

Ios Apple推送通知服务发送重复通知,ios,iphone,cron,apple-push-notifications,Ios,Iphone,Cron,Apple Push Notifications,我有一个iPhone应用程序,它接收来自Apple推送通知服务的通知。我使用()来使用每15分钟运行一次的Cron作业推送通知。 我有大约400台注册的设备正在使用我的应用程序 问题是: 当我想向我的用户发送一个新的通知时,他们会多次收到通知,而且总是一样的。我不知道为什么苹果会多次发送相同的通知(比如5次或6次) 一些额外信息: Easy APNS的工作原理是一次获取100条消息(就像一批),因此我想将400条消息发送给我的所有用户需要1小时 在我的apns_消息表中,每个设备只有一个消息条

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

问题是: 当我想向我的用户发送一个新的通知时,他们会多次收到通知,而且总是一样的。我不知道为什么苹果会多次发送相同的通知(比如5次或6次)

一些额外信息:

  • Easy APNS的工作原理是一次获取100条消息(就像一批),因此我想将400条消息发送给我的所有用户需要1小时
  • 在我的apns_消息表中,每个设备只有一个消息条目,因此理论上没有重复消息。似乎同一个条目被处理了很多次

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

可能是因为您在发送邮件后没有从邮件表中删除邮件吗?
Easy APNS似乎将表APNS_messages中的消息排队,直到准备好发送为止。因此,如果他们在被发送后仍留在该表中,Easy APN将看到他们并再次发送他们。

好的,我知道发生了什么。
EasyAppns抓取100条信息并循环浏览。在每个循环中,y连接到两个Apple服务(推送通知服务和反馈服务)。在我的服务器中,防火墙阻止了反馈服务的端口,在尝试连接时超时。因此php执行崩溃,消息在发送时仍处于“排队”状态。所以同一条消息被处理了很多次

该表有一个名为status的列,它是一个emum{Queued,delivered,failed}。当EasyAppns立即发送消息时,会将其切换为已送达。