推送是服务端主动给手机端发送消息,现在基本上每个商业级别的应用都会用到推送。苹果在推送这方面算是做得最棒的,所有的推送都通过苹果服务器,从而让手机端变得更加省电。小米推送也跟苹果类似,所有推送都会通过小米来推送,而且即使app退出,也可以收到推送。 从技术上来讲,推送固然可以采用开源的OpenFire+Asmack,当然也可以在服务中开启Socket链接来实现。但现实远非想想的那么顺利。 就拿miui来说,miui从底层对app自动重启做了优化,只要应用被一键清理后,就再也不会偷偷的自动重启了,不管你是注册Receiver还是onStartCommand返回1,app都不会自动重启。但只有微信QQ等很少的应用能自动重启,不是说腾讯的技术多牛逼,而是因为miui默认把微信QQ放入了白名单,允许自动重启,其他应用安装后默认不允许自动重启,这一点可以从安全中心---自动重启中看到。 前面聊了这么多,似乎没看出小米的野心来,但仔细想想,小米手机已经成为国内最活跃的安卓手机,在国内也是用户量最大的手机。若自己的app中不使用小米推送,那你的应用退出,或内存紧张时,就再也收不到推送了,除非你再次启动app,不使用小米推送意味着你可能会失去一大块市场,使用小米推送既可以减少开发量,又可以保证消息及时到达,对厂商来说是两全其美的事,对用户来说,不管怎样都会收到消息。这也就是淘宝,蘑菇街这样的大公司也使用小米推送的原因,即使是百度这样有实力,又有自己的推送服务的公司也有好几款自己的应用依旧采用小米推送。 小米以提高用户体验,阻止app后台自动重启为由,同时也将其他推送拒之门外。看起来合情合理,也没有理由说小米垄断。通过推送,提高了其他公司对自己的依赖,没办法,谁让miui用户量这么大呢。从2010年miui诞生,到现在用户量过亿,小米其实布了一盘很大的棋,这盘棋现在还在继续布阵,终究一天会让对手毫无还手之力。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-09 14:12:09