1. android 消息推送是什麼,消息推送一般是怎麼做的
所謂的消息推送就是從伺服器端向移動終端發送連接,傳輸一定的信息。比如一些新聞客戶端,每隔一段時間收到一條或者多條通知,這就是從伺服器端傳來的推送消息;還比如常用的一些IM軟體如微信、GTalk等,都具有伺服器推送功能。
推送方法如下:
1)通過SMS進行伺服器端和客戶端的交流通信。
在Android平台上,你可以通過攔截SMS消息並且解析消息內容來了解伺服器的意圖,可以實現完全的實時操作。但是問題是這個方案的成本相對比較高,且依賴於運營商。
2)循環主動定時獲取
這種方法需要客戶端來做一個定時或者周期性的訪問伺服器端介面,以獲得最新的消息。輪詢的頻率太慢可能導致某些消息的延遲,太快則會大量消耗網路帶寬和電池。
3)持久連接
這個方案可以解決由輪詢帶來的性能問題,但是還是會消耗手機的電池。我們需要開一個服務來保持和伺服器端的持久連接(蘋果就和谷歌的C2DM是這種機制)。但是對於Android系統,當系統可用資源較低,系統會強制關閉我們的服務或者是應用,這種情況下連接會強制中斷。(Apple的推送服務之所以工作的很好,是因為每一台手機僅僅保持一個與伺服器之間的連接,事實上C2DM也是這么工作的。即所有的推送服務都是經由一個代理伺服器完成的,這種情況下只需要和一台伺服器保持持久連接即可。C2DM=Cloud to Device Messaging)。