过了年算是去年了,去年年底配合后台做了消息推送,现在整理下分享给大家:
远程推送:
流程大致如下:
1.生成CertificateSigningRequest.cerSigningRequest文件
2.将CertificateSigningRequest.cerSigningRequest上传进developer,导出.cer文件
3.利用CSR导出P12文件
4.向APNS请求token
5.传token给服务端
6.写原生代码接收服务端来的推送消息
1.打开钥匙串,请求证书:
2.填写对应的信息,把请求下来的证书保存到本地
3.进入developer.apple.com,上传上边请求下来的证书,并保存Cer文件
4.先创建一个APPID
和之前打包的时候生成APPID一样的,不过有一点细微差别,需要把下边的pushnotifications勾选上,表示我这个APP是支持推送的。
5.如下图:点击APPIDs àregister,生成一个支持推送的APPID
6.下边就开始请求证书:点击Production
7.选择刚创建的APPID:点击All
8.点击continue,我们去生成证书了要
9.点击ChooseFile,找到我们之前从CA请求的证书
10.点击choose,然后点击continue,进入下图:然后我们down下来即可
11.到这,我们的证书已经请求成功,这个证书是需要给后台的,我们可以生成一个P12,然后发给后台,后台需要导入此证书
12.下边是描述文件:
测试:点击distribution可选InHouse和AdHoc,当选择InHouse的时候是所有设备都可以安装(不同于开发证书可以发布到appStore),选择AdHoc创建的描述文件,只可在设备已经加入到此开发群组才可安装使用
13.选择对应的APPID
14.看哪些手机可用
15.写描述文件的名字,点击continue
16.选择我们的证书
17.点击distribution->下载,描述文件也已经创建成功
18.下边就是写推送代码了,后台和客户端各司其职,推送功能完结!
IOS代码概述:
1.注册通知,(IOS10以后有变化),需要判断来写对应系统的注册代码。
接收token,向APNS注册通知,如果成功,苹果推送服务器会给我们对应的token,该token是(手机的UDID+ 应用程序的BundleID) 苹果编码生成
2.拿到token之后,我们把这个token传给后台
3.后台拿到云给他的token后会发推送消息,我们这边只需要接收,然后处理即可,一样,IOS10以后有差别。
Warning:
我们的项目应该都是基于Xcode7创建的,所以没有userNotification.framework这个庫,这个庫是IOS10推送需要的,这个庫需要我们手动导入。
上边情况是生成一个新的APPID,支持远程推送
还有一种情况是已经存在的APP支持远程推送。
找到那个对应的APP ID,然后点击edit,我们把push Notification勾选上,然后接着上边的步骤6开始往下走即可。如下图: