我们在应用中使用推送通知。他们工作,但有一些可变的传递延迟(有时~10秒,有时超过分钟)。 有谁知道该怎么做才能减少这些延误? 我知道APNS有一些延迟,但我从未经历过如此缓慢的交付。
修改
我在消息发送日期和推送创建日期之间挖掘了一些时间延迟。
我有消息在12:40:17发送(根据QB&#39的管理面板)
和推送通知日志相同的消息说,推送是:"created_at":"2016-05-12T12:40:28Z"
很明显,我们在向QB发送消息的时间和从QB发送给APNS的推送通知之间有11秒的差异
答案 0 :(得分:0)
推送通知不可靠,无法保证已经发送。这一切都取决于苹果APNS服务器,也就是说,通常当我发送推送通知时,我会在几秒钟内得到结果。
他们不可靠! ****即使APNS服务器接受了推送通知,也无法保证实际发送推送通知****。
就您的服务器而言,推送通知是偶然的;在您将通知发送到APNS后,无法确定通知的状态。交付时间也可能有所不同,从几秒钟到半小时。
此外,用户的iPhone可能无法始终接收推送通知。它们可能位于WiFi网络上,因为所需的端口被阻止,因此无法与APNS建立连接。或者手机可以关闭。
APNS将尝试在重新联机时提供该设备收到的最后通知,但它只会在有限的时间内尝试。一旦超时,推送通知将永远丢失!
答案 1 :(得分:0)
对于它的价值,我也遇到了Quickblox这个问题。推送通知是通信流程的关键部分,会延迟一分钟左右。我一直在企业应用程序中使用push,是的,它们不应该被认为是可靠的,但实际上APNS通信非常可靠,并且在我的经验中几乎是即时的。似乎Quickblox正在排队(限制?)通知请求,我的猜测是为了节省带宽 - 他们不是在俄罗斯吗?它破坏了本来可以成为伟大产品的东西。