我在iOS和Android的adobe air应用中遇到了推送通知的奇怪问题。
我使用Milkman Games的Easy Push ANE以及One Signal服务。
问题是通知确实到达,但有时(随机),消息发送后可能需要15分钟才能到达设备。
这对我的应用程序(出租车预订应用程序)至关重要,因为我依赖于推送通知,用于出租车应用程序和用户应用程序之间的通信。因此,例如,如果用户请求出租车,则最多可能需要15分钟才能通知出租车应用程序。
与One Signal支持人员交流,根据他们的说法,一切都很好,如果我查看One Signal仪表板,通知几乎会立即发送。
这种延误的原因是什么?我能做些什么才能让事情变得更好?
谢谢。
答案 0 :(得分:11)
通常,推送通知会很快到达。但是在一些罕见的情况下,我们看到它们被推迟了:
Android设备上的通知延迟:
一些家庭和商用wifi路由器将导致设备与Google的GCM服务器的连接关闭。设备稍后重新打开连接并接收延迟通知。 (在这里讨论:https://groups.google.com/forum/#!topic/android-gcm/Y33c9ib54jY)
某些自定义版本的Android操作系统具有省电设置,可能会导致通知被延迟或忽略。例如,索尼Xperia设备具有" Stamina Mode"。 (在这里讨论:https://talk.sonymobile.com/t5/Xperia-Z3-Compact/Notifications-not-Working-When-Phone-in-Sleep-Mode/td-p/879641)
某些Android设备在电池电量不足时可以进入低功耗模式,这可能会导致接收通知时出现轻微延迟。
iOS设备上的通知延迟:
当使用开发配置文件向设备构建发送通知时,Apple的APNS服务器有时可能不那么快或不可靠。您可以将使用AdHoc配置文件构建的应用版本与生产推送证书进行比较,看看它是否更有效。在不久的将来,Apple将改变这个系统的工作方式,因此这个问题就会消失。
与Android一样,某些wifi路由器会导致iOS通知传送延迟。
如果"限制背景数据"可能会延迟通知如果在高级设置中启用了Wifi-Optimization,或者启用了优先模式,则会检查应用程序。
WhatsApp在其常见问题解答页面底部有一个很好的解决延迟Android和iOS通知的说明列表:https://www.whatsapp.com/faq/en/android/20887936
总的来说,上述问题很少见,几乎所有用户都会及时收到通知。但是,对于您的特定用例,您可能会发现短信是一种更可靠的工具。
答案 1 :(得分:0)
就我而言,在我发送到 APNS 的有效负载中,我将“附件”属性发送为“”。当我将其更改为 null 时,问题就消失了。
替换
"attachment": ""
与
"attachment": null
我不知道为什么,但奇怪的是它导致通知延迟了 1.5 分钟之类的时间。