推送的實現原理

2021-07-24 10:56:42 字數 834 閱讀 8355

要獲取伺服器上不定時更新的資訊,一般來說有兩種方法:第一種是客戶端使用pull(拉)的方式,就是隔一段時間就去伺服器上獲取一下資訊,看是否有更新的資訊出現。第二種就是 伺服器使用push(推送)的方式,當伺服器端有新資訊了,則把最新的資訊push到客戶端上。這樣,客戶端就能自動的接收到訊息。

1)輪詢(pull)方式:應用程式應當階段性的與伺服器進行連線並查詢是否有新的訊息到達,你必須自己實現與伺服器之間的通訊,例如訊息排隊等。而且你還要考慮輪詢的頻率,如果太慢可能導致某些訊息的延遲,如果太快,則會大量消耗網路頻寬和電池。

2)sms(push)方式:在android平台上,你可以通過攔截sms訊息並且解析訊息內容來了解伺服器的意圖,並獲取其顯示內容進行處理。這是乙個不錯的想法,我就見過採用這個方案的應用程式。這個方案的好處是,可以實現完全的實時操作。但是問題是這個方案的成本相對比較高,我們需要向移動公司繳納相應的費用。我們目前很難找到免費的短訊息傳送閘道器來實現這種方案。  

3)持久連線(push)方式:這個方案可以解決由輪詢帶來的效能問題,但是還是會消耗手機的電池。ios平台的推送服務之所以工作的很好,是因為每一台手機僅僅保持乙個與伺服器之間的連線,事實上c2dm也是這麼工作的。不過剛才也講了,這個方案存在著很多的不足之處,就是我們很難在手機上實現乙個可靠的服務,目前也無法與ios平台的推送功能相比。

android作業系統允許在低記憶體情況下殺死系統服務,所以我們的推送通知服務很有可能就被作業系統kill掉了。 輪詢(pull)方式和sms(push)方式這兩個方案也存在明顯的不足。至於持久連線(push)方案也有不足,不過我們可以通過良好的設計來彌補,以便於讓該方案可以有效的工作。畢竟,我們要知道gmail,gtalk以及googlevoice都可以實現實時更新的。

Android App訊息推送 實現原理

1.訊息推送的實質 2.作用 產品角度 功能需要,如 資訊類產品的新聞推送 工具類產品的公告推送等等 運營角度 活動運營需要,如 電商類產品的 活動 召回使用者 提高活躍度等等 作為開發者,不要有需求就接,應該多思考 多理解使用者 功能的使用場景,有助於我們更好地去選擇合適的開發方式 3.原理 4....

ios 推送原理

1 註冊 為應用程式申請訊息推送服務。此時你的裝置會向apns伺服器傳送註冊請求。2 apns伺服器接受請求,並將devicetoken返給你裝置上的應用程式 3 客戶端應用程式將devicetoken傳送給後台伺服器程式,後台接收並儲存。4 後台伺服器向apns伺服器傳送推送訊息 5 apns伺服...

iOS推送 實現本地推送

第一步 建立本地推送 建立乙個本地推送 uilocalnotification notification uilocalnotification alloc init autorelease 設定 10秒之後 nsdate pushdate nsdate datewithtimeintervalsi...