相信用苹果的小伙伴一定遇到过微信信息推送延迟,打开微信后狂转“收取中”。往往通知刚来,但是点进去发现是很久之前的信息,如果是对象或者领导的信息,那很有可能就玩完了。
大家好,我是小锐,让我们一起了解一下苹果的推送机制,看完后你就知道为何苹果信息推送会延迟。
一:了解墓碑机制
懂的小伙伴就知道苹果的后台机制——墓碑机制,也就是平常所说的假后台。所谓墓碑机制就相当于一个墓碑上刻着字——应用的运行,当程序挂在后台,除极少数如音乐,步数等,苹果的墓碑机制会将应用冻结并记录当前状态,当前状态就相当于刻在墓碑上的字。
由此可知,微信放在后台后会被冻结起来,从而与服务器断开连接。
二:了解信息统一推送与接收
比如现在有甲和乙同时使用苹果微信,甲给乙发信息。
1.当双方都打开微信并且运行在屏幕前时,乙方打开与甲的聊天框,信息从甲方微信→腾讯服务器→乙方微信,这时乙方收到消息,系统不用推送通知。
乙方苹果微信在线
2.当乙方微信不在屏幕前运行,这时乙方微信是被冻结着,不运行;或者说,乙方在和别人聊天。这时信息从甲方微信→腾讯服务器,腾讯服务器发现乙方微信处于离线或者与别人聊天,这时会将信息发送给苹果服务器,由IOS统一推送将信息弹出在通知栏。这时乙方打开甲方聊天框,通知消失。或者这时乙方打开微信,微信解冻,但是没有收到信息,需要连接腾讯服务器,这时就会出现“收取中”,表示正在连接,连接成功后将接收甲方信息。这也是为什么当有消息来时,不会立即显示信息而一直转圈的原因。
乙方苹果微信离线
假如乙方使用安卓或鸿蒙系统,甲方任意也是甲发信息给乙。那么当微信同时在屏幕前运行,与“1”保持一致。
但是当使用安卓或鸿蒙的乙方将微信挂在后台,微信是运行的,或者说是微信自带的推送在运行。当甲方发出信息,信息会从甲方微信→腾讯服务器→微信自带推送在通知栏显示信息同时微信接收信息。
乙方安卓或鸿蒙微信挂后台运行
由此可见,在苹果的接收信息通知过程中,比一般的安卓或者鸿蒙多走了一步,需要经过IOS统一推送。而苹果服务器不仅要处理不同应用的信息,也要处理接收用户。而微信自带的推送只需接收微信消息。所以说当苹果服务器繁忙时,而腾讯服务器和微信自带推送极少繁忙,经常会出现苹果通知延迟,但是安卓或鸿蒙没问题。
当然网络也是其中一个原因,但是是次要,虽然说苹果信号比安卓差,但在一般情况下也是差不了太多。当网络差的时候,即使苹果服务器不繁忙,那么你的苹果手机也不会收到苹果服务器的通知,自然也会延迟。
三:目前有什么解决方法吗?
可以这样子说,只要苹果的后台机制——墓碑机制 不改变,那么苹果端微信就不会有微信自带推送(不要怪腾讯,就算加入也因为墓碑机制而无法运行),那只能苹果服务器统一推送。当苹果服务器繁忙时,总会出现信息通知延迟。这个只能是苹果来解决,比如增加服务器数量等等。
另外如果是网络差,我们可以尝试改善一下网络。开关一下飞行模式,换个更好的WiFi等等。
以上就是今天的所有内容,希望对你有所帮助。我是小锐,一个00后的数码DIY,期待您的点赞、转发和关注。
,