王家亮
摘 要: 文章探討了個(gè)性化社交平臺(tái)的微信服務(wù)號(hào)開發(fā),研究了微信對(duì)話和授權(quán)網(wǎng)頁兩大互聯(lián)業(yè)務(wù)。巧用陀螺儀、定位、語音等硬件和第三方接口輔助創(chuàng)新,另引入新舊平臺(tái)對(duì)接機(jī)制,為公眾號(hào)營銷提供實(shí)用策略。平臺(tái)使用JQuery核心框架、服務(wù)器端PHP語言搭配MYSQL數(shù)據(jù)庫實(shí)現(xiàn),具有開發(fā)效率高、穩(wěn)定性好、高擴(kuò)展性等特性。
關(guān)鍵詞: 微信服務(wù)號(hào); 社交應(yīng)用; 設(shè)備API; 平臺(tái)對(duì)接; 營銷策略
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)06-43-04
Design and implementation of personalized social platform based on WeChat
Wang Jialiang
(Tongda College of Nanjing University of Posts & Telecommunications, Yangzhou, Jiangsu 225127, China)
Abstract: This paper mainly discusses the development of the WeChat platform of personalized social applications, and studies interconnected services on WeChat dialogue and authorized web pages. To support its innovation, the gyroscope, geolocation, voice hardware and third party interface are used reasonably, at the same time, the introduction of docking mechanism between new and old platform provides the practical marketing strategy. The platform is realized by using the JQuery core framework, with PHP language and MYSQL database on server-side, and has the advantages of high efficiency, good stability and high expansibility.
Key words: WeChat; social application; device API; platform docking; marketing strategy
0 引言
如今,移動(dòng)互聯(lián)網(wǎng)發(fā)展已經(jīng)進(jìn)入了全民時(shí)代,其應(yīng)用數(shù)量增長迅猛,呈現(xiàn)出大量開發(fā)、快速發(fā)布、全民使用的態(tài)勢[1]。Web技術(shù)不斷發(fā)展及HTML5的誕生,為移動(dòng)Web功能提供了更多的支持和可能性[2]。
此平臺(tái)集中實(shí)現(xiàn)的移動(dòng)端網(wǎng)頁開發(fā)中特別引入了硬件接口,使操作更人性化,相對(duì)于PC端更具互動(dòng)性。在此公眾號(hào)內(nèi),用戶可挑選最常用的個(gè)性化應(yīng)用,配置出多樣的社交功能。同時(shí),公眾號(hào)網(wǎng)頁授權(quán)的安全性和便捷性,使得傳統(tǒng)站點(diǎn)接入海量微信關(guān)注用戶成為可能,其活躍性和兼容性明顯增強(qiáng)。多平臺(tái)流動(dòng)概念使其各向優(yōu)勢特性得以顯現(xiàn)。
1 平臺(tái)功能與特色
根據(jù)微信公眾平臺(tái)技術(shù)文檔(下簡稱:官方文檔),公眾號(hào)主要是通過公眾號(hào)消息會(huì)話和內(nèi)網(wǎng)頁來為用戶提供服務(wù)的[3]??伤阉鳎骸邦I(lǐng)航未來工作室”服務(wù)號(hào)體驗(yàn)實(shí)例。
個(gè)性化社交微信平臺(tái)(下簡稱:此平臺(tái))中,主要考慮公眾號(hào)內(nèi)網(wǎng)頁的設(shè)計(jì)與實(shí)現(xiàn),將公眾號(hào)消息會(huì)話服務(wù)當(dāng)作用戶分流、即時(shí)客服、告知消息等輔助應(yīng)用導(dǎo)向,這也是由于其邏輯控制的相關(guān)特性導(dǎo)致的。而使用移動(dòng)端內(nèi)嵌網(wǎng)頁服務(wù)使得社交應(yīng)用更為自如和輕便。平臺(tái)的相關(guān)功能模塊如圖1所示。
2 模塊功能描述
根據(jù)官方文檔,開發(fā)者可以通過個(gè)性化菜單接口,讓公眾號(hào)的不同用戶標(biāo)簽成員看到不一樣的自定義菜單[3]。因此,可對(duì)具有不同權(quán)限的管理員和挑選不同個(gè)性化服務(wù)的普通用戶分類并創(chuàng)建個(gè)性化菜單。
2.1 公眾號(hào)消息會(huì)話模塊
此模塊是用戶關(guān)注公眾號(hào)后最先參與到的業(yè)務(wù)。其基本信息可在用戶活躍[4]時(shí)進(jìn)行數(shù)據(jù)庫記錄覆蓋。除此之外,還可進(jìn)行消息的主動(dòng)推送被動(dòng)回復(fù)、客服咨詢,網(wǎng)頁內(nèi)業(yè)務(wù)產(chǎn)生的消息提示也可在此進(jìn)行及時(shí)反饋。
⑴ 用戶數(shù)據(jù)采集。用戶對(duì)于公眾號(hào)的操作行為,可調(diào)用微信接口進(jìn)行數(shù)據(jù)庫更新以服務(wù)于個(gè)性化業(yè)務(wù)。這也與接口調(diào)用上限頻率及突破限制的消息主動(dòng)推送等詳細(xì)業(yè)務(wù)息息相關(guān)。
⑵ 用戶分流。均衡負(fù)載,并使用戶快速明確的獲取到幫助。可通過點(diǎn)擊菜單或消息詢問方式觸發(fā)該模塊,也可引入第三方聊天機(jī)器人以活躍公眾號(hào)。
⑶ 在線客服。最終服務(wù)于用戶分流,但也獨(dú)立于用戶分流。微信公眾平臺(tái)提供了客服平臺(tái)可供開發(fā)者直接部署實(shí)體客服。同時(shí),在超級(jí)管理員的公眾號(hào)內(nèi)網(wǎng)頁中配置客服管理的相關(guān)模塊。
⑷ 模板消息和客服消息。官方文檔對(duì)于公眾號(hào)主動(dòng)推送消息方式有嚴(yán)格的限制,而模板消息僅適用于被審核通過的模板類型。針對(duì)活躍用戶,可引入客服消息機(jī)制,間接向用戶推送多種類型消息??墒瓜?huì)話和內(nèi)網(wǎng)頁模塊互相聯(lián)動(dòng)。
2.2 公眾號(hào)內(nèi)網(wǎng)頁模塊
此模塊旨在為用戶提供授權(quán)的業(yè)務(wù)頁面,并結(jié)合移動(dòng)端硬件接口加強(qiáng)體驗(yàn)。認(rèn)證的服務(wù)號(hào)以JS-SDK作為主要輔助開發(fā)工具包,以WeUI作為主要CSS展示核心。表現(xiàn)出同微信軟件一致的無縫視覺效果和功能,易于使用且大大降低開發(fā)和設(shè)計(jì)成本[3]。
值得注意的是,雖然存在Openid以保證用戶身份識(shí)別的惟一性,但為擴(kuò)大和對(duì)接舊業(yè)務(wù),我們提出必須進(jìn)行PC網(wǎng)頁賬號(hào)注冊(cè)和綁定,才可使用網(wǎng)頁服務(wù)。這并不難,因?yàn)槭褂枚S碼生成等接口能快速開發(fā)出用于平臺(tái)對(duì)接的相關(guān)業(yè)務(wù)。
⑴ 頁面授權(quán)及業(yè)務(wù)區(qū)分。管理員和普通用戶兩類群體必須通過OAuth2.0鑒權(quán)并進(jìn)行Session設(shè)置,且在消息會(huì)話中以文本鏈接形式跳轉(zhuǎn)到該域名下的頁面也享有授權(quán)。結(jié)束所有網(wǎng)頁業(yè)務(wù)后,注銷授權(quán)。
⑵ 個(gè)人中心??蓪?duì)頭像圖庫(搭配人臉識(shí)別及機(jī)器學(xué)習(xí))、定位隱私、收貨管理、積分業(yè)務(wù)等用戶個(gè)性化信息進(jìn)行采集和設(shè)置。其基于語音接口技術(shù)的語音簽名是一大特性。
⑶ 附近的人。使用Web API訪問手機(jī)陀螺儀硬件,對(duì)0-360?水平面進(jìn)行8個(gè)方向的分割。根據(jù)定位,用戶將設(shè)備指向的地理方向即為真實(shí)附近用戶的由近及遠(yuǎn)展示,查找不同方向的附近的人。對(duì)感興趣的用戶進(jìn)行關(guān)系識(shí)別,以增強(qiáng)用戶間互動(dòng)。
⑷ 朋友。提供朋友的增刪,基于二維碼和定位技術(shù)的約會(huì)打卡及其他第三方互動(dòng)服務(wù)入口。由于朋友之間存在有雙向和單向兩大可細(xì)分關(guān)系,對(duì)他們進(jìn)行分類以延伸到今后各類具體業(yè)務(wù)中。
⑸ 動(dòng)態(tài)及公布。動(dòng)態(tài)發(fā)布瀏覽及點(diǎn)贊回復(fù)使得互動(dòng)分享更為活躍?;诘乩矶ㄎ坏那笾畔l(fā)布,使幫助者授權(quán)獲取實(shí)時(shí)定位進(jìn)行現(xiàn)場援助并獲利。消息公布對(duì)應(yīng)于管理員模塊中的發(fā)布模塊。
⑹ 對(duì)接PC購物網(wǎng)站。平臺(tái)老用戶數(shù)量瓶頸的處理方案。老平臺(tái)吸收微信用戶,同時(shí)幫助新平臺(tái)擴(kuò)展業(yè)務(wù)。此模塊以PC購物網(wǎng)站對(duì)接為例,提供一致的權(quán)限,可進(jìn)行商品選取、購物車和訂單管理等等服務(wù)。
⑺ 管理員模塊綜述。有管理員權(quán)限的關(guān)注用戶,可對(duì)普通用戶進(jìn)行管理、公告發(fā)布、客服對(duì)接等操作??紤]到接口調(diào)用頻率的限制,性能設(shè)置被列入其中。
3 部分核心模塊具體實(shí)施方案舉例
3.1 基于陀螺儀硬件的“附近的人”實(shí)例
有關(guān)基于地理坐標(biāo)的應(yīng)用,在互聯(lián)網(wǎng)移動(dòng)社交軟件中已經(jīng)被廣泛使用到。本項(xiàng)目的創(chuàng)新點(diǎn)在于:讓“附近的人”實(shí)例展現(xiàn)時(shí),結(jié)合設(shè)備方向變得更為生動(dòng)。
獲取用戶定位。有以下常用解決方案:①進(jìn)行公眾號(hào)消息會(huì)話時(shí)獲??;②使用JS-SDK提供的getLocation;③用戶設(shè)備所屬IP等模糊方法獲取。盡管室內(nèi)和室外定位的原理不同,但在此我們僅僅要求做到將經(jīng)緯度地址規(guī)范到同一個(gè)坐標(biāo)系統(tǒng)中。我們選用騰訊坐標(biāo)系統(tǒng),以方便后續(xù)通過openLocation接口查看定位示意圖。
獲取設(shè)備方位。通過Web API中的DeviceOrientation接口可獲取到手機(jī)陀螺儀提供的3個(gè)物理旋轉(zhuǎn)的信息,其中alpha值(安卓系統(tǒng)為webkitCompassHeading值),即為所需要的Z軸旋轉(zhuǎn)角度,以0-360之間的整型表示,見圖2示意圖。但在實(shí)際測試中筆者發(fā)現(xiàn),市場主流的安卓和IOS系統(tǒng)顯示出不一致的基準(zhǔn)數(shù)值。對(duì)此我們用簡單的JS代碼將其矯正,并將最終數(shù)值附加以“四面八方”的文字形式(北、東北、東....)描述給用戶。實(shí)例中,方位數(shù)值的獲取代碼必須寫入到“window.addEventListener("deviceorientation",function(event) {......}, true);”之中才可保證方位數(shù)據(jù)的實(shí)時(shí)精準(zhǔn)獲取。
以AJAX方式執(zhí)行獲取附近的人程序。對(duì)現(xiàn)有的獲取附近的人的方式有以下幾種:“①基于MySQL數(shù)據(jù)庫;②采用GeoHash索引,基于MySQL;③MySQL空間存儲(chǔ)...”[5]。盡管MYSQL數(shù)據(jù)庫在高版本中已有成熟的空間索引存儲(chǔ),或采用②方法將二維的點(diǎn)數(shù)據(jù)轉(zhuǎn)換成一維的數(shù)據(jù),再進(jìn)行B樹索引。
本例中,我們?nèi)圆捎芒俜椒ㄗ鳛槠者m方法演示,但這并不能被應(yīng)用到大業(yè)務(wù)中。因此我們對(duì)搜索范圍和匹配記錄條數(shù)做限制,且用戶都可對(duì)其進(jìn)行設(shè)置以提升性能。首先使用以下類型的查詢語句進(jìn)行一定距離內(nèi)所有方向的記錄攬獲:
mysql_query("SELECT * FROM 表名 WHERE 限制經(jīng)緯
度范圍 order by 根據(jù)經(jīng)緯度計(jì)算兩者距離 asc");
計(jì)算附近的人與本人方位(需要用到專門的函數(shù)),最終與設(shè)備指向方位比對(duì),篩選并返回顯示。一并傳回的還有附近人的基本信息以用作互動(dòng)。
用戶點(diǎn)擊附近的人,立刻檢索用戶與其關(guān)系,并返回互動(dòng)菜單。結(jié)合活躍用戶消息或模板消息發(fā)送機(jī)制增強(qiáng)互動(dòng)。
特別的,添加成為朋友后,用戶可使用基于二維碼和定位技術(shù)的約會(huì)打卡功能記錄互動(dòng)的點(diǎn)點(diǎn)滴滴,大量事實(shí)數(shù)據(jù)背后,以圖表方式展現(xiàn)用戶個(gè)性化使用經(jīng)歷。
3.2 基于語音技術(shù)的一些實(shí)例
以下實(shí)例使用第三方語音接口技術(shù)(如:百度語音合成接口等)輔助完成。
⑴ 用戶關(guān)注服務(wù)號(hào),語音合成個(gè)性化打招呼語音消息
用戶關(guān)注后,開發(fā)者可回復(fù)文本、語音、音樂等類型的消息。在此,我們使用官方文檔中的獲取用戶基本信息接口得到用戶的昵稱及所在國家省市信息,結(jié)合固定招呼語進(jìn)行合成。筆者必須指出一個(gè)小細(xì)節(jié):個(gè)別用戶會(huì)使用Emoji表情,那么如何在數(shù)據(jù)庫中存儲(chǔ)及語音播報(bào)將是需要思考的一項(xiàng)任務(wù)。
⑵ 個(gè)人中心“語音簽名”
JS-SDK中提供了錄音、播放、上傳、下載語音等接口。本例中使用上述接口完成語音簽名錄制上傳及下載播放工作。但通過官方文檔了解到,上傳的語音獲取到的Media_id為臨時(shí)素材類型,有效期僅為3天。筆者曾嘗試將其“轉(zhuǎn)化”為永久素材以使其保持有效,最終得知JS-SDK中的下載語音接口僅適合臨時(shí)語音素材。那么此模塊最重要的問題,就是如何對(duì)臨時(shí)素材進(jìn)行“續(xù)期”以“保鮮”。
解決思路如下(封裝成類):
① 用戶上傳語音后,將臨時(shí)Media_id及創(chuàng)建時(shí)間等信息寫入數(shù)據(jù)庫;
② 使用官方文檔接口,下載素材到服務(wù)器;
③ 當(dāng)調(diào)用素材時(shí),先查詢數(shù)據(jù)庫記錄,記錄不存在直接提醒用戶錄制新的一段。存在情況下檢驗(yàn)是否過期,未過期則直接調(diào)回Media_id,否則,將服務(wù)器中預(yù)存的素材上傳并調(diào)回新的臨時(shí)素材Media_id覆蓋記錄。最終使用語音下載接口獲取。
⑶ 更多思考
使用科大訊飛的聲紋識(shí)別技術(shù),可做出輔助授權(quán)登錄等功能。其關(guān)鍵在于嚴(yán)格執(zhí)行第三方接口技術(shù)文檔的要求。
3.3 營銷概念植入社交應(yīng)用的思考
“人們?cè)谔摂M的網(wǎng)絡(luò)世界里建立起來的關(guān)系可以迅速得到擴(kuò)散。對(duì)于企業(yè)來講,這無疑會(huì)成為新的市場營銷機(jī)會(huì)與挑戰(zhàn)”[6]。在社交應(yīng)用中,用戶的互動(dòng)行為可能會(huì)產(chǎn)生利益關(guān)系,且個(gè)性化產(chǎn)品信息推薦也是基于微信平臺(tái)的一項(xiàng)營銷策略。
對(duì)此,筆者提出兩個(gè)思路:①流量經(jīng)濟(jì)。以平臺(tái)中的求助發(fā)布模塊為實(shí)例,平臺(tái)可從用戶間求助互動(dòng)中抽取一定比例的業(yè)務(wù)費(fèi)。②老平臺(tái)對(duì)接。上述的對(duì)接PC購物網(wǎng)站模塊,用以模擬在營銷目的下微信平臺(tái)提供的大量用戶基礎(chǔ)接入舊平臺(tái)進(jìn)行盈利擴(kuò)展的解決方案。
無論以何種形式植入,盡可能的使用大數(shù)據(jù)分析能個(gè)性化的提出適合的解決方案,才能留住平臺(tái)用戶。
4 結(jié)束語
此平臺(tái)為用戶提供如交友、遠(yuǎn)程求助、周邊購物等一站式個(gè)性化社交服務(wù)選擇。并將不同權(quán)限的成員置于同一平臺(tái),使其運(yùn)作和管理看起來更“輕”,更友好。
但要用計(jì)算機(jī)語言實(shí)現(xiàn)這些功能并保證其穩(wěn)定性并非易事,這主要體現(xiàn)在移動(dòng)設(shè)備系統(tǒng)的多樣性、微信版本的兼容性和官方文檔下認(rèn)證服務(wù)號(hào)的開發(fā)接口(包括第三方)調(diào)用頻率的限制性等等方面。
盡管如此,得益于網(wǎng)頁語言開發(fā)的成熟性,此平臺(tái)仍具有開發(fā)效率高、性能穩(wěn)定的特點(diǎn),輔助以硬件API使其創(chuàng)新性體驗(yàn)得到提升,多平臺(tái)對(duì)接營銷策略令平臺(tái)商用價(jià)值也得以凸顯。
參考文獻(xiàn)(References):
[1] 劉揚(yáng).移動(dòng)Web App:未來發(fā)展更需要抓住的新趨勢[J].中國
傳媒科技,2015.7:58-60
[2] 覃鳳萍.基于HTML5的Web移動(dòng)應(yīng)用開發(fā)研究[J].信息與
電腦(理論版),2016.7:63-64
[3] 深圳騰訊公司.微信公眾平臺(tái)技術(shù)文檔[EB/OL]. https://
mp.weixin.qq.com/wiki.
[4] 方倍工作室.微信無限定時(shí)群發(fā)系統(tǒng)[EB/OL].
http://www.cnblogs.com/txw1958/p/project-masssend.html.
[5] easyhappy.基于地址位置,查詢附近的人,解決方案及性能分
析[EB/OL].http://ruby-china.org/topics/22059.
[6] 韓永麗.國內(nèi)社交媒體營銷現(xiàn)狀及發(fā)展趨勢研究[D].河南大
學(xué)碩士學(xué)位論文,2014.