关于iOS的推送有很多的第三方可以帮助我们实现,比如说百度推送,极光推送等等。就我使用过的百度推送而言,个人感觉体验不是太好,经常收不到或者漏掉消息,后来实在没辙就换成了苹果本身的APNs。ps:不知道是后台不给力呢,还是百度推送本身的体验就不是很好,纯属个人使用感觉,勿喷😄。其实使用苹果的APNs更加方便,不像使用百度推送还要申请Key,导入SDK,在第三方开发者平台上上传证书什么的。
推送的基本原理大致如下:
1、你的APP先注册APNs推送功能。(具体的就是在iOS Dev上将你的应用配置为包含推送功能)。
2、当苹果APNs推送服务器收到你应用的注册消息就会返回一个DeviceToken给你。
3、你将这个DeviceToken发送给自己的推送服务器。
4、当需要推送消息时,你的推送服务器把推送的内容,devicetoke等一些信息发给苹果的APNs服务器。
5、最后苹果的APNs服务器再把消息推送到目标设备,整个推送过程就结束了。
推送证书
1、苹果推送证书制作(此处省略一万字...)
2、百度推送证书制作
1、创建一个无通配符(*)的AppId(说明:有通配符的appid是不能进行推送的)
2、使用钥匙串访问——>证书助理———>从证书颁发机构请求证书,创建一个请求证书的许可证
3、生成证书
4、下载证书———>导出证书(格式 .p12)————>将p12格式转换成pem格式
p12格式转pem格式,打开终端使用如下命令
5、将制作好的pem证书上传到百度开发者http://developer.baidu.com/console#push/setup!appid=3875615