无论iPhone还是安卓,我们用到的所有应用基本都有推送通知服务,因为这是应用很好的推广方式,有新产品了、有新更新了通知下用户及时查看。但Apple有点特殊,它的推送需要发到苹果服务器上中转一下,这就是苹果的推送通知服务APNs(Apple Push Notification service),例如友盟,极光之类的推送服务都是向APNs推送消息,APNs再将消息推送给设备的,并不像安卓那样直接找到设备发送消息;苹果需要验证是否含有证书,有证书才能发送;现在我们就看看推送证书如何创建:
注:首先说明我们创建推送证书建立在已有APP ID的情况下,一般APP ID创建是一个项目开发首要的,最基本的,如不清楚的自行百度
1、首先登录自己的开发账号,进入iOS Certificates证书中心,点击Certificates 下的All,这时点击右上角的“+”号增加证书,如下图:
2、进入选择证书类型页面,这里有创建开发证书、发布证书、推送开发证书、推送生产证书,笔者账号开发证书和发布证书都已建满,所以呈灰色,但推送证书(带Push)正常,一般推送的开发和生产证书都需要,开发证书供开发时候用,生产证书发布时用,两种后面的步骤一致,所有在这就不重复介绍,只选择一种,选择好证书类型,点击下面的Continue按钮:
3、选择你需要创建推送证书的应用的APP ID,点击Continue:
4、进入Create a CSR file 页面,直接Continue:
5、这时会让你选择CSR file,但是CSR file我们暂时还未创建,所以我们得先创建CSR file,再进行下一步:
6、在Mac电脑上打开钥匙串访问:
7、点击菜单中的钥匙串访问—>证书助理—>从证书颁发机构请求证书...
8、进入证书助理页面,选择存储到磁盘,电子邮件地址随便填,点击继续:
9、这时就创建好了CSR file文件了,桌面出现如下图标:
10、接下来我们回到第5步,选择好刚创建的CSR file,点击Continue:
11、这时证书已经创建好,回到iOS Certificates证书中心页面,我们就可以看到我们创建的两个证书(开发与生产),后面还有到期时间:
12、我们已经创建好证书了,接下来就是安装证书了,点击Download下载,双击证书,注意一定要双击,开发、生产证书都是一样的,这样推送证书就安装好了,可以去钥匙串看到:
13、我们已经创建了证书也已经安装好了证书,但是我们集成的一些第三方平台,如极光推送,还需要我们上传证书到它们平台,但它们要的证书并不是我们之前创建的,而是需要.p12
文件的证书,这就需要我们从钥匙串导出.p12
格式,生产、开发都需要,操作如下:
14、把上面导出的证书上传到第三方平台就可以,上传成功会提示已验证,这时就可以集成SDK,发送推送了:
有人注意到推送证书有时间期限的,是的,是有有效期,有时我们应用突然接不到消息了,有可能就是证书过期了,有效期一般为1年左右,那有效期快过了怎么处理呢?
解决方案:
1、删除MAC上钥匙串访问中对应的推送证书
2、去开发者中心删掉过期推送证书,重新按着上面的步骤重新来一遍
3、在第三方平台上重新上传新的.p12证书
已上线的应用也是一样,删掉证书不会影响推送,只要对应的APP ID是一样的!