个推SDK看护功能介绍

由于Android4.0以上系统内部对于静态注册的receiver做了一次保护,如果应用是被强制关闭(如360手机卫士等软件的一键关闭进程),或者重来都没有启动过,静态注册的receiver是无法获取到广播事件的。这将导致之前通过监听静态广播,如开机自启动和网络变化等方法无法百分之百激活应用。

个推SDK看护功能介绍_第1张图片

Android系统分布

经统计,截止2015年4月,Android系统4.0以上的用户数占比已经高于95%,手机上安装有安全管家应用的用户数超过4.5亿。考虑到通过安全管家应用强制关闭进程或取消应用的开启自启动的用户占据了相当大的比重,为了解决推送服务无法被激活的问题,个推率先引入了看护功能。

个推SDK看护功能介绍_第2张图片

被安全卫士关闭自启的应用

 

接入个推SDK的第三方应用,个推SDK可通过内部机制在多个独立的应用之间进行通信。

个推SDK看护功能介绍_第3张图片

 

个推SDK进程间通信相互看护流程

 

假设当前手机安装了三个独立的应用:A、B和C。A、B接入了个推SDK,C未接入。当用户通过强制关闭进程的方式将B、C的进程关闭,之后B应用发了一条推送,手机上的个推SDK共享链路会检测到B的推送服务没有被激活,通过A、B应用个推SDK内部进程间的通信机制,可以把B的个推SDK服务激活,从而达到推送服务正常运行的效果。而另一方面,由于C应用未集成个推SDK,因此除非用户主动打开该应用,否则推送将无法正常到达。

 

个推的看护是相互的,除了A能看护B以外,B同样也能看护A,最后形成一个共赢的局面。新版个推SDK提供看护功能后,集成个推SDK的应用将组成一个看护联盟,SDK间相互看护保证各自的推送服务正常运行。

你可能感兴趣的:(推送,消息推送,安卓推送)