ios上面有了很好的推送机制,android上本来也有个类似iphone上的APNS,原名Android Cloud to Device Messaging,小名C2DM,(C2DM) 作为 Android 2.2 的一部分已经发布了,C2DM 允许第三方开发者开发相关的应用来推送1024字节到用户的手机上,这相对于ios的256字节来说,简直爽歪歪了。但是悲剧发生了,C2DM这项云推机制的服务器假设在国外,对我们来说几乎不可用。

既然谷歌提供的服务被挤出去了,但是国内千千万的程序猿们在开发中又要用,肿么办呢?这时候,无数的勇士们站出来自己写推送服务。相信大家也看到过很多相关文章。我再罗嗦目前几种第三方提供的推送方法。以下为粘贴做个总结,一起学习。

方案一:

  Google官方的:

  通过对比研究发现C2DM机制存在以下缺点:

  1、C2DM内置于Android的2.2系统上,无法兼容老的1.6到2.1系统;

  2、必须运行android,并且安装Market,至少有一个登录的google账号。

  3、C2DM需要依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用,是消息阻塞,不能对送到终端。

跟大家说声sorry,很久没关注这个了,今天特来编辑一下文章。googel在今年6月26日C2DM已被正式的GCM取代而不再使用。关于GCM的代码,可以参考

(http://developer.android.com/intl/zh-CN/guide/google/gcm/index.html)
(https://developers.google.com/android/c2dm/index#example)

方案二:   利用MQTT协议,broker做代理服务器,但是随着用户的增多这个方案会有问题,因为broker的连接数有上限,到了一定程度后就无法连接了,这也就导致消息很难发送   总之,连接数量有限制。

方案三:(参考如下两篇博客 http://www.cnblogs.com/hanyonglu/archive/2012/03/16/2399655.html   http://www.apkbus.com/android-18168-1-1.html)   基于XMPP协议,很多人都建议使用这个,谷歌官方的C2DM也是基于XMPP研发的,使用这个方案不会依赖android系统,也不依赖于谷歌服务器。
方案四:( http://push-notification.org/)   最近新出的一种是APNS,这个也不需要自己架设服务器,很简单,自己不用开发服务端,但要收费的,一年199人民币。帮他宣传可以得到3个月的延长使用。   主要有以下特点:   · 快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.   · 无需架设服务器:通过使用"云服务",减少额外服务器负担.   · 可以同时推送消息到网站页面,android 手机   · 耗电少,占用流量少
方案五:( http://www.android-push.com)   下面的一种方案是我自己发现的一种方案感觉比较好用,所以推荐给大家。(android-push终极方案)   先介绍特点:   1、免费   2、易集成   3、没有C2DM中的版本限制和必须用gmail绑定   4、云服务,不用假设自己的服务器   5、用户track   6、简单高效,并且省电
吐槽:
第四种方法我试用了一段时间,后来发现在断网重新连接的时候,服务没有启动,不太稳定,真正等软件商用的时候就来不及修改了,特别是对实时性要求较高的软件。
第五种方法呢,看着就很专业了,在美国旧金山和北京苏州街都有研发点。嵌入代码也很easy,有demo很文档。我们点方案五后面的网址进去看看就一目了然了。只要添加一个应用的包名,换取key和sectret,还有,通过代码抓取手机终端的IMEI号。。有了这三个参数之后,推送起来轻松加愉快!
文章再次编辑一下:
后来用了一段时间,发现只要是第三方公司开发的APNS都存在一个问题,他们全部用了一个三方包,所以在网络切换到时候,服务就断开了,再推送消息,已经下不来了,多多少少有些不稳定。这个问题,我还可以打电话问了他们开发的技术人员。俺们终日盼着google能像苹果那样,放个apns的服务器,造福全球android用户啊。此问题一日不解决,我们一日受罪啊。现在我们公司做的推送,直接用tcp做长连接,我和我哥们一起干的,老实说,维持这个链接真的很费神。

android上消息推送的实现相关推荐

  1. Android端消息推送总结:实现原理、心跳保活、遇到的问题等

    前言 最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 只能说说自己的理解. 为什 ...

  2. 2015最新最全 Android 谷歌消息推送GCM 详细使用教程

    因为项目是非大陆的手机项目,所以当要使用到消息推送的时候,百度了一下,国内的消息方案可以是: 1.百度云推送.也确实很快就可以搭建客户端和服务端,加载他的sdk,大概花了半个小时,就可以在手机端收到推 ...

  3. 基于openfire+smack的Android、消息推送服务

    前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使 ...

  4. android热门消息推送横向测评![转]

    关于这个话题,已经不是什么新鲜事了.对于大多数中小型公司一般都是选择第三方的服务来实现.但是现在已经有很多提供推送服务的公司和产品,如何选择一个适合自己项目的服务呢?它们之间都有什么差别?在此为大家做 ...

  5. Android 生态消息推送平台介绍

    一.手机厂商平台 华为消息推送服务 华为推送(Push)是为开发者提供的消息推送平台,建立了从云端到手机端的消息推送通道,使应用可以将最新信息及时通知用户,从而构筑良好的用户关系,提升用户的感知和活跃 ...

  6. java集成极光推送实现Android的消息推送

    1.极光推送的思路就是,每一个app都有一个AppKey和Master Secret,这两个值是唯一的,也就是用来标识App的唯一信息,具体怎么获取,去看极光推送官网文档,这里就不在讲解.我们在极光开 ...

  7. Android之消息推送实现

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

  8. Android App消息推送 实现原理

    https://www.jianshu.com/p/b61a49e0279f 1.消息推送的实质 实际上,是当服务器有新消息需推送给用户时,先发送给应用App,应用App再发送给用户 2. 作用 产品 ...

  9. android热门消息推送横向测评!

    关于这个话题,已经不是什么新鲜事了.对于大多数中小型公司一般都是选择第三方的服务来实现.但是现在已经有很多提供推送服务的公司和产品,如何选择一个适合自己项目的服务呢?它们之间都有什么差别?在此为大家做 ...

最新文章

  1. 饿了吗app都是用html写的,Vue2.0仿饿了么webapp单页面应用详细步骤
  2. perl语言入门第七版中文_网站编程语言的选择
  3. php自定义框架,「php 框架」自定义php框架(篇一) - seo实验室
  4. Kuroni and Impossible Calculation CodeForces - 1305C(鸽巢原理)
  5. Foursquare引爆了什么
  6. ext js如何动态更改xtype_K8S ConfigMap 用于动态应用程序的实践
  7. python读取行政区txt文件实现行政区树_数据库的点数据根据行政区shp来进行行政区处理,python定时器实现...
  8. java学习顺序_Java学习心得及学习顺序
  9. Flash制作标题出现动画
  10. Drozer的基本使用
  11. android 找不到手机,找不到 Android 开发者选项,难道我的手机系统没有?| 有轻功 #290...
  12. 基于python的股票客户流失数据分析模型
  13. 经典密码学与现代密码学
  14. 手写体数字图像识别图像_手写识别调整笔画大小而不是图像
  15. scrapy框架介绍
  16. 读写c语言编程,c语言文件读写示例(c语言文件操作)
  17. 为什么三相对称电力系统不含偶次谐波?
  18. 双位置继电器HJWS-9440
  19. GPS获取到的经纬度,计算东西经,南北纬
  20. vue项目使用乐橙云播放 轻应用直播SDK imouplayer.js

热门文章

  1. 基于IndRNN的微博短文本情感分析设计与实现
  2. 几种比较有效的口才锻炼方法
  3. iOS自定义backBarButtonItem的点击事件
  4. PCL入门系列 —— NormalEstimation、NormalEstimationOMP 基于邻域的点云法线估计
  5. 可喜可贺,又一ThinkPHP 5.1开源多用户商城系统上架了商家客户端
  6. Windows 10 版本 21H1不推送的手动更新方法
  7. Android架构纵横谈之二——基于性能的考虑(1)
  8. 音视频开发系列(41)OpenGL ES粒子效果-烟花爆炸
  9. Spring and Vue(前后端分离)
  10. 专访:吴洪声谈移动互联网下的“站长服务”生态