无论是iPhone还是android,我们用到的所有的应用基本上都是有推送通知服务的,这是应用很好的推广方式。上一章我们简单讲了下苹果的安全验证机制就可说明,苹果对这些跟用户相关的信息的把控是很严格的,push也不例外,苹果的推送需要发到苹果的服务器上中转一下,也就是我们大家熟知的苹果的推送通知服务:APNs(Apple Push Notification service),例如友盟,极光之类的推送服务都是向APNs推送消息,APNs再将消息推送给设备的,并不像安卓那样直接找到设备发送消息;苹果需要验证是否含有证书,有证书才能发送;现在我们就看看推送证书如何创建:
- 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、这时就创建好了CSR file文件了,桌面出现如下图标:
- 9、接下来回到第五步,选择刚创建好的CSR file,点击continue:
- 10、这时证书已经创建好了,回到iOS Certificates证书中心页面,我们就可以看到我们创建的证书,后面还有到期时间:
- 11、我们已经创建好证书了,接下来就是安装证书了,点击Download下载,双击证书,注意一定要双击,开发、生产证书都是一样的,这样推送证书就安装好了,可以去钥匙串看到:
- 12、我们已经创建了证书也已经安装好了证书,但是我们集成的一些第三方平台,如极光推送,还需要我们上传证书到它们平台,但它们要的证书并不是我们之前创建的,而是需要.p12文件的证书,这就需要我们从钥匙串导出.p12格式,生产、开发都需要,操作如下:
- 13、一般情况下,将上面到处的证书上传到第三方平台就可以,上传成功后会提示已验证,这时就可以集成SDK,发送PUSH了。
有人注意到推送证书有时间期限的,是的,是有有效期,有时我们应用突然接不到消息了,有可能就是证书过期了,有效期一般为1年左右,那有效期快过了怎么处理呢?
解决方案:
1、删除MAC上钥匙串访问中对应的推送证书
2、去开发者中心删掉过期推送证书,重新按着上面的步骤重新来一遍
3、在第三方平台上重新上传新的.p12证书
已上线的应用也是一样,删掉证书不会影响推送,只要对应的APP ID是一样的!