Apple 的 APNS 交付有时很慢

Posted

技术标签:

【中文标题】Apple 的 APNS 交付有时很慢【英文标题】:Apple's APNS Delivery is Sometimes Slow 【发布时间】:2012-09-06 00:41:17 【问题描述】:

使用我们自己的内置 APNS 推送系统(用 php 编写),我们在某些事件上推送到我们的设备。某些通知会立即被设备接收,而某些设备可能需要长达 15 分钟才能看到。

我们保持连接打开(根据 Apple 的要求)并在出现错误时重置连接(通常在它们关闭连接时)。

一切正常,我可以随时将一条消息放入我们的系统队列中,发送到我的 ipod touch,并在几秒钟内收到通知。

但有时,在其他设备(例如 3G iPhone 设备)上,APNS 往往会正确交付 - 但最多可能需要 15 分钟才能到达。

查看我的应用程序,我可以看到通知仅被推送一次,非常快速且没有错误。但是,就交付速度而言,它们似乎无法预测。

我了解 APNS 更喜欢使用 3G,因此如果存在连接问题 - 这可能会导致设备上的 APNS 连接重新初始化时延迟长达 15 分钟。

在为我们提供成功(和快速)的 APNS 消息或使用 APNS 时,是否可以做更多的事情?

看来我们正在测试的设备似乎有最多的问题是沃达丰(澳大利亚)。

【问题讨论】:

【参考方案1】:

在其他线程中继续一些先前的信息,如果出现延迟,似乎并不“罕见”。

虽然在大多数情况下,您应该期望在几秒钟内送达,但显然可能长达 30 分钟,这只是由于移动网络中断等网络问题和其他因素。

来源:How much delay of ios push notification? 还有:Apple's APNS Docs

【讨论】:

感谢您的链接先生。我相信你是对的,而且我的目标没有什么可以改进的了。

以上是关于Apple 的 APNS 交付有时很慢的主要内容,如果未能解决你的问题,请参考以下文章

为啥有时 Apple Accelerate 框架很慢?

win10电脑打开此电脑资源管理器任务管理器软件等突然很慢很慢,cup内存磁盘利用率却很低

SAP migo这个事物代码在做操作的时候,多人操作同一个事务代码时很慢很慢,是啥原因?

jsp做的网页,用tomcat测试时读数据库数据时很慢很慢,是啥原因?

公司网络很慢很卡的原因分析与处理

为什么Apple Accelerate框架有时会很慢?