推送的话,分为两种,一种是系统自带的(APNS),还有一种就是第三方的SDK。比如极光推送,
第一种是系统自带的: 首先是应用发送通知:系统弹出提示框询问用户是否允许,当用户允许后苹果服务器(APNS)请求Device Token,并由苹果服务器发送给自己的应用,自己的应用将Device Token发送给自己的服务器,自己的服务器想要发送网络推送时讲Device Token以及想要推送的信息发送给苹果服务器,苹果服务器将信息发送给应用。 推送的内容--》总容量不超过256个字节。优点:不管应用是否开启,都会发送到手机,缺点;消息推送的机制是苹果服务器控制,个别时候可能会有延迟,因为苹果服务器也会有队列来处理所有的消息请求。
iOS SDK本身提供的APNS服务器推送,它可以直接推送给目标用户并且根据您的方式弹出提示。
第三方推送机制,普遍的使用Socket机制来实现,它几乎可以达到即时的发送到目标用户手机端,是用于即时通讯类应用,优点:它几乎实时的,主要取决于它心跳包的节奏,缺点:因为iOS系统的限制,应用不能长时间的后台的运行,所以在应用关闭的情况下这种推送不可用。
心跳包是什么玩意???
在socket通信中,心跳是为了判断当前连接是否有效,可被使用。如果可以及时的判断出当前连接已经失效了,就可以快速的建立重连机制。(http://www.iteye.com/topic/1132324 感觉讲的还可以)
心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。http://baike.baidu.com/link?url=0pXvgm-yvKi4eud-ZwwJn4NmRzqs61aGeKYgx6NBRYxJiEqfRb2hTORfoxKOr543PBKLi31g7Z5KSsUoaMuYYq 百度的很是全面。
今天主要的想了解一下极光推送,这个是极光推送的官网文档的地址http://docs.jpush.io/client/ios_sdk/,里面还有原理图,看懂了就知道是怎么回事了。
iOS 集成指南http://docs.jpush.io/guideline/ios_guide/里面讲的相当的详细,
iOS 证书设置指南 http://docs.jpush.io/client/ios_tutorials/#ios_1 讲的是怎么设置一些证书的步骤,相当的详细。
极光推送需要你的开发者证书和测试证书,这两个证书都是需要的,而且还要申请appkey,然后就按照官网上的步骤,一步一步的来就行了。这个感觉之前不会做,感觉应该是很难的,但是现在一看文档也是可以做的。只要按照一步一步的来就可以做的出来。
首选是在appdelagate.m中添加头文件
然后在.h中添加相应的参数
然后在.m中的代理方法中
写上你的appkey
然后就可以在极光的官网上推送消息就可以了。
网友评论