首先解释推送过程中涉及到的几个概念
1、Provider:为app提供推送的服务器,可以理解为我们自己的后台服务器,集成了极光或者友盟等其他的平台可以理解为第三方为我们提供推送支持的服务器;
2:APNS:苹果消息推送服务器
3:iPhone设备
4:app:最终推送的应用程序
基本的推送流程:
1、app端注册消息推送,申请app的消息推送权限
2、app跟APNS进行连接,索要deviceToken,应用程序接受deviceToken(无论是iPhone客户端跟APNS,还是Provider和APNS都需要通过证书进行连接的。证书跟应用的id以及电脑关联)
3、app将deviceToken传到后台服务器
4、后台服务通过证书跟APNS连接,验证通过后把deviceToken以及推送消息传给APNS,APNS通过deviceToken给指定的app发推送消息
注:一般来说大多数做推送功能的时候都集成了第三方,比如友盟,极光等,这个时候我们的Provider其实理解为第三方的服务器。比如集成友盟推送,我们在友盟后台绑定了我们的项目ID,同时上传了推送证书,或者key文件,然后友盟后台返回相应的appkey和appsecret,后续我们通过这两个参数跟友盟后台进行通讯,比如,我们自己后台发送消息到友盟的时候,带上appkey和appsecret,然后友盟后台生成和APNS通讯的相关证书。
推送的关键要素
1、证书:无论是iPhone客户端跟APNS,还是Provider和APNS通讯都需要通过证书进行连接的。证书跟应用的id以及电脑关联
2、deviceToken:deviceToken和每台设备的app相一一对应,apns通过deviceToken来推送到对应的设备的app上
3、消息推送的内容