【问题标题】:Apple Push Notification Service sends repeated notificationsApple Push Notification Service 发送重复通知
【发布时间】:2012-10-16 16:21:35
【问题描述】:

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

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

一些额外的信息:

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

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

【问题讨论】:

    标签: ios iphone cron apple-push-notifications


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 该表有一个名为 status 的列,它是一个 emum { Queued, Delivered, failed}。当 EasyAPNS 发送消息时,立即将其切换为已传递。
      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      相关资源
      最近更新 更多