之前在群里有同学问我关于推送的一些问题,解答之后我觉得这个话题还挺有用,因为几乎大部分人都会遇到这个问题,那姑且就写篇文章总结给你们吧。

1. 为什么要用推送?

推送功能可谓是现如今任何一个 App 的必备功能,因为每天可以推送消息,提升日活啊,用户长久没打开了,推个消息就把用户召回了啊。

一般来说推送都是系统来做的,比如 iOS 的推送是苹果自己做的,系统级别的,任何时候都可以推送给用户。

而 Android 的推送本来 Google 自己也有一套推送服务,也是系统级别的,叫做 GCM ,Google Cloud Messaging,但是众所周知,Google 的服务在国内根本没法使用,也就意味着我们不得不用第三方的推送服务。

2. 为什么要使用第三方推送服务?

因为 GCM 在国内的限制,所以这块也就是一个机会了,国内因此也衍生了很多推送服务公司。

大部分公司都会选择使用第三方推送服务,因为推送这个事自己做还挺麻烦的,需要服务器资源,开发以及后台管理、统计等,对于一些大公司来说本身有资源做这个事,而且出于安全考虑也会优先自己做,但是大部分中小型公司是不会浪费资源在这块的,尤其创业公司,还是把资源用在自己的核心业务上更急迫,所以大部分中小型互联网公司都会选择第三方推送服务。

3. 有哪些第三方的服务?

目前来说做的比较好的推送服务大概有小米推送、腾讯信鸽推送、百度推送、极光推送、友盟推送等。这些推送服务大都有以下特点:

免费
当然部分公司也有收费的,号称更稳定、推送到达率更高,但大部分都还是用的免费版。

服务会被杀死
由于 Android 系统的机制,后台推送 Service 会被各种主动的或是被动的行为给杀死,而服务一旦被杀死,意味着就接收不到推送消息。

多个 app 共用一条推送通道
什么意思呢?就是如果有多个 app 都使用了同一家推送服务,那么这些 app 共用一条消息通道,即使你家的 app 推送服务被杀死了,那么只要用户打开了其他集成该推送服务的 app ,你家的推送就能接受到消息。

4. 哪家推送更好呢?

每家的推送服务都号称推送到达率很高,号称自己家的推送服务更不容易被杀死,号称自己的推送更稳定更有保证,然而我要说的是,各家都差不多,技术上你能实现的,别家一样能实现,到达率也都差不多,据我观察平均推送到达率能达到 70% 左右都算不错的了,那么到底该怎么选择呢?

有一点比较特殊的是?有些推送服务有自己家品牌的手机,比如小米有自己的手机,而在 MIUI 系统上小米推送是作为系统级的服务,不会被杀死,毕竟一家人,总不至于傻到把自己家的服务给干掉吧?所以这就是一个巨大的优势了。类似的华为推送服务在自己家的手机系统上也不会被杀死。

各大手机厂商都宣传自己家的手机市场份额第一,然而我要说的是如今市场上的 Android 手机只分小米手机跟其他手机,什么意思?就是小米手机是目前市场份额第一,而且远远领先其他手机,这个在我们自己家 app 的数据上看就是这样,而这里有一份友盟发布的 Android 设备活跃的排名数据

方便大家查看我截了张图:

上图可以看到,前十排名小米占了 7 席,总体小米手机确实是市场份额第一,其次是三星、华为紧随其后,接着oppo、vivo、魅族平分秋色。

所以小米手机的市场份额,加上小米推送在 MIUI 上不被杀死这一大特性,致使选择小米推送是第一选择。

5. 总结

所以综合下来,如果你的 app 想省事的话那么建议直接集成小米推送。

如果你的 app 想要把推送更优化下,那么可以集成多个推送服务,针对不同的渠道用不同的推送,比如小米渠道用小米推送,华为渠道用华为推送,其他渠道用信鸽推送等,但是这种也比较麻烦,具体怎么做看你们自己的权衡了。

全文地址:http://www.androidstar.cn/android-推送到底哪家强/

ANDROID 推送到底哪家强相关推荐

  1. android端推送到底有多烦

    感谢作者的分享,转载地址:戳这里 Android 端外推送到底有多烦? 说Android端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到一种完美的解决方案,Android程序 ...

  2. 跨平台开发框架到底哪家强?5款主流框架横向对比!

    跨平台开发框架到底哪家强? 目前市场上有多个专业做跨平台开发的框架,那么对开发者来说究竟哪一个框架更符合自己的需求呢?笔者特地总结对比了一下不同框架的特性. 国内外笔者选择了一共5个主流的测评对象,分 ...

  3. 未来的苹果和谷歌到底哪家强?

    深度对决,未来的苹果和谷歌到底哪家强?(转) 文/王新喜 日前,前苹果公司CEO约翰·斯卡利称,他认为在科技领域中作出下一个重大创新的很可能不会是苹果公司,而会是谷歌等其他公司.他认为谷歌未来作出重大 ...

  4. Android 推送消息开放接口 OpenPush

    Android 推送消息开放接口 OpenPush 我们知道, 在中国不能使用 google 的服务. 在中国销售的手机甚至没有安装 google 的服务.所以, 原本由 google gcm 提供的 ...

  5. 个推无法获取个推id_最新个推Android 推送 SDK Maven 集成

    概述 公司准备采用个推作为第三方推送平台,我作为客户端的头号小鸟,掐指一算已经毕业 0.1 年了,Leader 准备把这个简单而又独立的功能点交给我来处理,我紧张兮兮的打开官网集成文档 学习了起来.其 ...

  6. Android推送通知指南(转)

    在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...

  7. Android 推送通知指南(转载)

    在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...

  8. Android推送分析

     cpu多核利用能够实现Android推送的吞吐量. 讲明白这点,我们需要了解Android推送的基本原理了.如果实现C(客户端)与server(客户端)实时通讯了.这里有两种思路了: 1.一种是定时 ...

  9. Android推送技术总结

    Android推送技术总结 Android平台接入推送机制一般有两种,一种是Google官方提供的C2DM云端推送方案:另外一种是第三方,如极光.个推和友盟等推送平台. C2DM云端推送方案 1)简单 ...

最新文章

  1. 将表里的数据批量生成INSERT语句的存储过程 增强版
  2. 前端技术周刊 2019-01-07:CSS 动画
  3. Java 递归解决 quot;仅仅能两数相乘的计算器计算x^yquot; 问题
  4. php粒子背景特效_粒子背景特效Particleground.js插件使用解析_蓝戒的博客
  5. 微信小程序js数组初始化_微信小程序 数组(增,删,改,查)等操作实例详解...
  6. 2017.5.29-6.3 城市规划 思考记录(非常不容易)
  7. 使用U盘驱动器安装Linux,使用U盘安装Ubuntu的详细图文教程
  8. 我靠这个数据分析利器,3年当上运营主管
  9. c++编译器对类的处理
  10. memmove、memcpy和memccpy简介
  11. Word中,Mathtype安装遇到的问题及解决方法
  12. 使用Simian进行重复代码检测
  13. php 分换算成元,千元换算成元(千元单位换算器)
  14. 面试知识总结(八股、网络、LINUX)
  15. UG/NX二次开发 单位化向量 UF_VEC3_unitize
  16. MAC上测试常用工具整理
  17. joan jett(mv)
  18. yolov3损失函数改进_基于改进损失函数的YOLOv3网络
  19. DBVisualizer 中文显示乱码
  20. 【Excel从头开始】-4 单元格格式

热门文章

  1. 完美解决Failed to determine a suitable driver class的问题
  2. 态势感知与安全运营平台详细介绍
  3. 数据结构与算法设计基础
  4. linux操作系统--常用命令篇
  5. html5视频画质清晰度切换和倍速播放切换代码参考
  6. 【经验】Git|Linux终端git太慢,改hosts、复制文件夹、用镜像源?不不不不不
  7. kube-proxy中使用ipvs与iptables的比较
  8. 三分钟搞懂SQL的Case函数
  9. 04 -描述统计学- Lesson6 电子表格4_可视化数据
  10. RT-Thread的rt_thread_create函数介绍