吳豐盛++黃濤++肖靜
摘要:目前智能手機(jī)在全國高校的大學(xué)生中已全面普及,Android手機(jī)又占據(jù)著智能手機(jī)的大半江山。在移動互聯(lián)網(wǎng)高速發(fā)展的今天,國家適時提出了互聯(lián)網(wǎng)+的新業(yè)態(tài),為此我們可以充分利用這些有利條件,探討如何設(shè)計及實(shí)現(xiàn)基于Android平臺的高校教務(wù)信息推送功能,以此更好地服務(wù)于高校教務(wù)管理工作及學(xué)生的在校學(xué)習(xí)。
關(guān)鍵詞:APP;Android;教務(wù)信息;推送;云服務(wù)平臺
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)17-0073-03
專用的智能手機(jī)APP加云服務(wù)平臺是智慧校園的主流架構(gòu),在這套系統(tǒng)中又可以包含許多子系統(tǒng),比如教務(wù)管理系統(tǒng),教學(xué)管理系統(tǒng),圖書館管理系統(tǒng),后勤管理系統(tǒng)等。本文探討的功能屬于教務(wù)管理系統(tǒng)中的一個子功能,目的是讓教務(wù)管理人員能夠第一時間將一些重要的教務(wù)信息通過推送服務(wù)發(fā)送出去,學(xué)生或者教師在Android系統(tǒng)上能夠第一時間通過推送服務(wù)收到相關(guān)的教務(wù)信息。這其中涉及三個方面的問題,首先是推送的教務(wù)信息包含的內(nèi)容及形式,其次是Android平臺上有哪些主流推送方案,最后是選擇一種筆者認(rèn)為適用于高校的推送方案來實(shí)現(xiàn)此功能原型。
1 高校教務(wù)信息推送功能設(shè)計
根據(jù)高校教務(wù)管理的一般特點(diǎn),可用于推送服務(wù)的高校教務(wù)信息內(nèi)容多以通知為主,以與學(xué)生相關(guān)的教務(wù)信息為例,可以包含選課通知,校歷查看通知,課表查看通知,考試通知,分?jǐn)?shù)查看通知,補(bǔ)考通知,調(diào)課、停課通知等,如圖1所示。
<由此可見,在這種架構(gòu)下,發(fā)送簡單的字符信息不僅可以滿足日常的教務(wù)信息推送功能,同時字符內(nèi)容相對于富媒體可以大大降低推送服務(wù)器的負(fù)載,達(dá)到簡單靈活高效的目的。
2 基于Android平臺的主流推送方案比較及選擇
2.1 官方方案
Google官方的C2DM,它是一個用來幫助開發(fā)者從服務(wù)器向Android應(yīng)用程序發(fā)送數(shù)據(jù)的服務(wù)。該服務(wù)提供了一個簡單的、輕量級的機(jī)制,允許服務(wù)器可以通知移動應(yīng)用程序直接與服務(wù)器進(jìn)行通信,以便于從服務(wù)器獲取應(yīng)用程序更新和用戶數(shù)據(jù)。它有兩個主要問題導(dǎo)致無法正常的在國內(nèi)使用,首先是C2DM需要依賴于Google官方提供的C2DM服務(wù)器,由于國內(nèi)的網(wǎng)絡(luò)環(huán)境,這個服務(wù)經(jīng)常不可用,如果想要很好的使用,我們的APP Server必須也在國外,這個恐怕不是每個開發(fā)者都能夠?qū)崿F(xiàn)的;其次是C2DM依賴于Google服務(wù),但國內(nèi)很多硬件廠商平臺,比如摩托羅拉、華為、中興做一部手機(jī),他們可能會把Google的這種原生服務(wù)去掉,這樣也就無法使用C2DM。
2.2 開源方案
androidpn推送方案,它是一個基于XMPP協(xié)議的Java開源Android push notification實(shí)現(xiàn)。它包含了完整的客戶端和服務(wù)器端。XMPP(可擴(kuò)展通訊和表示協(xié)議)是基于可擴(kuò)展標(biāo)記語言(XML)的協(xié)議,它用于即時消息(IM)以及在線探測。此方案的最大優(yōu)勢就是簡單,我們不需要像C2DM那樣依賴操作系統(tǒng)版本,也不會擔(dān)心某一天Google服務(wù)器不可用。利用XMPP協(xié)議我們還可以進(jìn)一步的對協(xié)議進(jìn)行擴(kuò)展,實(shí)現(xiàn)更為完善的功能。采用這個方案,我們目前只能發(fā)送文字消息,不過對于推送來說一般足夠了。
2.3 第三方方案
2.3.1 國外公司
IBM的RSMB,它采用MQTT協(xié)議實(shí)現(xiàn)Android推送功能。MQTT是一個輕量級的消息發(fā)布/訂閱協(xié)議,它是實(shí)現(xiàn)基于手機(jī)客戶端的消息推送服務(wù)器的理想解決方案。但是它目前也存在兩個主要問題,首先是它不開源,所以定制的功能也不多;其次是實(shí)際測試時發(fā)現(xiàn)RSMB的客戶端不是很穩(wěn)定,有時候會連接不上服務(wù)器,這些一定程度上影響了它的使用效果。
2.3.2 國內(nèi)公司
目前國內(nèi)做推送比較出名的公司有個推、極光推送、百度云推送、友盟消息推送等,它們的共同點(diǎn)都是提供客戶端及服務(wù)器端的SDK供開發(fā)者接入時使用,推送內(nèi)容都經(jīng)過第三方的服務(wù)器中轉(zhuǎn),代碼都不開源但技術(shù)成熟可靠并有著很多大牌合作伙伴和成功案例。由于這些公司目前都是行業(yè)內(nèi)的代表且長期致力于專業(yè)推送服務(wù),所以它們在推送的穩(wěn)定性和到達(dá)率、手機(jī)電量和流量、安全性、消息推送內(nèi)容等方面差別不大。這些公司提供的SDK文檔都很詳細(xì),接口簡單,有專門的技術(shù)支持人員進(jìn)行答疑指導(dǎo),但是如果要使用推送的高級功能,是需要額外付費(fèi)的。
2.4 方案選擇
綜合以上各方案介紹,我們不難發(fā)現(xiàn)androidpn作為開源項(xiàng)目比較適合二次開發(fā),但是從開源項(xiàng)目到實(shí)際商用,是需要很多人力物力的投入,對于大多數(shù)應(yīng)用開發(fā)者,甚至一些中小企業(yè),會轉(zhuǎn)而考慮使用第三方的專業(yè)推送服務(wù),這樣省時省力。由于要推送的高校教務(wù)信息從內(nèi)容上并沒有保密性的需求,且基本上都是概要信息,具體的詳細(xì)信息是通過高校自己的專用系統(tǒng)獲取,所以可以放心選擇第三方方案??紤]到國內(nèi)公司更了解中國國情,所以我們可以優(yōu)先考慮。由于這些公司提供的服務(wù)差別不大,我們就選擇國內(nèi)做消息推送最早的極光推送方案來實(shí)現(xiàn)高校教務(wù)信息推送功能的基本原型。
3 高校教務(wù)信息推送功能實(shí)現(xiàn)
此功能所在的系統(tǒng)架構(gòu)為專用的智能手機(jī)APP加云服務(wù)平臺,具體如圖3所示:
要在此架構(gòu)中實(shí)現(xiàn)信息推送功能,有6個重要步驟,如圖3中的數(shù)字所示。
1) 管理員通過Web登錄教務(wù)管理系統(tǒng)云服務(wù)平臺,輸入要推送的內(nèi)容。
2) 云服務(wù)平臺的Web服務(wù)模塊將推送內(nèi)容發(fā)送給推送服務(wù)模塊。
3) 推送服務(wù)模塊將推送內(nèi)容發(fā)送給極光推送服務(wù)器。
4) 極光推送服務(wù)器收到推送請求后將內(nèi)容推送給所需對象,學(xué)生在Android手機(jī)上收到推送消息后進(jìn)行查看并決定是否繼續(xù)查看詳細(xì)內(nèi)容。
5) 如果選擇查看詳細(xì)內(nèi)容則打開專業(yè)APP向云服務(wù)平臺請求數(shù)據(jù)。
6) 云服務(wù)平臺將相關(guān)數(shù)據(jù)發(fā)送給專業(yè)APP。
開發(fā)前需先在極光推送官網(wǎng)進(jìn)行APP注冊,包括APP的名稱、圖標(biāo)、包名,如圖4所示。
4 結(jié)束語
本文按照程序開發(fā)的一般流程,從功能設(shè)計,方案選擇,功能實(shí)現(xiàn)向大家介紹了如何快速高效穩(wěn)定的實(shí)現(xiàn)基于Android系統(tǒng)的高校教務(wù)信息推送功能。當(dāng)然,在移動互聯(lián)網(wǎng)技術(shù)百花齊放的今天,實(shí)現(xiàn)信息推送功能的方法有很多,本文只是從筆者認(rèn)為最適合高校教務(wù)信息推送功能需求的角度出發(fā),選擇其中一個方案進(jìn)行了原型實(shí)現(xiàn),目的是給有同樣開發(fā)需求的人一個選擇參考。
參考文獻(xiàn):
[1] 倪紅軍.基于Android平臺的消息推送研究與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2014(33):96-100.
[2] 朱奎,王未央.基于Android系統(tǒng)的大數(shù)據(jù)推送平臺研究[J].現(xiàn)代計算機(jī),2014(2):62-65.
[3] 周穎穎,劉奇.Android平臺下基于泛型的南京青奧會賽事異步推送方案的設(shè)計[J].電腦知識與技術(shù),2013(9):5087-5089.