Android推送服務(wù)開發(fā)

由于公司之前使用的手機(jī)客戶端推送服務(wù)是極光推送,給公司造成一年幾十萬的服務(wù)費,因此,公司決定開發(fā)自己的一套推送服務(wù),初步的技術(shù)選型是:

成都創(chuàng)新互聯(lián)公司專注于隆昌網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供隆昌營銷型網(wǎng)站建設(shè),隆昌網(wǎng)站制作、隆昌網(wǎng)頁設(shè)計、隆昌網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造隆昌網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供隆昌網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

服務(wù)端:netty4

    關(guān)于netty框架在我的下面的博客里面我整理了相關(guān)資料,本來還有一些關(guān)于mina的由于時間原因暫時沒整理出來。

    為了便于自己測試,自己動手實現(xiàn)了如何使用netty完成服務(wù)端消息推送以及在Android客戶端如何將接受到的信息顯示在通知欄,整體思路大概是這樣的:

  • 服務(wù)端使用netty框架開啟基于TCP監(jiān)聽服務(wù)。

  • 客戶端發(fā)起TCP連接(不關(guān)閉,長連接),并實現(xiàn)心跳包,斷開重連機(jī)制。

  • 服務(wù)端對長連接進(jìn)行管理(接受心跳包,處理異常連接),并推送消息。

  • 客戶端監(jiān)聽到消息后顯示在通知欄,查看消息時客戶端會將數(shù)據(jù)提交到服務(wù)端進(jìn)行統(tǒng)計。

  服務(wù)端對自己來說實現(xiàn)起來比較簡單,但是由于自己之前沒有搞過android這塊,不得不去補一些有關(guān)android的知識,我是這么分析的:

 

  • 首先需要知道android是通過什么機(jī)制通知系統(tǒng)通知欄顯示東西的。

  • 其次要了解的是android組件的組成以及各個組件的通信方式。

 OK!有了基本的思路之后就開始在網(wǎng)上找資料了。

  • android是通過NotificationManager 來異步通知通知系統(tǒng)通知欄的,這里說的異步可能就決定了我在統(tǒng)計數(shù)據(jù)的時候有一種數(shù)據(jù)時統(tǒng)計不了的(用戶人為關(guān)閉了APP通知欄),在網(wǎng)上找了很多資料,又說要root權(quán)限又說android系統(tǒng)不會提供關(guān)掉通知欄的設(shè)置的(實際上我的小米手機(jī)上是有那個功能的)。但是我一開始的思路是這樣的,既然會提供手動關(guān)閉通知欄的系統(tǒng)功能,那么系統(tǒng)內(nèi)部應(yīng)該廣播一下這個操作才合理一點啊,可惜的是沒有這個廣播。

  • 關(guān)于android的組件大致可以分為四大類:

     Activity:通常就是一個單獨的屏幕,它上面可以顯示一些控件也可以監(jiān)聽并處理用戶的事件做出 響應(yīng)。

     Service:一段長生命周期的,沒有用戶界面的程序,可以用來開發(fā)如監(jiān)控類程序。

     Content Provider:內(nèi)容提供者,

     BroadcastReceiver:廣播接收器。

     他們的通信一般是使用intent來通信的,當(dāng)然為了安全,里面都有各自的方式,重寫方法的時候就能拿到組件之間需要發(fā)送的信息了。

最后,由于上面的過程自己只花了一個下午的時間來搭建,android客戶端的代碼基本上都是百度搜到的,故就不把源碼貼出來了,不過自己總算是入門了,整體感覺還是蠻簡單的,操作的時候也沒遇到什么困難,把思路分享出來希望對一些沒找對學(xué)習(xí)方法的人有用。

分享標(biāo)題:Android推送服務(wù)開發(fā)
網(wǎng)頁地址:http://muchs.cn/article26/isjhcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、域名注冊企業(yè)網(wǎng)站制作、定制開發(fā)App設(shè)計、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)