Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
作者:程序員小冰,CSDN博客:http://blog.csdn.net/qq_21376985
下面是一些知識點介紹,后期將會帶領大家進行代碼實戰:
一、Android實現推送方式解決方案:
1、推送方式基礎知識:
在移動互聯網時代以前的手機,如果有事情發生需要通知用戶,則會有一個窗口彈出,將告訴用戶正在發生什么事情。可能是未接電話的提示,日歷的提醒,或是一封新的彩信。推送功能最早是被用于Email中,用來提示我們新的信息。由于時代的發展和移動互聯網的熱潮,推送功能更加地普及,已經不再僅僅用在推送郵件了,更多地用在APP中了。
當我們開發需要和服務器交互的應用程序時,基本上都需要獲取服務器端的數據,比如《地震應急通》就需要及時獲取服務器上最新的地震信息。要獲取服務器上不定時更新的信息,一般來說有兩種方法:第一種是客戶端使用Pull(拉)的方式,就是隔一段時間就去服務器上獲取一下信息,看是否有更新的信息出現。第二種就是 服務器使用Push(推送)的方式,當服務器端有新信息了,則把最新的信息Push到客戶端上。這樣,客戶端就能自動的接收到消息。
雖然Pull和Push兩種方式都能實現獲取服務器端更新信息的功能,但是明顯來說Push方式比Pull方式更優越。因為Pull方式更費客戶端的網絡流量,更主要的是費電量,還需要我們的程序不停地去監測服務端的變化。
在開發Android應用程序時,我們往往需要從服務器不定的向手機客戶端即時推送各種通知消息。我們只需要在Android通知欄處向下一拉,就展開了Notification 面板,可以集中一覽各種各樣通知消息。
2、幾種常見的解決方案實現原理:
1)輪詢(Pull)方式:應用程序階段性的與服務器進行連接,并查詢是否有新的消息到達。必須自己實現與服務器之間的通信,例如消息排隊等。而且還要考慮輪詢的頻率,如果太慢可能導致某些消息的延遲,如果太快,則會大量消耗網絡帶寬和電池。
2)SMS(Push)方式:在Android平臺上,可以通過攔截SMS消息并且解析消息內容來了解服務器的意圖,并獲取其中的內容進行處理。這是一個不錯的想法,這個方案的好處是,可以實現完全的實時操作。但是問題是這個方案的成本相對比較高,需要向移動公司繳納相應的費用。目前很難找到免費的短消息發送網關來實現這種方案。
3)持久連接(Push)方式:這個方案可以解決由輪詢帶來的性能問題,但是還是會消耗手機的電池。
Android操作系統允許在低內存情況下殺死系統服務,所以我們的推送通知服務很有可能就被操作系統Kill掉了。 輪詢(Pull)方式和SMS(Push)方式這兩個方案也存在明顯的不足。至于持久連接(Push)方案也有不足,不過我們可以通過良好的設計來彌補,以便于讓該方案可以有效的工作。
3、 推薦解決方案:XMPP協議實現Android推送功能。
XMPP: Extensible Messageing and Presence ProtocolXMPP是目前主流的四種IM(IM:instant messaging,即時消息)協議之一,其他三種分別為:即時信息和空間協議(IMPP)、空間和即時信息協議(PRIM)、針對即時通訊和空間平衡擴充的進程開始協議SIP(SIMPLE)。 因為目前它是開源的,對于其簡單的推送功能它還是能夠實現的。
事實上Google官方的C2DM服務器底層也是采用XMPP協議進行的封裝。XMPP(可擴展通訊和表示協議)是基于可擴展標記語言(XML)的協議,它用于即時消息(IM)以及在線探測。這個協議可能最終允許因特網用戶向因特網上的其他任何人發送即時消息。
androidpn是一個基于XMPP協議的java開源Android push notification實現。它包含了完整的客戶端和服務器端。經過源代碼研究發現,該服務器端基本是在另外一個開源工程openfire基礎上修改實現的。
4、主流解決方案:使用第三方平臺:極光推送。
極光推送,英文簡稱 JPush,是一個面向普通開發者開放的,免費的第三方消息推送服務。 開發者只需在客戶端集成極光推送 SDK,即可輕松地添加 Push功能到他的 App中。
二、極光推送服務具有如下的優勢:
1)完全開放注冊,免費向所有的開發者開放使用
2)SDK流量電量消耗很少
3)集成簡單,很快就能夠集成跑起來
4)服務器端推送并發量支持大、延遲小
三、操作步驟:
?第一步:創建極光推送開發者帳號
?第二步:Portal上創建應用
?第三步:下載應用Example
?第四步:把Example(Android項目)導入 Eclipse 里
?第五步:運行 Example 這個應用
?第六步:Portal上推送通知
?第七步:手機上收到通知
?第八步:Portal上推送消息
?第九步:在LogCat中查看收到的消息
轉載于:https://www.cnblogs.com/mcxiaobing/p/5907360.html
總結
以上是生活随笔為你收集整理的Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oozie案例——自定义MapReduc
- 下一篇: 使用maven一步一步构建spring