【摘要】本文介紹了使用微信公眾號(hào)建設(shè)教學(xué)管理平臺(tái)的思路和方法,包括微信公眾平臺(tái)的利用與開發(fā)、教學(xué)環(huán)境的建設(shè)思路和實(shí)際應(yīng)用等。
【關(guān)鍵詞】微信公眾平臺(tái);教學(xué)管理;智能手機(jī)
1.背景
2014年1月16日,中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)在京發(fā)布第33次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》。《報(bào)告》顯示,截至2013年12月,中國網(wǎng)民規(guī)模達(dá)6.18億,互聯(lián)網(wǎng)普及率為45.8%。其中,手機(jī)網(wǎng)民規(guī)模達(dá)5億,繼續(xù)保持穩(wěn)定增長。手機(jī)網(wǎng)民規(guī)模的持續(xù)增長促進(jìn)了手機(jī)端各類應(yīng)用的發(fā)展,成為2013年中國互聯(lián)網(wǎng)發(fā)展的一大亮點(diǎn)。學(xué)生依然是是中國網(wǎng)民中最大的群體,占比25.5%,互聯(lián)網(wǎng)普及率在該群體中已經(jīng)處于高位。手機(jī)網(wǎng)絡(luò)已經(jīng)日益成為主流的網(wǎng)絡(luò)平臺(tái)。在傳統(tǒng)網(wǎng)絡(luò)全面轉(zhuǎn)向移動(dòng)網(wǎng)絡(luò)的背景趨勢(shì)下,有必要針對(duì)移動(dòng)網(wǎng)絡(luò)調(diào)整現(xiàn)有的教學(xué)支持環(huán)境。我們可以利用現(xiàn)有的成熟產(chǎn)品作為基礎(chǔ)平臺(tái)進(jìn)行二次開發(fā)利用。
騰訊微信是一種新興的移動(dòng)平臺(tái)應(yīng)用產(chǎn)品,目前用戶數(shù)量已經(jīng)超過6億,它支持語音短信、視頻、圖片和文字,適合大部分智能手機(jī),支持iOS、Android、Windows Phone、Symbian和Blackberry等手機(jī)操作系統(tǒng)。據(jù)筆者在我校的初步調(diào)查,大多數(shù)學(xué)生擁有智能手機(jī)并安裝了微信應(yīng)用,此外還有部分學(xué)生擁有iPad或Android平板電腦,具備實(shí)施平臺(tái)構(gòu)建的物質(zhì)基礎(chǔ)?;诖?,為順應(yīng)技術(shù)發(fā)展,迎合學(xué)生用戶的應(yīng)用取向,提出了利用微信公眾平臺(tái)構(gòu)建教學(xué)管理環(huán)境的思路,并在我校電子專業(yè)課程中進(jìn)行了探索實(shí)踐。
2.平臺(tái)構(gòu)建和使用
(1)平臺(tái)架構(gòu)
公眾平臺(tái)消息接口為開發(fā)者提供了與用戶進(jìn)行消息交互的能力。對(duì)于成功接入消息接口的公眾帳號(hào),當(dāng)用戶發(fā)消息給公眾帳號(hào)時(shí),微信公眾平臺(tái)服務(wù)器會(huì)使用HTTP請(qǐng)求對(duì)接入的網(wǎng)址進(jìn)行消息推送,第三方服務(wù)器可通過響應(yīng)包返回個(gè)性的回復(fù),從而達(dá)到回復(fù)消息的目的。微信手機(jī)端、微信服務(wù)器和我們需要開發(fā)的公眾帳號(hào)后臺(tái)的網(wǎng)站服務(wù)器三者之間的交互關(guān)系如圖1所示。
圖1 系統(tǒng)框架圖
圖1所示的具體交互過程的描述如下:1)用戶在微信手機(jī)端向公眾帳號(hào)發(fā)送一條消息,這條消息會(huì)通過網(wǎng)絡(luò)到達(dá)微信的后臺(tái),即微信服務(wù)器;2)后臺(tái)收到這條消息之后,把消息轉(zhuǎn)發(fā)給公眾帳號(hào)的后臺(tái),也就是公眾賬號(hào)的網(wǎng)站服務(wù)器;3)公眾賬號(hào)服務(wù)器收到請(qǐng)求后,解析消息格式,根據(jù)用戶內(nèi)容和自己的服務(wù)器邏輯,計(jì)算出需要返回給用戶的消息,然后封裝消息,返回給微信服務(wù)器;4)微信服務(wù)器把網(wǎng)站服務(wù)器發(fā)來的消息轉(zhuǎn)發(fā)給用戶的微信手機(jī)端,這樣用戶在手機(jī)端上就可以看到公眾賬號(hào)發(fā)來的微信信息了。
通過這個(gè)過程可以看到公眾賬號(hào)服務(wù)器要做的事情有三件:1)獲取微信后臺(tái)發(fā)過來的消息;2)實(shí)現(xiàn)自己的業(yè)務(wù)邏輯;3)發(fā)送返回消息給微信后臺(tái)。
(2)開發(fā)條件
開發(fā)整個(gè)平臺(tái)需要具備兩個(gè)條件:1)擁有微信公眾平臺(tái)帳號(hào)并使用開發(fā)者模式;2)擁有一個(gè)web服務(wù)站點(diǎn),而且需要80端口(可以使用云服務(wù)器做開發(fā))。
3.操作對(duì)象
整個(gè)平臺(tái)涉及三個(gè)對(duì)象:微信手機(jī)客戶端、微信服務(wù)器和網(wǎng)站服務(wù)器。
(1)微信客戶端,是指我們手機(jī)用的微信軟件,利用騰訊的微信軟件,一方面解決了手機(jī)客戶端平臺(tái)多樣化的問題,微信支持的客戶端支持的平臺(tái)有BlackBerry、Android、iPhone、WindowsPhone、BlackBerry等主流平臺(tái);另一方面,通過微信平臺(tái)做登錄入口,省去了家長和學(xué)生登錄時(shí)輸入用戶名和密碼的麻煩,只需要關(guān)注公眾號(hào)即可使用微信號(hào)直接登錄,方便快捷。
(2)微信服務(wù)器,當(dāng)微信用戶向關(guān)注的微信公眾平臺(tái)發(fā)送消息的時(shí)候,微信手機(jī)客戶端將該消息首先發(fā)送到微信服務(wù)器,微信服務(wù)器會(huì)自動(dòng)向公眾服務(wù)號(hào)注冊(cè)的網(wǎng)站服務(wù)器推送一個(gè)消息,消息中包括微信使用者的帳號(hào)信息以及消息內(nèi)容XML格式,網(wǎng)站服務(wù)器處理來自微信服務(wù)器的消息,然后將處理結(jié)果發(fā)回微信服務(wù)器,再由微信服務(wù)器發(fā)送到微信客戶端。
(3)網(wǎng)站服務(wù)器具有三個(gè)功能:微信消息處理、微網(wǎng)站、管理后臺(tái)。1)微信消息處理。處理來自微信用戶的點(diǎn)擊事件,如菜單獲取、權(quán)限角色驗(yàn)證等,并返回圖文鏈接,以便用戶點(diǎn)擊相應(yīng)功能的菜單。系統(tǒng)的角色分為學(xué)生和家長兩種。2)微網(wǎng)站。主要提供教師跟學(xué)生和家長溝通平臺(tái)的應(yīng)用,將該應(yīng)用內(nèi)嵌到微信的鏈接中,采用HTML5前端技術(shù)設(shè)計(jì),網(wǎng)站綁定用戶角色并提供相應(yīng)的服務(wù)內(nèi)容,提供微信端角色對(duì)信息的查看、數(shù)據(jù)提交等交互功能。用戶通過內(nèi)嵌的瀏覽器直接發(fā)送請(qǐng)求給微網(wǎng)站,微網(wǎng)站處理消息,并將處理結(jié)果直接返回到微信端。3)管理后臺(tái)。實(shí)現(xiàn)管理員登錄、用戶中心(對(duì)教師、學(xué)生、家長等用戶角色進(jìn)行增、查、刪、改)、通知、預(yù)習(xí)資料、作業(yè)、討論話題、成績查看、在校情況等功能。
4.如何關(guān)聯(lián)個(gè)人微信賬戶到微網(wǎng)站后臺(tái)
在整個(gè)通信環(huán)節(jié)中,最重要的環(huán)節(jié)是個(gè)人微信號(hào)如何關(guān)聯(lián)到后臺(tái)網(wǎng)站的數(shù)據(jù)庫中,并指定該微信號(hào)屬于學(xué)生還是家長,處理過程如下:
(1)關(guān)聯(lián)個(gè)人微信賬戶到微網(wǎng)站后臺(tái)
1)申請(qǐng)公眾帳號(hào)并成為開發(fā)者
使用微信公眾平臺(tái)https://mp.weixin.qq.com 申請(qǐng)微信號(hào)碼,登錄微信公眾平臺(tái)后臺(tái),選擇高級(jí)功能,進(jìn)入后就看到兩種模式,我們需要先關(guān)閉編輯模式,開通開發(fā)模式成為開發(fā)者。使用開發(fā)者模式才可以讓微信服務(wù)器推送微信客戶端發(fā)出的消息到網(wǎng)站服務(wù)中。
2)微信消息處理
在系統(tǒng)框架圖中,關(guān)聯(lián)微信帳號(hào)主要在處理第三步上,微信接口部分主要的工作是接收來自第二步的XML消息,然后進(jìn)入第三步流程開始處理消息,系統(tǒng)根據(jù)消息體中的[FromUserName]到后臺(tái)數(shù)據(jù)庫中檢查是否存在該用戶以及該用戶的角色,組織回復(fù)的內(nèi)容并打包成XML格式的信息發(fā)送到微信服務(wù)器,由微信服務(wù)器返回給用戶。
有一點(diǎn),開發(fā)時(shí)需要特別注意:微信服務(wù)器若在五秒內(nèi)收不到響應(yīng)會(huì)斷掉連接,并且重新發(fā)起請(qǐng)求,總共重試三次。
微信服務(wù)器與網(wǎng)站服務(wù)器之間的交互使用XML格式來進(jìn)行封裝,不同格式的數(shù)據(jù)消息(文本、圖片、語音、視頻等)都封在XML里面,一個(gè)簡單的文字請(qǐng)求XML(RequestMessage)內(nèi)容如下:
對(duì)應(yīng)節(jié)點(diǎn)的官方說明如表1所示:
表1
參數(shù) 描述
ToUserName 開發(fā)者微信號(hào)
FromUserName 發(fā)送方帳號(hào)(一個(gè)OpenID)
CreateTime 消息創(chuàng)建時(shí)間 (整型)
MsgType text
Content 文本消息內(nèi)容
MsgId 消息id,64位整型
響應(yīng)的文本消息主題XML(Response Message)內(nèi)容如下:
對(duì)應(yīng)官方說明如表2所示:
表2
參數(shù) 是否必須 描述
ToUserName 是 接收方帳號(hào)(收到的OpenID)
FromUserName 是 開發(fā)者微信號(hào)
CreateTime 是 消息創(chuàng)建時(shí)間 (整型)
MsgType 是 text
Content 是 回復(fù)的消息內(nèi)容(換行:在content中能夠換行,微信客戶端就支持換行顯示)
值得注意的是,微信服務(wù)器自發(fā)送推送消息到網(wǎng)站服務(wù)器起就開始等待接收消息,但不會(huì)一直等待,如果在等待一段時(shí)間后沒有收到消息,會(huì)關(guān)閉這個(gè)接收消息的通道,這個(gè)時(shí)間是5秒。也就是說,如果在5秒之內(nèi)沒有消息從網(wǎng)站服務(wù)器返回,即使超過這個(gè)時(shí)間之后網(wǎng)站服務(wù)器有數(shù)據(jù)返回,微信客戶端也無法收到返回的內(nèi)容。
基于以上通信方式,在開發(fā)者模式下,所有通信的發(fā)起者必須是客戶端發(fā)起,而且在5秒內(nèi)必須返回?cái)?shù)據(jù),這樣網(wǎng)站服務(wù)器才可以將相應(yīng)的個(gè)性化的數(shù)據(jù)通過微信服務(wù)器返回給用戶。
3)關(guān)聯(lián)帳號(hào)
為了能夠讓學(xué)生和家長只查詢到屬于自己的信息,需要給新增的用戶分配角色,并給相應(yīng)的角色分配權(quán)限。每個(gè)微信客戶端都有一個(gè)區(qū)別于別人的OpenId,該OpenId是普通用戶的標(biāo)識(shí),對(duì)當(dāng)前公眾號(hào)唯一,我們通過這個(gè)ID可以獲取個(gè)人詳細(xì)信息(包括用戶昵稱、性別、地區(qū)、頭像等信息),使用這些信息來區(qū)分用戶,教師事先登記學(xué)生的微信帳號(hào)從而給學(xué)生和家長分配角色,寫到數(shù)據(jù)庫中。以后每次該用戶發(fā)來的請(qǐng)求都會(huì)使用OpenId對(duì)應(yīng)的數(shù)據(jù)庫中的個(gè)人編號(hào)來獲取數(shù)據(jù),返回給用戶。被分配了學(xué)生權(quán)限的用戶微信端點(diǎn)擊“學(xué)生”,會(huì)出現(xiàn)圖2所示菜單:
此時(shí)若點(diǎn)擊“家長”,會(huì)提示“您的身份不是家長”,系統(tǒng)拒絕提供服務(wù)。
完成后的用戶中心,給關(guān)注后的用戶分配角色界面如圖3所示:
圖3
點(diǎn)擊“修改”按鈕,可以修改用戶信息(如姓名、性別、身份等)。
(2)主要功能
1)用戶管理:可以修改用戶備注信息為真實(shí)的學(xué)號(hào)姓名,單擊學(xué)生用戶名進(jìn)行單獨(dú)發(fā)送消息或輔導(dǎo)。
2)群發(fā)消息:教師可以把最新更新、有時(shí)效性的消息發(fā)送給學(xué)生。發(fā)送對(duì)象可以是所有用戶,也可以是定向發(fā)送。
5.平臺(tái)限制
微信平臺(tái)為教學(xué)提供極大便利的同時(shí)也有它不容忽視的缺陷。微信公眾平臺(tái)存在一些實(shí)用限制,由此建立起來的教學(xué)管理平臺(tái)受到一些條件的制約:
(1)公眾平臺(tái)只提供PC端管理,不能方便地使用移動(dòng)設(shè)備直接對(duì)教學(xué)環(huán)境進(jìn)行全方位的管理。
(2)使用后臺(tái)發(fā)送群發(fā)消息的數(shù)量不受限制,但是微信助手每月只能發(fā)送4次,此缺陷可以通過建微信群來彌補(bǔ)。
(3)對(duì)FTP鏈接的支持欠佳。
(4)其本身不提供有效的交互環(huán)境,需要借助微信或QQ等其他工具與學(xué)生進(jìn)行直接交流。
(5)存在無微信號(hào)或昵稱實(shí)時(shí)信息搜索功能、無圖片素材分組功能等缺點(diǎn),完全照搬來配合教學(xué)有一定的局限性。
(6)因?qū)W校內(nèi)部的無線網(wǎng)絡(luò)的使用限制,無WiFi的地方微信的使用仍需要一定費(fèi)用,對(duì)部分學(xué)生的使用產(chǎn)生影響。
(7)智能手機(jī)耗電量較大,拍照或視頻時(shí)表現(xiàn)的尤為突出,造成使用時(shí)間限制。
(8)微信平臺(tái)成為教學(xué)輔助工具的同時(shí)更是一個(gè)具有強(qiáng)大功能的聊天工具,更是一種生活方式,它給教學(xué)帶了便利,但這其中也蘊(yùn)含著巨大的危機(jī)。對(duì)于自制力差的同學(xué)而言,受網(wǎng)絡(luò)影響課堂專注力會(huì)有所下降,這時(shí)教師的監(jiān)督引導(dǎo)就顯得尤為重要。
(9)還應(yīng)該關(guān)注那些不具備智能手機(jī)的學(xué)生。微信只是一個(gè)學(xué)習(xí)輔助工具,不能依賴微信解決教學(xué)中存在的所有問題,教師要積極參與其中,不能忽視教師的指導(dǎo)作用。因此,不應(yīng)當(dāng)把微信公眾平臺(tái)教學(xué)管理作為唯一的服務(wù)提供選項(xiàng)。
在普及智能手機(jī)的前提下,微信平臺(tái)特別適用小組教學(xué)。如果能進(jìn)一步對(duì)教學(xué)環(huán)境進(jìn)行適當(dāng)改進(jìn),比如鋪設(shè)WiFi網(wǎng)絡(luò),條件允許下設(shè)計(jì)針對(duì)微信的教學(xué)平臺(tái),配備與智能手機(jī)兼容的大屏視頻設(shè)備,以發(fā)揮智能手機(jī)及微信的最大優(yōu)勢(shì),達(dá)到更好的教學(xué)效果。
6.結(jié)束語
本文介紹了利用微信公眾平臺(tái)作為教學(xué)管理工具的思路和實(shí)現(xiàn)方法。微信公眾平臺(tái)還有很大的發(fā)展空間,以此為基礎(chǔ)建設(shè)教學(xué)管理平臺(tái)還處于試驗(yàn)開創(chuàng)階段,需要進(jìn)一步總結(jié)經(jīng)驗(yàn)和摸索規(guī)律,進(jìn)行更深入的研究。微信仍然在發(fā)展之中,公眾平臺(tái)的開發(fā)也在繼續(xù)進(jìn)行,相信隨著時(shí)間的推移,可以利用公眾平臺(tái)提供的教學(xué)管理手段會(huì)更加多姿多彩。
參考文獻(xiàn)
[1]中國互聯(lián)網(wǎng)絡(luò)信息中心.33次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告,www.cnnic.cn,2014.
[2]鐘志勇.微信公眾平臺(tái)應(yīng)用開發(fā)實(shí)戰(zhàn)[M].機(jī)械工業(yè)出版社,2013,9.
[3]鞠文飛.利用微信公眾平臺(tái)構(gòu)建移動(dòng)設(shè)備教學(xué)輔助環(huán)境[J].電腦編程技巧與維護(hù),2013(12).
作者簡介:蘇雙琴(1978—),女,江蘇揚(yáng)州人,碩士,蘇州高等職業(yè)技術(shù)學(xué)校中級(jí)講師,研究方向:電子與通信技術(shù)教育研究。