1.实现原理
图中Provider是指ios程序的服务器,APNS是指苹果服务器。上图的流程是这样的,第一,应用程序的服务器把要发送的消息,目的iphone的标识打包,发给APNS;第二,APNS在自身的已注册Push服务的iphone列表中,查找有相应标示符的iphone,并把消息发到iphone;第三,iphone把发来的消息传递给相应的应用程序,并且按照设定弹出push通知。
2.具体的操作流程
(1)操作步骤
【1】应用程序注册消息推送
【2】ios找苹果服务器要deviceToken. 应用程序接受 deviceToken
【3】应用程序将deviceToken发送给服务器(ios程序的服务器)
【4】而无论是iphone客户端跟苹果服务器,还是程序端服务器与苹果服务器都需要通过证书进行连接,下面是证书的制作过程:
(2)制作证书,生成证书文件,并且得到证书文件的密码
(3)远程推送程序实现
3.实战
3.1制作pem文件证书
百度云推送注册需要在应用配置中导入开发证书和上传证书(pem格式的文件)
openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes
注意:使用终端配置的时候要正确书写p12文件地址(直接将文件拉倒终端自动生成),必须写生成的pem文件生成的文件夹地址,否者你找不到生成的pem文件
3.2应用配置
只有导入证书之后我们才能获得注册百度云推送服务的权限(得到注册百度云推送的APPKey)
3.3导入百度云推送SDK
3.4配置SDK 所需东西: 配置器Identifier
3.5到这一步之后我们对百度云推送的配置工作就已经完成了。
4. 代码:(百度云推送含有相关代码我就不一一写出来了。我先在就说说我们在DEMO中需要注意的几点,来保证我们APNS建立成功)
4.1:我们要将在应用配置完成后得到的AppKey填入以下的红色区域,如果是开发状态,我们就填写BPushModeDevelopment,上线时候要将开发状态改为发布状态BPushModeProduction
4.2:我们将自己手机的硬件编号发送给第三方用于绑定手机(绑定成功会返回)
4.3 绑定成功之后意味着我们成功的建立了APNS,就可以实现远程推送了