馬上註冊  |  找回密碼

SAY討論區

查看: 283|回復: 37
打印 上一主題 下一主題

為啥關掉軟件還能接到消息?手機消息是怎麼推送的 [複製鏈接]

Rank: 7Rank: 7Rank: 7

好友
4
帖子
2638
積分
5295
最後登錄
2018-7-31
在線時間
16 小時
跳轉到指定樓層
樓主
發表於 2017-7-1 21:31:01 |只看該作者 |正序瀏覽
手機發展到今天已經成為我們每天必不可少的一部分了,社交娛樂工作都離不開智能手機。
每天手機也會收到不計其數的通知消息,無論是天氣信息,新聞資訊,還是老板的工作安排或是女朋友的撒嬌賣萌,到會即使的推送到你的手中。
不過有些朋友可能會問了,為什麼我已經關掉了APP還可以接收到消息通知呢?
想解答這個問題就要從手機的消息推送說起了。手機消息當然都是通過服務器推送到我們手機上的,對於iOS的用戶來說,蘋果有APNs服務器來負責消息的推送。
當你第一次使用APP時,會詢問是否接收通知,如果你選擇了是,那麼服務器就會記錄你的ID,當有消息通知的時候,這些數據是先推送到蘋果的服務器中,然後通過蘋果的APN服務器推送到用戶手機上的。
w30dowfxnqo02.jpg
這樣的設計讓軟件徹底關閉的時候還可以接收到消息通知,一方面釋放內存,一方面也不會耽誤接收消息。並且因為這樣的設計,類似Facebook,Twitter這類軟件在沒有科學上網的時候也可以接收到通知消息。
sbgqzqmquhm02.jpg
而在Android手機來說,谷歌也有類似的GCM服務器來推送消息,不過因為國內的手機都沒有谷歌服務無法收到谷歌GCM服務器推送的消息,所以手機會用輪詢和長連接兩種方式來實現。
輪詢的話需要軟件定時的向服務器請求推送,不僅費時費力還要讓軟件一直有進程在後臺運行。
jwczyucivbq02.jpg
另一種也是目前國內Android手機都在使用的是長連接的形式,通過第三方的推送服務器來推送消息通知,這樣的第三方服務有很多,國外如 Urban Airship, Parse等, 國內有JPush,百度雲推送,信鴿,LeanCloud等。
oadahkk2ev202.png
↑↑↑圖片來自知乎via:李琰
大致了解了消息推送的原理,大家就可以知道了,我們目前的消息通知都是通過第三方的服務器推送到我們的手機上的,這樣的一個推送的服務進程會一直運行在後臺保證消息及時推送。
所以即使你殺掉了軟件的進程,軟件的消息依然可以推送到你的手機上。
分享分享0 收藏收藏0 讚好讚好0 Unlike!Unlike!0 分享 傳送 邀請

好友
0
帖子
124263
積分
124272
最後登錄
2019-2-28
在線時間
0 小時
38#
發表於 2017-7-11 16:45:22 |只看該作者
我該不會是最後一個頂的吧

好友
0
帖子
127486
積分
130183
最後登錄
2019-2-28
在線時間
0 小時
37#
發表於 2017-7-4 11:22:15 |只看該作者
強的很,竟然有這樣的文章

好友
0
帖子
125481
積分
125488
最後登錄
2019-2-28
在線時間
0 小時
36#
發表於 2017-7-4 08:12:33 |只看該作者
我幫你這一帖頂起來

好友
0
帖子
124733
積分
124739
最後登錄
2019-2-28
在線時間
0 小時
35#
發表於 2017-7-4 01:21:45 |只看該作者
呵呵 那就好好玩吧~~~~  

好友
0
帖子
124512
積分
124522
最後登錄
2019-2-28
在線時間
0 小時
34#
發表於 2017-7-3 05:18:08 |只看該作者
支持你一下下。。

好友
0
帖子
124715
積分
124721
最後登錄
2019-2-28
在線時間
0 小時
33#
發表於 2017-7-2 10:07:44 |只看該作者
要是能在多一點就好了

好友
0
帖子
124779
積分
124816
最後登錄
2019-2-28
在線時間
0 小時
32#
發表於 2017-7-2 06:23:00 |只看該作者
我來看看!謝謝  

好友
0
帖子
124785
積分
124807
最後登錄
2019-2-28
在線時間
0 小時
31#
發表於 2017-7-2 04:51:54 |只看該作者
支持你加分

好友
0
帖子
123912
積分
123922
最後登錄
2019-2-28
在線時間
0 小時
30#
發表於 2017-7-2 04:50:33 |只看該作者
先頂後看  
您需要登錄後才可以回帖 登錄 | 馬上註冊 |

Archiver|手機版|SAY討論區

GMT+8, 2026-8-10 12:16 , Processed in 0.874175 second(s), 14 queries .

Powered by go2tutor.comDiscuz! X2

© 2026 Community Networks Limited

回頂部