由于iOS操作系统限制,我们APP在后台不能做操作,也不能接收任何数据,所以需要用推送来接收消息.
远程推送原理
1、注册:为应用程序申请消息推送服务。此时你的设备会向APNs服务器发送注册请求。
2、APNs服务器接收请求,并将deviceToken返给你设备上的应用程序。
3、客户端应用程序将deviceToken发送给后台服务器程序,后台接收并储存。
4、后台服务器向APNs服务器发送推送消息。
5、APNs服务器将消息发给deviceToken对应设备上的应用程序。
为应用程序申请消息推送服务,要有推送证书。
现在来制作推送需要的证书:
首先创建一个App ID
起个名字,还有bundle id ,记得勾选push notifications.下一步下一步。。。
然后我们点开刚刚注册的pushDemo,会发现他的推送服务还没有验证
我们现在就添加开发证书和发布证书,在创建的时候他会访问你选择哪一个app id,选择刚才创建的app id即可,下一步又会让你选择一个CSR文件来生成你的证书,这个CSR文件是在Mac钥匙串中:钥匙串访问 -->> 证书助理 -->> 从证书颁发机构请求证书。。。让后填写用户邮箱地址,选择存储到本地磁盘。
在回到开发者网站,继续完成刚才的步骤。选择刚才申请的CSR文件(这个文件要用来生成p12),点击continue,然后download。下载后双击打开,会访问钥匙串。
右键点击右边的开发证书,导出,为证书设置密码。。。OK,这个证书在极光推送中是需要的关键。
接下来就是集成极光SDK,没有什么好说的,查看官方文档,一步一步来。
官方文档比我说的清楚:http://docs.jpush.io/guideline/ios_guide/