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

雅之道法自然發表於2018-10-17

Push的工作原理

要理解Push的工作原理,我們必須要知道幾個知識點。

  • 裝置是如何和APNs保持連線的。
  • APNs如何識別需要推送的裝置。

  APNs可以推送給裝置Push訊息,是因為裝置(iPhone、iPad)和APNs有一個長連線的通道。   iOS的Push通道是一個獨立的長連線通道,並且是唯一的一個通道,由iOS系統獨立維護。也就是說每一個手機系統,每次開機後,手機後臺就會發出一個長連線,連線到蘋果伺服器(APNs)。 當APNs收到新的Push通知的時候就會把通知推送給應用裝置。

蘋果官方網站的原理圖

通過官方的原理圖四個身份

  • Provider:我們的伺服器sever
  • APNs:蘋果伺服器
  • Device(裝置):iPhone、iPad
  • Client App:客戶端的app

Tip:蘋果可以省電省流量,原因之一有Push網路通道是唯一的一個,並且蘋果公司來維護。

push的工作原理

總結下大致流程

  1. 裝置開啟某個App後,會生成唯一的一個token,並把這個token上傳給我們自己的伺服器,我們的伺服器有了token,就可以向我們的app推送通知了,這個是前提。但是這個通知並不能直接推送給我們的裝置,而是要推送給蘋果的伺服器。
  2. 我們的伺服器會將token和推送的內容,一起推送給蘋果的伺服器。
  3. 蘋果伺服器會根據token定位到裝置,將push推送給裝置。
  4. 裝置拿到這個push,就會知道是哪個app。然後就可以將這個通知推送到具體的app。

參考資料

相關文章