#推送原理的介绍: 在现在的绝大多数的应用中推送应该是一个比较普遍的功能,因为他可以提高应用软件与用户的交互性,因此被广大软件广泛的应用。那推送的原理是怎样的呢,今天有时间做一个总结。 ##首先推送实现的选择 推送功能的实现,目前有比较多的选择,对于绝大多数的开发者来说,都是运用第三方来进行开发,因为第三方对于一般的公司来说,不管是人力成本,还是资金成本都是有很大的优势的当然如果你想说BAT,那么请自动忽略掉我这句话。目前大家选择比较多的有友盟,极光,个推,百度等,多家的第三方,但是不管是哪家,都是大同小异,今天我们来介绍一下整个推送过程的实现。下面所有的介绍以极光推送来举例。 ##推送的原理



由图可见:手机向APNS服务器申请推送服务,注册成功后会收到苹果下发的deviceToken 应用通过回调获得这个deviceToken (表示设备应用的唯一ID) 苹果可以通过这个ID找到我们的应用 。我们把device Token 上报到到推送服务器比如极光友盟服务器等, 当需要发送通知到我们的设备应用的时候 ,推送服务器像APNS发送请求,如果这个请求被验证为合法,那么APNS会通过device Token找到指定的设备应用发送推送通知。 ##极光推送的原理



我们在使用极光推送的时候可以使用后台服务器,想极光服务器发送请求,然后后台与移动端的工作人员进行对接,也可以通过控制台,进行请求的发送。 推送分为:推送通知和自定义消息 如上图所示: ###推送通知: 所谓的推送通知就是软件在后台,或者我们未使用的时候,从顶部提示推送消息,点击消息进入软件的通知。 ###自定义消息: 自定义消息就是用户在使用的过程中,收到的推送消息,自定义消息的收到是软件在前台,通过极光的长链接推送到手机的消息。

原理知道了下面需要的就是实现一个通知了。我会在接下的的推送系列中做出讲解。有不对的地方欢迎各位的指出。