由于公司业务需求,以前一直做PHP开发,突然让我研究push notification ,一下子迷糊啦,不知所措,抓狂!但是在自己的努力下还是初有成效!现拿出来显摆一下!
1:push notification 的流程及其原理
- 应用启用推送通知功能,需要用户确认;
- 应用收到设备识别ID(device token),相当于接收推送通知的地址;
- 应用将设备识别ID发送到你开发的服务器;
- 当有推送通知的需要时,你就可以通过你开发的服务组件发送信息到苹果的服务器上;
- 苹果推送通知服务将信息推送到用户的设备上。
2:生成证书文件
这部分是有我们的制作人生成,提供以.cer和.p12文件并且包含.p12文件的密码,然后使用php生成以.cer结尾的证书和密码,为将来发送push做准备!具体PHP代码如下:
<1>:cer文件生成pem文件
system('openssl x509 -in .cer证书文件 -inform der -out .cer生成的文件名.pem');
<2>:p12文件生成pem文件
system('openssl pkcs12 -nocerts -out .p12文件生成文件名.pem -in .p12文件名 -passin pass:.p12文件密码 -passout pass:.p12生成文件密码);
<3>:将第一步和第二步生成的文件合并最终文件
system('cat .cer生成的文件名.pem .p12文件生成文件名.pem > 最终文件名.pem);
3:获取用户device token
如果是自己开发的app,则只需要写一个接口,用来收集用户的device token,如果使用adodb的发布系统则使用一下方法来转换device token,进而搜集用户的device token。
4: