iOS推送系列之Push的工作原理

要理解Push的工作原理,我们必须要知道几个知识点。

  • 设备是如何和APNs保持连接的。
  • APNs如何识别需要推送的设备。

  APNs可以推送给设备Push消息,是因为设备(iPhone、iPad)和APNs有一个长连接的通道。
  iOS的Push通道是一个独立的长连接通道,并且是唯一的一个通道,由iOS系统独立维护。也就是说每一个手机系统,每次开机后,手机后台就会发出一个长连接,连接到苹果服务器(APNs)。
当APNs收到新的Push通知的时候就会把通知推送给应用设备。

iOS推送系列之Push的工作原理_第1张图片
苹果官方网站的原理图

通过官方的原理图四个身份

  • Provider:我们的服务器sever
  • APNs:苹果服务器
  • Device(设备):iPhone、iPad
  • Client App:客户端的app

Tip:苹果可以省电省流量,原因之一有Push网络通道是唯一的一个,并且苹果公司来维护。

iOS推送系列之Push的工作原理_第2张图片
push的工作原理

总结下大致流程

  1. 设备打开某个App后,会生成唯一的一个token,并把这个token上传给我们自己的服务器,我们的服务器有了token,就可以向我们的app推送通知了,这个是前提。但是这个通知并不能直接推送给我们的设备,而是要推送给苹果的服务器。
  2. 我们的服务器会将token和推送的内容,一起推送给苹果的服务器。
  3. 苹果服务器会根据token定位到设备,将push推送给设备。
  4. 设备拿到这个push,就会知道是哪个app。然后就可以将这个通知推送到具体的app。

参考资料

  • push工作原理
  • 苹果官方push内容
  • iOS远程推送原理及实现过程

你可能感兴趣的:(iOS推送系列之Push的工作原理)