Android推送系统,android 统一推送
Android消息推送:第三方消息推送平台详细解析
其他推送方式还有:C2DM、轮询、SMS、MQTT协议、XMPP协议等等,相对于这些推送方式,第三方推送方式的特点分别是:
站在用户的角度思考问题,与客户深入沟通,找到东山网站设计与东山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、网站空间、企业邮箱。业务覆盖东山地区。
请记住一个潜规则:操作系统是不会杀死属于自己品牌的推送服务。
当今市场上的Android手机系统份额最高是MIUI系统,即小米(具体排名请看 )
因为:免费、到达率高且在Android系统市场份额第一的MIUI系统上不被杀死。所以,如果要选择手机厂商的推送服务, 请选择小米推送作为第三方平台实现推送服务
下面一些应用可以从侧面来证明我的推断:
请记住一个规则:推送系统会共享一条推送渠道
所以说,关于如何选择第三方平台类的推送,推送平台的规模效应就很重要了。
那如何得知他们的规模和市场份额呢?按个人经验,主要看两点:
BAT大厂其实并没有什么优势, 同时谨记:
所以,大家可根据自己的使用场景来进行消息推送平台的选择。
通常第三方推送平台都支持两种推送消息类型:通知栏消息和透传消息。
不定期分享关于 安卓开发 的干货,追求 短、平、快 ,但 却不缺深度 。
android消息推送怎么实现?
极光推送可以轻松实现android消息推送。具有操作步骤如下:
1、到极光官网注册账号:
2、创建应用,按照要求填写你的应用名称,包名提交
3、下载案例,一般情况测试是能收到信息的
4、集成到自己的项目中,按照官网的集成
5、集成时将注意的要点,官网上也有说,但是我再强调一下要注意两个权限的包名填写,有可能直接用案例上的拷贝到自己的manifest中时没有替换掉包名,切记,要替换成自己的项目的包名。
极光推送已经覆盖了近10亿Android、IOS终端,30多万款APP应用,服务总用户数超过30亿,每天消息推送量达5亿多条,已成为移动应用数据平台。极光分享帮助应用具备国内主流社交平台分享功能,提供新浪微博、QQ、微信等第三方社会化分享服务,提高产品推广效率,帮助产品提高用户体验,获得更多用户。
整理 Android 所有的厂家推送平台
统一推送联盟 成立之后,各大手机厂家都开始推出了自己的推送服务,打造更健康的Android推送生态。下面就汇总一下这几大推送平台,并给予开发者一些建议。
小米消息推送服务在MIUI上为系统级通道,并且全平台通用,可以为开发者提供稳定、可靠、高效的推送服务。小米是国内最早开始做推送的手机厂家,所以基本所有的小米手机都可以在没有打开APP的情况下收到推送。
Huawei PUSH(华为推送服务)是华为为开发者提供的消息推送平台,虽然华为推送也很早期也有,但是华为并不重视华为推送,所以比较难用,而且早期的手机到达率也是很有问题。由于统一推送联盟的成立,华为才开始重视起来。华为推送不支持别名推送,所以必须通过服务端管理token,这一点对开发者也非常不友好。
魅族推送在Flyme系统上的长连接由系统维护,能够充分保障消息在 Flyme系统上的到达率。魅族推送虽然是后期之秀,但是魅族对待推送的态度和小米是一样的好,是真正为了做好用户服务,魅族除了推出自家的推送以外,还推出了 魅族集成推送服务 ,方便用户管理多家的推送平台,这种精神非常值得嘉奖,是用心最好技术的公司。
OPPO PUSH是ColorOS上的系统级通道,为开发者提供稳定,高效的消息推送服务。
Funtouch OS系统级通道,提供稳定、可靠、高效的推送服务。
FCM是Google推出的新推送推送平台,是用来代替GCM(Google Cloud Messaging),主要用于消息推送的,即使在应用没有起来的情况下,由于FCM需要google service支持,在国内基本不能用。
Android消息推送原理
产品的角度:功能需要,比如说资讯类产品的新闻推送、工具类产品的公告推送等等
运营的角度:活动运营需要,比如说电商类产品的促销活动;召回用户 / 提高活跃度等等
作为开发者,不要有需求就接,应该多思考、多理解用户 / 功能的使用场景,有助于我们更好地去选择合适的开发方式
系统级别:任何时候都可以推送给用户,且不会被系统杀死
Android的消息推送服务称为:C2DM(Cloudto Device Messaging)
消息推送的本质是:App将服务器更新的信息推送给用户,即App获取服务器信息,再推送给用户
App从服务器获取最新消息的基本方式(原理)有3种:Push、Pull 和 SMS
经总结,Android中实现消息推送的有7种主流解决方案,接下来将一一介绍。
4.1 C2DM
定义:Cloud to Device Messaging,云端推送
Android系统级别的消息推送服务-Google出品
原理:基于Push方式,C2DM服务负责处理诸如消息排队等事务,并向运行于目标设备上的应用程序分发这些消息。如下图:
定义:轻量级的消息发布/订阅协议
原理:基于Push方式,wmqtt.jar 是IBM提供的MQTT协议的实现,原理如下图:
其他三种:
客户端
通信能够在这三者的任意两个之间双向发生。
原理流程
现今主流的推送平台分为
手机厂商类:小米推送、华为推送。
第三方平台类:友盟推送、极光推送、云巴(基于MQTT)
BAT大厂的平台推送:阿里云移动推送、腾讯信鸽推送、百度云推送
android系统的APP消息推送机制
参考文章:
1. 主流的第三方推送平台分类
手机厂商类:小米推送、华为推送。
第三方平台类:友盟推送、极光推送、云巴(基于MQTT)
BAT大厂的平台推送:阿里云移动推送、腾讯信鸽推送、百度云推送
2. 对比其他推送方式的特点
其他推送方式还有:C2DM、轮询、SMS、MQTT协议、XMPP协议等等,相对于这些推送方式,第三方推送方式的特点分别是:
优点:
成本低
上述的推送大多数是免费的,假如自己实现则消耗过多资源(开发成本和后台管理、统计成本)
消息到达率高
如果一个手机里有多个App使用了同一家推送服务,那么这些App将共用一条消息通道,即使你家的App推送服务被杀死了,那么只要用户打开了其他集成该推送服务的App,你家的推送就能到达用户
缺点
安全性低
使用别人的服务器,所以你懂的。
服务会被杀死
由于Android系统的机制,后台推送 Service 会被各种主动的或是被动的行为给杀死,而服务一旦被杀死,意味着就接收不到推送消息。
3. 第三方推送服务方式的特点
第三方服务基本都具备免费、和到达率高的特点
那么应该如何选择呢?我们来分别看一下第三方推送各种方式的优点:
3.1 手机厂商推送
请记住一个潜规则:操作系统是不会杀死属于自己品牌的推送服务。
手机厂商的推送服务在自家的手机上属于系统级别的服务,这意味着系统不会杀死自家的推送服务
比如说,Android原生系统是不会杀死C2DM消息推送服务,MIUI系统是不会杀死小米的推送服务。
当今市场上的Android手机系统份额最高是MIUI系统,即小米(具体排名请看)
因为:免费、到达率高且在Android系统市场份额第一的MIUI系统上不被杀死。所以,如果要选择手机厂商的推送服务,请选择小米推送作为第三方平台实现推送服务
下面一些应用可以从侧面来证明我的推断:
腾讯新闻使用的小米推送,没有使用自己家的信鸽推送
淘宝使用了自家的阿里云推送,同时还集成了小米推送
百度视频和爱奇艺使用的是小米推送,没有用自家的百度推送
官网截图 - 集成应用:
如果希望进一步提高推送的效果,其实可以集成多个手机厂商的推送服务
比如小米渠道用小米推送,华为渠道用华为推送,但这样的实现成本会大一些
3.2 第三方平台类
请记住一个规则:推送系统会共享一条推送渠道
这意味着假设你接入了友盟推送,而恰好今日头条也接入了友盟。
有一天你的App被杀死了,但这时用户启动了今日头条,那么推送系统也就会通过共享的推送通道顺便把你推送消息送达到手机上,然后还可能把你的进程也唤醒(被“保活”了)。
所以说,关于如何选择第三方平台类的推送,推送平台的规模效应就很重要了。
那如何得知他们的规模和市场份额呢?按个人经验,主要看两点:
问内部的朋友。
看推送平台的合作客户里有哪些大的app - 参考对应官网的合作案例
3.3 BAT大厂的推送
BAT大厂其实并没有什么优势,同时谨记:
不要以为用了腾讯信鸽推送,就能占上微信的光保证你的App永远内部被杀死。
说个题外话,手机淘宝除了自家的阿里云的移动推送,同时也使用其它的第三方推送平台啊(比如友盟推送)。
4. 如何选择第三方平台推送服务?
主要从用户类别+实现成本+渠道来选择不同的使用场景
1. 如果用户群体精准(使用小米手机或华为手机居多),可以考虑只集成对应手机厂商的推送;
注意:单一的手机厂商也能工作,比如小米推送在非小米手机上当然也能工作,只不过不是系统级别的服务了,容易被杀死。
如果用户群体广泛、希望实现成本低,可以考虑只使用单一第三方平台类的推送(极光、友盟blabla,选一个规模效应最大的)
如果用户群体广泛、不在意实现成本,个人建议:
对于小米手机,使用小米推送;
对于华为手机,使用华为推送;
对于其他手机,只使用单一第三方平台类的推送(极光、友盟blabla,选一个规模效应最大的)
让不同的推送运行在各自擅长的环境里,最大化实现推送的到达率和产品的存活率
大家可以根据自己的使用场景来进行消息推送平台的选择。
5. 推送消息类别的选择
5.1 推送消息的类别
通常第三方推送平台都支持两种推送消息类型:通知栏消息和透传消息。
通知栏消息:该类消息在被送达用户的设备后,直接以系统通知栏的形式展示给用户
不会继续被传递到App
透传消息:该类消息在被送达用户的设备后,还会继续传递到App
通过回调App的某个BroadcastReceiver的形式将消息传递到App内部。然后由App决定如何处理和显示这个消息。
所以透传消息不一定会以系统通知栏的形式进行推送,由程序猿自定义
5.2 消息类别的区别与特点
二者的区别在于:透传消息在整个消息传递过程中比通知栏消息多了一步-传递到App
通知栏消息的优点:送达率高
因为透传消息在整个消息传递过程中比通知栏消息多了一步-传递到App,因此透传消息就增加一些被系统限制的概率,给系统杀死的概率就高一些,所以说,通知栏消息比透传消息应该能提供更好的送达率。
我们来看下小米推送的官方文档描述:
在一些 Android 系统(如 MIUI)中,受到系统自启动管理设置的限制,应用不能在后台自启动
在这类系统中,如果在发送消息的时候对应的应用没有被启动,透传类消息将不能顺利送达。
因此,对于对送达率要求很高的消息,建议尽量采用通知栏提醒的方式推送消息
透传消息的优点:对消息操作程度高 自定义程度高
提供了对消息数据的更灵活的操纵能力。
App如果仅仅通过通知栏消息,是无法接触到消息数据本身的。
可自定义通知提醒的样式(包括提示样式、提示形式如声音等等)
所以大家可以根据不同的使用场景来对推送消息类别进行选择了。
分享题目:Android推送系统,android 统一推送
浏览地址:http://ybzwz.com/article/dsgjeph.html