推送机制:

image.png
1.iOS设备连接网络后,会自动与APNS保持类似TCP的长链接,等待APNS推送消息的到来。
2.应用启动时注册消息推送,并获取设备的在APNS中注册的唯一设备标示deviceToken上传给应用服务器(即Provider)。
3.消息先发送到苹果服务器APNS(Apple Push Notification Service)。
4.APNS收到Provider发送的消息后,查找deviceToken指定的设备,如果该设备已经和APNS建立了连接,则立即将消息推送给该设备,如果设备不在线,则在该设备下次连接到APNS后将消息推送到设备。请注意苹果并不保证推送一定成功。
5.设备收到push消息后,iOS系统会根据SSL证书判断这个push消息是发给哪个应用的,进而启动相应客户端。
以上步骤的关键在于provider推送消息给apns服务器,需要加密传输,需用到证书。
推送证书
有两种证书,开发者只需下载其中一种证书即可,推荐使用 P8 证书。使用p8证书可以大大简化开发流程。
P8 和 P12证书的区别:
P8:同一帐户下有多个应用程序,可以使用同一个 P8 证书。P8 证书永久有效。
P12:对于每个应用程序,都需要单独的证书。P12 证书有效期是一年。
注意:灵动岛推送,p12证书不支持;p8支持。

image.png