我12p max锁屏收不到信息怎么调试
发布网友
发布时间:2022-03-22 13:36
我来回答
共1个回答
热心网友
时间:2022-03-22 15:06
ios消息通知延迟已成普遍问题,这里要说的是,不仅仅是微信,至于大家一直说微信延迟,只是使用微信频率高,事关生活和工作,其实其他APP也是这样的。很多人遇到以上的问题,深感烦恼,我也是一样。于是上网各种寻找解决办法。什么设置通知、卸载重装APP、重启手机、关闭ft、im等等,有的解决了,有的依然不行。现在肯定的是,能解决的是绝对是碰巧。为什么这样说,我们接着分析。
通过*搜索相关问题得知:ios消息通知的原理:是消息第一时间发给苹果APNS服务器,再由APNS服务器发给你,这样即便接受信息的客户端APP在后台被杀,也不会影响消息的推送。如果有延迟,则是APNS服务器在发给你的时候出现了延迟。你有没有想过,这么大公司的服务器怎么会出现这个低端的问题?我是不相信的。于是又查询,最后终于从一个国外ios开发技术人员的文档中得出:意思大概是,APNS服务器出于安全性,所以在SDK文档中就指出,需https网络协议传输。所以我得出的理解就是:
(1)如果APP处于活动状态:APNS服务器会捕捉到,认为安全,即便你的网络传输是基于http端口协议,也会第一时间推送给你;
(2)如果APP在后台,进程被杀(就是大家说的锁屏一段时间以后):APNS捕捉不到你的APP进程,理论上应该也是第一时间推送,但前提是你手机连接的网络必须是基于https(443端口)传输,这是相对安全传输(ios接口规范也是这个基本要求)。出现推送延迟是APNS服务器没有检测到你的网络是安全的(不是https),所以会有一个判断安全环境的过程,这个过程就是延迟的时间,一旦你打开APP,这个问题就不存在,因为已证明你的接收端口是正确的、实际存在的。之所以不同于安卓系统,还不是因为一直标榜的安全,既然说安全,就必须有一个安全的标准,这点可以理解的。
根据以上的分析,那么应该怎么解决呢?
之前有网友说同时开启wifi和蜂窝数据网络能解决,是的,我就是这样解决的。但也有人说依然解决不了,那这里的原因又是什么呢?
之所以能解决的是因为蜂窝数据网络开通了https(运营商对你手机号网络开通了https),不能解决的是没有开通,需要自己打电话开通(运营商默认情况下不会给你开通的)。那么wifi如果支持https网络传输,其实也是可以的,那样的话就不用开蜂窝数据了。wifi网络设置可以增加443端口(有的老机子可能不行),前提就是宽带需要支持https。
因此,从原理上分析,彻底解决这一根本问题:即是wifi或蜂窝数据,至少有一个支持https端口协议传输。
有的小伙伴说了,一个手机搞这么麻烦,不如换机子算了。问题就出现在这,IOS和安卓不是一个系统,每个系统有自己的标准,既然用了,那也没办法。从另一个角度来说,IOS这样做还是基于安全考虑的,再一个就是为了他的流畅性(APP在后台都是假后台,也就是进程被杀,要接受安全数据,没有身份的话,理论上讲是不安全的)。