AndroidPN系列之一--Android Push Notification實現信息推送使用

關於服務器端向Android客戶端的推送,主要有三種方式:
1.客戶端定時去服務端取或者保持一個長Socket,從本質講這個不叫推送,這是去服務端拽數據。可是實現簡單,主要缺點:耗電等
2.Google的C2DM,具體不細說,缺點,服務器在國外,你懂得,不是很穩定。
3.XMPP協議,它是一種基於XML的傳遞協議,具備很強的靈活性和可擴展性。它的特色是將複雜性從客戶端轉移到了服務器端。
據說GTalk、QQ、IM等都用這個協議。android

在Android中實現信息推送,其中一個比較成熟的解決方案即是使用XMPP協議實現。而AndroidPn項目就是使用XMPP協議實現信息推送的一個開源項目。在這裏給你們介紹其使用過程。
  Apndroid Push Notification的特色:
  快速集成:提供一種比C2DM更加快捷的使用方式,避免各類限制.
  無需架設服務器:經過使用"雲服務",減小額外服務器負擔.
  能夠同時推送消息到網站頁面,android 手機
  耗電少,佔用流量少.
  具體配置過程:
  首先, 咱們須要下載androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip。
  下載地址:http://sourceforge.net/projects/androidpn/
  解壓兩個包,Eclipse導入client,配置好目標平臺,打開raw/androidpn.properties文件,配置客戶端程序。
  1. 如 果是模擬器來運行客戶端程序,把xmppHost配置成10.0.2.2[模擬器把10.0.2.2認爲是所在主機的地址,127.0.0.1是模擬器本 身的迴環地址,10.0.2.1表示網關地址,10.0.2.3表示DNS地址,10.0.2.15表示目標設備的網絡地址],關於模擬器的詳細信息,大 家可參閱相關資料,這裏再也不詳述.
  xmppPort=5222 是服務器的xmpp服務監聽端口
  運 行androidpn-server-0.5.0inun.bat啓動服務器,從瀏覽器訪問http://127.0.0.1:7070 /index.do (androidPN Server有個輕量級的web服務器,在7070端口監聽請求,接受用戶輸入的文本消息)
  運行客戶端,客戶端會向服務器發起鏈接請求,註冊成功後,服務器能識別客戶端,並維護和客戶端的IP長鏈接。
  2. 若是是在同一個局域網內的其餘機器的模擬器測試(或者使用同一無線路由器wifi上網的真機) ,則須要把這個值設置爲服務器機器的局域網ip.
  例 如 你的電腦和android手機 都經過同一個無線路由器wifi上網, 電腦的ip地址爲 192.168.1.2 而 手機的ip地址爲 192.168.1.3, 這個時候 須要把這個值修改成 xmppHost=192.168.1.1 或是電腦的IP地址,就能夠在手機上使用了.
  3. 若是是不在同一個局域網的真機測試,咱們須要將這個值設置爲服務器的IP地址。
  具體配置以下圖所示:

  git

個人電腦IP是:192.168.8.107
  服務器運行主界面:

   推送信息:

  web

測試結果以下圖:瀏覽器



  

模擬器和真機測試經過。
  其餘使用過程介紹:
  固然了,以上是在本身的服務器上配置並實現信息推送,若是你們想省事的話,在這裏給你們推薦個網址, 能夠更輕鬆地實現推送,缺點是須要經過別人的服務器,關於這點,你懂的。
  網址:http://www.push-notification.org/
  只需申請個API便可使用。服務器

另:網絡

    測試可用代碼,地址:測試

客戶端:http://git.oschina.net/cstslqq/AndroidPNClient網站

服務端 :http://git.oschina.net/cstslqq/AndroidPNServer.net

相關文章
相關標籤/搜索