淘新聞

為啥關掉軟體還能接到消息?手機的消息是怎麼推送的

手機發展到今天已經成為我們每天必不可少的一部分了,社交娛樂工作都離不開智慧手機。每天手機也會收到不計其數的通知消息,無論是天氣資訊,新聞資訊,還是老闆的工作安排或是女朋友的撒嬌賣萌,到會即使的推送到你的手中。不過有些朋友可能會問了,為什麼我已經關掉了APP還可以接收到消息通知呢?

想解答這個問題就要從手機的消息推送說起了。手機消息當然都是通過伺服器推送到我們手機上的,對於iOS的用戶來說,蘋果有APNs伺服器來負責消息的推送。當你第一次使用APP時,會詢問是否接收通知,如果你選擇了是,那麼伺服器就會記錄你的ID,當有消息通知的時候,這些資料是先推送到蘋果的伺服器中,然後通過蘋果的APN伺服器推送到用戶手機上的。

這樣的設計讓軟體徹底關閉的時候還可以接收到消息通知,一方面釋放記憶體,一方面也不會耽誤接收消息。並且,因為這樣的設計,類似Facebook,Twitter這類軟體在沒有科學上網的時候也可以接收到通知消息。

而在Android手機來說,穀歌也有類似的GCM伺服器來推送消息,不過因為國內的手機都沒有穀歌服務無法收到穀歌GCM伺服器推送的消息,所以手機會用輪詢和長連接兩種方式來實現。輪詢的話需要軟體定時的向伺服器請求推送,不僅費時費力還要讓軟體一直有進程在後臺運行。

另一種也是目前國內Android手機都在使用的是長連接的形式,通過協力廠商的推送伺服器來推送消息通知,這樣的協力廠商服務有很多,國外如 Urban Airship, Parse等, 國內有JPush,百度雲推送,信鴿,LeanCloud等。

圖片來自知乎via:李琰

大致瞭解了消息推送的原理,大家就可以知道了,我們目前的消息通知都是通過協力廠商的伺服器推送到我們的手機上的,這樣的一個推送的服務進程會一直運行在後臺保證消息及時推送。所以即使你殺掉了軟體的進程,軟體的消息依然可以推送到你的手機上。

本文編輯:王瑞

關注泡泡網,暢享科技生活。