閱讀1015 返回首頁    go 汽車大全


android個推平台

最近有個朋友想要推送一些消息到自己的APP上,自己用了HTTP輪詢的方式比較耗電,也比較占用流量,一旦用戶關閉了進程,消息則很難觸達,於是,谘詢我有沒有什麼好的解決方案。我告訴他其實可以使用推送,他瞪大眼睛問我推送是什麼?我告訴他其實就是Andriod版的蘋果推送,他才反應過來,問了下其他人,發現身邊很多朋友還不知道有推送這回事情。所以今天就在這裏給大家講下什麼是推送,怎麼使用,以及怎麼利用它來提升自己的留存用戶。

      現在其實有很多現成的推送服務可以選擇,比較了幾家主流的我決定用個推來演示整個推送的流程。這個“個推”吸引我的地方在於,商用的用戶比較多,也較穩定,接口也比較簡單。但是它比較低調宣傳也不多,應該是那種悶聲發財的主。
推送的基本原理其實類似,其實就是通過手機和服務器之間的Socket維持一個TCP長連接,通過這個長連接來實現服務器和客戶端之間的通信。所以推送服務的提供商都會同時提供一個庫來供第三方引用,這個嵌入的庫會幫助第三方應用維護和服務器之間的連接,包括權限校驗,斷開重連等的工作。這樣暴露給第三方開發者的就是一個簡單的接口了,開發人員不必關心網絡的斷開與重連,以及心跳檢測等各種複雜的技術問題。當然,除此以外,這些潛入的庫往往還會封裝一些其他的接口,比如幫助你收到消息後顯示在通知欄,展示頁麵,甚至激活你的應用,傳遞數據到應用並顯示在應用中的某個界麵等。這些功能都可以極大的簡化app開發的工作,有人問我推送和短信有什麼區別,我想這些擴展的功能就是和短信最大的區別吧。至於,之前那個朋友使用HTTP方式輪詢之所以會出現耗電耗流量的情況也是有原因的,因為HTTP請求最終其實還是通過TCP協議實現的,隻不過它的TCP連接是短連接,握手非常頻繁,所以自然就比較耗電,而且HTTP方式是基於文本方式進行通信的,因此協議冗餘比較大,流量消耗自然就大了。而且輪詢方式帶來的問題是,在兩次輪詢之間的時間間隔內是沒辦法拿到服務器下發的消息的。因此,實時性會大打折扣。而長連接就沒有這些問題,而且還有個好處,就是當你的應用即使不活躍也沒關係,你也可以有辦法觸達,提升活躍度。當然,長連接也會有它的問題,就是開發的難度較大。而且,手機應用的一個特點是移動,大家都是帶著手機跑的。所以,當你跑進電梯或者隧道的話,如果信號不好連接就會斷掉,這個時候程序就得重新連接,這就無形中增加了這個東西的難度。

好了,管它怎麼實現的,接下來直接上幹貨!我們來看看怎麼通過推送服務來實現推送的流程。個推的接入流程大致上是下麵這樣子的:

超級簡單是吧?接下來我就娓娓道來,首先打開:https://dev.igetui.com/login.htm,點擊“立即注冊”:

填寫注冊信息:


然後是激活:
反正我就不廢話了,此處略去100字。。。

然後登錄後直接點擊“登記應用”:

下麵我們來登記應用:


接下來下載開發包,注意這個包裏包含了客戶端和服務端的SDK,不要弄錯了(個推為了方便調用還做了服務器端的SDK)

這是下載好的壓縮包,我們先選擇“客戶端”:


進入“客戶端”目錄後,可以先忽略其他目錄直接進入“須導入的資源”:


進入後,我們看到了下麵這些資源:


接下來:
1.   把GetuiSdk-xxx.jar、GetuiExt- xxx.jar以及armeabi文件夾複製到工程根目錄下的libs文件夾中
(若沒有libs目錄,則選中工程右鍵“New”->Folder->命名為“libs”):
2.   右鍵單擊工程,選擇BuildPath中的Configure Build Path...,選中Libraries,並通過AddJars...導入工程libs目錄下的GetuiSdk-xxx.jar、GetuiExt-xxx.jar文件。我用的是最新的ADT工具會自動導入libs目錄下的jar包,所以省略這個步驟。

3.   在初始化的時候加入下麵語句:
4.   進入“layout”目錄,把目錄下的四個文件拷貝到自己工程下的“res/layout/”目錄中:

5.   為了修改通知欄提示圖標,請在res/drawable-hdpi/、res/drawable-mdpi/、res/drawable-ldpi/等各分辨率資源目錄下,放置相應尺寸的push.png圖片。該通知欄提示圖標顯示位置如下:
不過我是演示用的,所以這步就略過去了。

6.   接下來一部比較重要,在AndroidManifest.xml裏添加SDK所需的服務聲明和權限聲明(注意添加在Application標簽裏麵):
直接點擊“複製代碼”就可以了,這裏麵的配置都是根據你之前的配置動態生成好的。
注意在“<application>”標簽裏麵添加

7.   然後在”application”外麵添加如下配置:

拷貝好的效果:

8.   然後安裝應用到Andriod手機上
9.   點擊按鈕:
10. 收到消息的效果:

11. 下麵這張圖是通過發送頁麵通知:

以及高級設置
你可以根據需要選擇不同的方式進行推送。
好了就講到這裏吧,比較晚了,後麵有時間我還會介紹一些個推的高級屬性,比如:
l  報表功能
l  接口推送
l  高性能推送
l  以及自定義接口推送
盡情期待!


Andriod, 解決方案, Socket, 服務器, 第三方
更多圖片小圖大圖

12.png(14.34 KB, 下載次數: 0)

12.png

13.png(35.91 KB, 下載次數: 0)

13.png

14.png(6.33 KB, 下載次數: 0)

14.png

15.png(6.1 KB, 下載次數: 0)

15.png

16.png(24.35 KB, 下載次數: 0)

16.png

17.png(44.34 KB, 下載次數: 0)

17.png

18.png(30.32 KB, 下載次數: 0)

18.png

19.png(36.13 KB, 下載次數: 0)

19.png

20.png(32.52 KB, 下載次數: 0)

20.png

1.png.jpg(19.49 KB, 下載次數: 0)

1.png.jpg

11.png(6.79 KB, 下載次數: 0)

11.png

10.png(21.46 KB, 下載次數: 0)

10.png

9.png(24.22 KB, 下載次數: 0)

9.png

8.png(73.59 KB, 下載次數: 0)

8.png

7.png(18.85 KB, 下載次數: 0)

7.png

6.png(43.32 KB, 下載次數: 0)

6.png

5.png(101.52 KB, 下載次數: 0)

5.png

4.png(28.06 KB, 下載次數: 0)

4.png

最後更新:2017-04-03 08:26:26

  上一篇:go jqm選項卡開發,底部標簽式設計,jqm模仿iPhone手機桌麵菜單,jqm實戰開發,jqm開發例子Demo
  下一篇:go SQL Server---存儲過程