之前有同学在群里问我一些关于推送的问题。回答完觉得这个题目还是挺有用的,因为几乎大部分人都会遇到这个问题,所以暂时写一篇文章给大家总结一下。1、为什么要用push?推送功能是现在任何应用程序都必须具备的功能,因为它可以每天推送消息以改善日常活动。用户长时间未打开,推送消息召回用户。一般来说,推送是由系统完成的。比如iOS的推送就是苹果自己做的。它是系统级别的,可以随时推送给用户。对于Android的推送,谷歌自己有一套推送服务,也是系统级的,叫GCM,GoogleCloudMessaging,但是众所周知,谷歌的服务在国内是无法使用的,这意味着我们必须借助第三方推送服务。2、为什么要使用第三方推送服务?因为GCM在国内的限制,这是一个机会,国内涌现出很多推送服务公司。大多数公司会选择使用第三方的推送服务,因为自己做推送比较麻烦,需要服务器资源、开发、后台管理、统计等,对于一些大公司来说,他们有资源做这个,而出于安全考虑,他们会优先考虑自己做,但是大部分中小企业不会浪费资源在这上面,尤其是创业公司,更急于把资源用在自己的核心业务上,所以大部分小而中型互联网公司会选择第三方推送服务。3.有哪些第三方服务?目前比较好的推送服务有小米推送、腾讯信鸽推送、百度推送、极光推送、友盟推送等,这些推送服务大多具有以下特点:免费,当然有些公司也收费,自称是更稳定,推送到达率更高,但大部分还是使用免费版。服务会被杀死由于Android系统的机制,后台推送服务会被各种主动或被动行为杀死,一旦服务被杀死,就意味着将收不到推送消息。多个应用共享一个推送通道是什么意思?也就是说,如果多个应用程序使用相同的推送服务,那么这些应用程序共享一个消息通道。即使你的应用推送服务被杀掉了,只要用户打开其他集成了这个推送服务的应用,你的首页推送就可以收到消息。4.哪个推送更好?每个推送服务都声称自己的推送到达率高,都声称自己的推送服务比较不容易被kill,都声称自己的推送比较稳定有保障,但是我想说的是,它们都是大同小异的。你技术上能做到的,其他公司也能做到,到达率也差不多。据我观察,平均推送到达率在70%左右就已经算不错了。那么应该如何选择呢?一件事很特别?一些推送服务有自己的手机品牌。比如小米有自己的手机。在MIUI系统上,小米推送是系统级服务,不会被杀死。至于愚蠢到杀死自己的家庭服务?所以这是一个巨大的优势。类似的华为推送服务在自己的手机系统上是不会被杀掉的。各大手机厂商都标榜自己的手机市场占有率最大。不过,我想说的是,现在市面上的安卓手机,只分小米手机和其他手机。而且遥遥领先于其他手机。我们自己的app的数据就是这样,下面是友盟发布的活跃安卓设备排名数据。地址在这里:http://www.umindex.com/convenient看看我拍的图:从上图可以看出,小米在前十名中占据了7个席位。小米手机的整体市场份额确实最大,其次是三星和华为,其次是oppo、vivo和魅族。平分秋色。所以,小米手机的市场占有率,再加上小米推送在MIUI上没有被秒杀,小米推送成为了不二之选。5.总结所以综上所述,如果你的app想省事,建议直接集成小米推送。如果你的app想优化推送,可以集成多个推送服务,针对不同的渠道使用不同的推送,比如小米渠道针对小米渠道推送,华为渠道针对华为渠道推送,其他渠道采用信鸽推送等,但是这是也比较麻烦,怎么做就看你自己权衡了。【本文为专栏作者“stormzhang”原创稿件,转载请联系原作者(微信ID:googdev)】
