微信公眾平臺應(yīng)用開發(fā)(完整版)_第1頁
微信公眾平臺應(yīng)用開發(fā)(完整版)_第2頁
微信公眾平臺應(yīng)用開發(fā)(完整版)_第3頁
微信公眾平臺應(yīng)用開發(fā)(完整版)_第4頁
微信公眾平臺應(yīng)用開發(fā)(完整版)_第5頁
已閱讀5頁,還剩411頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

微信公眾平臺應(yīng)用開發(fā)方法、技巧與案例(完整版)目錄\h第1章公眾平臺基礎(chǔ)知識\h1.1公眾平臺簡介\h1.1.1平臺定位\h1.1.2發(fā)展歷程\h1.2注冊公眾賬號\h1.2.1公眾賬號的分類\h1.2.2注冊賬號所需資料\h1.2.3公眾賬號的注冊流程\h1.3公眾平臺的使用\h1.3.1功能\h1.3.2管理\h1.3.3服務(wù)\h1.3.4統(tǒng)計(jì)\h1.3.5設(shè)置\h1.4公眾賬號認(rèn)證\h1.4.1認(rèn)證條件\h1.4.2微信認(rèn)證流程\h1.4.3微博認(rèn)證流程\h1.5小結(jié)\h第2章編輯模式的使用\h2.1編輯模式的應(yīng)用場景\h2.2自動回復(fù)\h2.2.1被添加自動回復(fù)\h2.2.2消息自動回復(fù)\h2.2.3關(guān)鍵詞自動回復(fù)\h2.2.4自動回復(fù)優(yōu)先規(guī)則\h2.3案例:簡易號碼簿\h2.3.1案例功能描述\h2.3.2數(shù)據(jù)準(zhǔn)備\h2.3.3設(shè)計(jì)關(guān)注提示語\h2.3.4設(shè)計(jì)關(guān)鍵詞規(guī)則\h2.3.5設(shè)置默認(rèn)回復(fù)\h2.3.6測試體驗(yàn)\h2.4自定義菜單\h2.4.1編輯菜單\h2.4.2預(yù)覽和發(fā)布菜單\h2.5小結(jié)\h第3章開發(fā)模式的啟用\h3.1開發(fā)模式的基礎(chǔ)知識\h3.1.1啟用開發(fā)模式的必備條件\h3.1.2應(yīng)用引擎簡介\h3.1.3開發(fā)工具介紹\h3.2開發(fā)請求校驗(yàn)程序\h3.2.1開發(fā)者文檔介紹\h3.2.2明確請求校驗(yàn)流程\h3.2.3請求校驗(yàn)流程分析\h3.2.4請求校驗(yàn)程序的實(shí)現(xiàn)\h3.2.5本地測試\h3.2.6導(dǎo)出WAR包\h3.3BAE的使用\h3.3.1注冊賬號\h3.3.2創(chuàng)建應(yīng)用\h3.3.3托管設(shè)置\h3.3.4部署應(yīng)用\h3.3.5獲取訪問地址\h3.4啟用開發(fā)模式的步驟\h3.5小結(jié)\h第4章消息的接收與響應(yīng)\h4.1消息交互基礎(chǔ)知識\h4.1.1消息交互流程\h4.1.2消息的分類\h4.2消息結(jié)構(gòu)的封裝\h4.2.1封裝請求消息\h4.2.2封裝事件\h4.2.3封裝響應(yīng)消息\h4.3消息的處理\h4.3.1Dom4j的使用\h4.3.2XStream的使用\h4.3.3解析請求消息\h4.3.4響應(yīng)消息對象轉(zhuǎn)XML\h4.4案例:消息的接收與響應(yīng)\h4.4.1開發(fā)準(zhǔn)備工作\h4.4.2消息封裝類\h4.4.3封裝消息處理工具\(yùn)h4.4.4使用CoreServlet類完成消息的接收與響應(yīng)\h4.4.5使用CoreService類完成消息的處理\h4.4.6部署應(yīng)用及測試體驗(yàn)\h4.5小結(jié)\h第5章自定義菜單的使用\h5.1發(fā)送HTTPS請求\h5.1.1兩種解決方法\h5.1.2自定義信任管理器\h5.2接口訪問憑證\h5.2.1獲取憑證接口介紹\h5.2.2獲取憑證的方式\h5.3自定義菜單接口\h5.3.1菜單按鈕的分類\h5.3.2菜單結(jié)構(gòu)說明\h5.3.3封裝菜單結(jié)構(gòu)\h5.3.4案例:創(chuàng)建菜單\h5.3.5菜單的查詢與刪除\h5.4響應(yīng)菜單點(diǎn)擊事件\h5.5接口調(diào)用頻率限制\h5.6案例:網(wǎng)址導(dǎo)航\h5.6.1案例功能描述\h5.6.2案例開發(fā)準(zhǔn)備\h5.6.3封裝通用工具類\h5.6.4封裝菜單工具類\h5.6.5創(chuàng)建自定義菜單\h5.6.6實(shí)現(xiàn)業(yè)務(wù)邏輯\h5.6.7部署應(yīng)用及測試體驗(yàn)\h5.7小結(jié)\h第6章高級接口的使用\h6.1語音識別\h6.1.1開啟語音識別功能\h6.1.2如何獲取語音消息\h6.2客服接口\h6.2.1接口描述\h6.2.2方法封裝\h6.2.3案例:發(fā)送客服消息\h6.3OAuth2.0網(wǎng)頁授權(quán)\h6.3.1配置網(wǎng)頁授權(quán)回調(diào)域名\h6.3.2網(wǎng)頁授權(quán)流程\h6.3.3方法封裝\h6.3.4案例:通過網(wǎng)頁授權(quán)獲取用戶信息\h6.4生成帶參數(shù)二維碼\h6.4.1創(chuàng)建臨時(shí)二維碼\h6.4.2創(chuàng)建永久二維碼\h6.4.3換取二維碼\h6.4.4案例:通過ticket換取二維碼\h6.5獲取用戶地理位置\h6.5.1開啟獲取用戶地理位置功能\h6.5.2接收上報(bào)地理位置事件\h6.6獲取用戶基本信息\h6.6.1接口描述\h6.6.2方法封裝\h6.6.3案例:獲取用戶基本信息\h6.7獲取關(guān)注者列表\h6.7.1接口描述\h6.7.2方法封裝\h6.7.3案例:獲取公眾賬號關(guān)注者列表\h6.8用戶分組接口\h6.8.1查詢分組\h6.8.2創(chuàng)建分組\h6.8.3修改分組名\h6.8.4移動用戶分組\h6.9上傳及下載多媒體文件\h6.9.1上傳多媒體文件接口描述\h6.9.2使用抓包工具分析文件上傳請求\h6.9.3上傳多媒體文件方法封裝\h6.9.4下載多媒體文件\h6.9.5案例:上傳及下載語音文件\h6.10小結(jié)\h第7章網(wǎng)絡(luò)表情的使用\h7.1微信支持的網(wǎng)絡(luò)表情\h7.2QQ表情\h7.2.1微信上的QQ表情代碼\h7.2.2在微信上發(fā)送QQ表情\h7.2.3QQ表情的識別\h7.2.4回復(fù)QQ表情\h7.2.5案例:原樣回復(fù)QQ表情\h7.3Emoji表情\h7.3.1微信上的Emoji表情編碼\h7.3.2如何使用Emoji表情編碼\h7.3.3案例:回復(fù)Emoji表情\h7.4小結(jié)\h第8章公眾平臺開發(fā)技巧\h8.1圖文消息使用詳解\h8.1.1單圖文消息的實(shí)現(xiàn)\h8.1.2多圖文消息的實(shí)現(xiàn)\h8.1.3圖文消息使用注意事項(xiàng)\h8.2公眾賬號無響應(yīng)的處理\h8.2.1公眾賬號無響應(yīng)的幾種情況\h8.2.2計(jì)算字符串所占字節(jié)數(shù)\h8.3應(yīng)用開發(fā)最佳實(shí)踐\h8.3.1解析消息創(chuàng)建時(shí)間\h8.3.2換行符的使用\h8.3.3網(wǎng)頁超鏈接的使用\h8.3.4隱藏瀏覽器工具欄\h8.3.5表情飄落效果\h8.4識別微信瀏覽器\h8.4.1判斷微信瀏覽器\h8.4.2只允許微信瀏覽器訪問\h8.5服務(wù)多個公眾賬號\h8.5.1公眾賬號托管平臺原理\h8.5.2案例:服務(wù)兩個公眾賬號\h8.6業(yè)務(wù)系統(tǒng)對接\h8.6.1短信方式綁定賬號\h8.6.2網(wǎng)頁方式綁定賬號\h8.7公眾平臺開發(fā)測試\h8.8小結(jié)\h第9章LBS應(yīng)用開發(fā)實(shí)戰(zhàn):周邊搜索\h9.1“周邊搜索”功能及設(shè)計(jì)\h9.1.1使用方法\h9.1.2功能演示\h9.1.3需求分析\h9.1.4數(shù)據(jù)表設(shè)計(jì)\h9.2百度地圖API的使用\h9.2.1百度地圖API產(chǎn)品簡介\h9.2.2申請?jiān)L問密鑰\h9.2.3PlaceAPI的使用\h9.2.4步行導(dǎo)航檢索的使用\h9.2.5百度坐標(biāo)轉(zhuǎn)換\h9.3MySQL的使用\h9.3.1MySQL的下載與安裝\h9.3.2MySQL的常用操作\h9.3.3JDBC的基本使用\h9.3.4案例:使用JDBC查詢數(shù)據(jù)\h9.4BAE的MySQL服務(wù)\h9.4.1創(chuàng)建數(shù)據(jù)庫\h9.4.2使用phpMyAdmin操作MySQL\h9.4.3案例:使用JDBC操作MySQL\h9.5“周邊搜索”應(yīng)用實(shí)現(xiàn)\h9.5.1應(yīng)用開發(fā)準(zhǔn)備\h9.5.2封裝數(shù)據(jù)庫操作\h9.5.3封裝百度地圖操作\h9.5.4編寫步行導(dǎo)航頁面\h9.5.5CoreService類的實(shí)現(xiàn)\h9.5.6部署應(yīng)用及測試體驗(yàn)\h9.6小結(jié)\h第10章游戲開發(fā)實(shí)戰(zhàn):猜數(shù)字\h10.1“猜數(shù)字”功能及設(shè)計(jì)\h10.1.1游戲規(guī)則\h10.1.2游戲術(shù)語\h10.1.3核心流程設(shè)計(jì)\h10.1.4數(shù)據(jù)表設(shè)計(jì)\h10.2“猜數(shù)字”游戲的實(shí)現(xiàn)\h10.2.1游戲開發(fā)準(zhǔn)備\h10.2.2游戲算法封裝\h10.2.3數(shù)據(jù)庫操作封裝\h10.2.4核心處理邏輯\h10.2.5CoreService類的實(shí)現(xiàn)\h10.2.6部署應(yīng)用及測試體驗(yàn)\h10.3小結(jié)\h第11章智能聊天應(yīng)用開發(fā)實(shí)戰(zhàn):聊天機(jī)器人\h11.1聊天機(jī)器人原理及設(shè)計(jì)\h11.1.1實(shí)現(xiàn)原理\h11.1.2數(shù)據(jù)表設(shè)計(jì)\h11.2全文檢索引擎Lucene\h11.2.1Lucene的組成結(jié)構(gòu)\h11.2.2倒排索引結(jié)構(gòu)\h11.2.3索引和檢索原理\h11.2.4常用API介紹\h11.2.5Lucene的評分機(jī)制\h11.2.6案例:使用Lucene索引和檢索\h11.3中文分詞\h11.3.1中文分詞方法\h11.3.2IK分詞器的使用\h11.4索引瀏覽器Luke\h11.4.1Luke的功能及下載\h11.4.2Luke的用法\h11.5聊天機(jī)器人的實(shí)現(xiàn)\h11.5.1應(yīng)用開發(fā)準(zhǔn)備\h11.5.2封裝數(shù)據(jù)庫操作\h11.5.3封裝聊天服務(wù)類\h11.5.4CoreService類的實(shí)現(xiàn)\h11.5.5應(yīng)用啟動時(shí)創(chuàng)建索引\h11.5.6部署應(yīng)用及測試體驗(yàn)\h11.6小結(jié)注:原文檔電子版,非掃描,需要的請下載本文檔后留言謝謝。第1章公眾平臺基礎(chǔ)知識微信,是時(shí)下最受關(guān)注的移動互聯(lián)網(wǎng)產(chǎn)品。經(jīng)過兩年多的發(fā)展,微信的注冊用戶數(shù)已超過6億,成為移動互聯(lián)網(wǎng)最重要的入口之一。在這樣一個超級平臺上創(chuàng)建自己的應(yīng)用、宣傳自己的品牌,是多少組織與個人都夢寐以求的事情。微信公眾平臺(以下簡稱“公眾平臺”),作為微信最為重要的組成部分,以“再小的個體也有自己的品牌”為宣傳口號,吸引著眾多企業(yè)和個人開發(fā)者加入到微信開發(fā)陣營,爭先在公眾平臺上創(chuàng)建并推廣自己的品牌。截至2013年11月,公眾平臺就已經(jīng)有200多萬的注冊賬號,并且每天保持著8000個左右的增長速度。本書的重點(diǎn)是幫助讀者了解公眾平臺,熟悉公眾賬號的注冊與使用,掌握公眾平臺開發(fā)的相關(guān)知識與技術(shù)。本章為讀者介紹公眾平臺的基礎(chǔ)知識,這對學(xué)習(xí)后面的章節(jié)有著非常重要的幫助。1.1公眾平臺簡介公眾平臺是騰訊公司在微信的基礎(chǔ)上新增的功能模塊,通過這一平臺,個人和企業(yè)都可以打造一個微信公眾賬號(以下簡稱公眾賬號或公眾號),并實(shí)現(xiàn)與特定群體的文字、圖片及語音的全方位溝通、互動。公眾平臺主要面向名人、政府、媒體、企業(yè)等,在這里可以通過微信渠道將品牌推廣給上億的微信用戶,減少宣傳成本,提高品牌知名度,打造更具影響力的品牌形象。1.1.1平臺定位在公眾平臺推出后相當(dāng)長的一段時(shí)間里,都沒有一個人能夠給出它的清晰定位。對于“公眾平臺是什么,能夠做什么”,業(yè)界一直是眾說紛紜。在公眾平臺上線初期,就有大量媒體、公司涌入,迅速將這里開辟成為除官方微博外的另一大互聯(lián)網(wǎng)營銷戰(zhàn)場。當(dāng)時(shí),許多公眾賬號都沒有提供實(shí)質(zhì)性的內(nèi)容,只是每天定時(shí)推送消息,不管用戶是否喜歡,就更不要提與用戶進(jìn)行互動了;更有甚者,他們很看好微信營銷,投入大量人力、物力發(fā)展公眾賬號,待用戶規(guī)模達(dá)到一定數(shù)量級后,開始發(fā)廣告或淘寶鏈接賺取收入,這些顯然都不是騰訊公司所期望看到的。直到2013年6月5日,在北京騰訊匯舉行的“問診公眾平臺”專場活動上,騰訊官方才首次公布了對公眾平臺的定位:信息流轉(zhuǎn)、連接用戶與服務(wù)、實(shí)現(xiàn)溝通互動,并且還做了一個更為明確的表態(tài):微信不是營銷平臺。筆者認(rèn)為,我們應(yīng)當(dāng)將騰訊官方對公眾平臺的定位作為建設(shè)公眾賬號的指導(dǎo)思想,重點(diǎn)做好用戶服務(wù),努力提高服務(wù)質(zhì)量,提升客戶滿意度。1.1.2發(fā)展歷程2012年8月17日,公眾平臺正式向普通用戶開放。2012年11月29日,公眾平臺群發(fā)系統(tǒng)全面升級,新增圖文消息編輯功能,并對發(fā)送的內(nèi)容進(jìn)行敏感詞和安全性檢測。2013年2月6日,公眾平臺做了如下調(diào)整。1)增加高級功能選項(xiàng),用戶可以在編輯模式和開發(fā)模式中選擇一個使用。2)設(shè)置選項(xiàng)中只保留賬號信息和公眾號手機(jī)助手2項(xiàng),被添加消息自動回復(fù)和自定義規(guī)則回復(fù)2個重要功能選項(xiàng)刪除。3)公眾平臺全面開啟實(shí)名認(rèn)證。2013年3月19日,公眾平臺開放“自定義菜單”API內(nèi)測申請(僅限企業(yè)和機(jī)構(gòu)申請)。2013年8月5日,伴隨著微信5.0的發(fā)布,公眾平臺也進(jìn)行了大幅調(diào)整,主要包括以下幾個方面。1)公眾賬號被劃分為訂閱號和服務(wù)號,服務(wù)號可申請自定義菜單。2)運(yùn)營主體為組織,可選擇成為服務(wù)號或訂閱號;運(yùn)營主體為個人,只能申請訂閱號。3)使用QQ登錄的公眾賬號,可以升級為郵箱登錄;使用郵箱登錄的公眾賬號,可以修改登錄郵箱。4)編輯圖文消息可選填作者。5)群發(fā)消息可以同步到騰訊微博。2013年8月29日,公眾平臺新增數(shù)據(jù)統(tǒng)計(jì)功能,包括用戶管理分析、群發(fā)圖文消息分析、用戶消息分析和接口調(diào)用分析,數(shù)據(jù)從2013年7月1日開始統(tǒng)計(jì)。2013年10月29日,公眾平臺全面改版,主要更新內(nèi)容如下。1)開放全新的認(rèn)證體系,服務(wù)號可申請微信認(rèn)證,審核通過后,即可獲得微信認(rèn)證標(biāo)識并同時(shí)擁有高級接口的使用權(quán)限。2)開放高級接口。服務(wù)號通過微信認(rèn)證后,可以獲得的高級接口包括語音識別、客服接口、OAuth2.0網(wǎng)頁授權(quán)、生成帶參數(shù)二維碼、獲取用戶地理位置、獲取用戶基本信息、獲取關(guān)注列表和用戶分組接口。3)新增開發(fā)者問答系統(tǒng),為開發(fā)者提供一個互動交流平臺。4)公眾平臺界面進(jìn)行了全新改版。公眾平臺導(dǎo)航欄由橫向改為豎向,界面風(fēng)格及各類細(xì)節(jié)都做了調(diào)整,使用起來更加方便。2013年12月2日,公眾平臺新增“測試賬號”功能,開發(fā)者可以使用手機(jī)號申請公眾平臺接口測試賬號,直接體驗(yàn)和測試公眾平臺開放的所有接口。2013年12月24日,公眾平臺針對訂閱號做了重要更新。政府、傳統(tǒng)媒體、明星等非企業(yè)性質(zhì)的訂閱號可以申請微信認(rèn)證,通過微信認(rèn)證的訂閱號可獲得自定義菜單接口權(quán)限。1.2注冊公眾賬號經(jīng)過前面的介紹,相信讀者對公眾平臺已經(jīng)有了大致的認(rèn)識。下面為讀者介紹公眾賬號的注冊流程。隨著公眾平臺的發(fā)展,公眾賬號的注冊流程越來越復(fù)雜,公眾賬號的審核也變得更加嚴(yán)格。因此,在動手注冊賬號之前,有必要先了解賬號注冊的相關(guān)知識及注意事項(xiàng)。1.2.1公眾賬號的分類公眾賬號分為服務(wù)號和訂閱號兩種類型,它們在用途和功能上有著很大的差別。服務(wù)號為企業(yè)和組織提供更強(qiáng)大的業(yè)務(wù)服務(wù)與用戶管理能力,幫助企業(yè)快速實(shí)現(xiàn)全新的公眾號服務(wù)平臺;而媒體號為媒體和個人提供一種新的信息傳播方式,構(gòu)建與讀者之間更好的溝通與管理模式。簡而言之,服務(wù)號主要是面向企業(yè)和組織的,旨在為用戶提供服務(wù);訂閱號主要是面向媒體和個人的,旨在為用戶提供信息和資訊。服務(wù)號每月只能群發(fā)一條消息,默認(rèn)開通自定義菜單,可以申請微信認(rèn)證,并且通過微信認(rèn)證后還能夠獲得更多接口權(quán)限;而訂閱號每天能群發(fā)一條消息,并且只有政府、媒體、明星等非企業(yè)類型的訂閱號才能申請微信認(rèn)證,從而獲得自定義菜單。可以看出,服務(wù)號的優(yōu)勢在于能夠使用更多的接口權(quán)限,而訂閱號的優(yōu)勢在于每天都能群發(fā)一條消息。下面筆者對服務(wù)號和訂閱號的功能進(jìn)行更為詳細(xì)的說明。服務(wù)號的功能如下:●1個月(30天)內(nèi)僅可以群發(fā)一條消息;●發(fā)給訂閱用戶(粉絲)的消息,會顯示在對方的聊天列表中;●在發(fā)送消息給用戶時(shí),用戶將收到即時(shí)的消息提醒;●服務(wù)號會在訂閱用戶(粉絲)的通訊錄中;●服務(wù)號默認(rèn)開通自定義菜單;●服務(wù)號可以申請微信認(rèn)證,認(rèn)證通過后能夠獲得高級接口權(quán)限。訂閱號的功能如下:●訂閱號每天(24小時(shí)內(nèi))可以群發(fā)一條消息;●發(fā)給訂閱用戶(粉絲)的消息,將會顯示在對方的訂閱號文件夾中;●在發(fā)送消息給訂閱用戶(粉絲)時(shí),訂閱用戶不會收到即時(shí)消息提醒;●在訂閱用戶(粉絲)的通訊錄中,訂閱號將被放入訂閱號文件夾中;●政府、媒體、明星等非企業(yè)類型的訂閱號可申請微信認(rèn)證,認(rèn)證通過后能夠獲得自定義菜單接口權(quán)限。說明2013年8月5日微信5.0發(fā)布,公眾賬號被劃分為服務(wù)號和訂閱號,在此之前申請的所有賬號,都被默認(rèn)為訂閱號,并且有一次轉(zhuǎn)成服務(wù)號的機(jī)會,而在此之后申請的賬號,不能轉(zhuǎn)換類型。1.2.2注冊賬號所需資料除了要知道哪種類型的賬號更適合我們之外,還需要知道注冊公眾賬號需要哪些資料,這樣可以提前準(zhǔn)備好,否則,注冊賬號時(shí)再去找需要的資料往往會忙中出錯。在注冊公眾賬號時(shí),不同的運(yùn)營主體所需要填寫的資料不相同。目前,公眾賬號的運(yùn)營主體分為組織和個人,而組織又包括政府、媒體、企業(yè)和其他組織。下面就為讀者詳細(xì)介紹各運(yùn)營主體在申請公眾賬號時(shí)需要填寫的資料。1.政府機(jī)構(gòu)政府機(jī)構(gòu)包括國內(nèi)外的各級各類政府機(jī)構(gòu)、事業(yè)單位、具有行政職能的社會組織等,目前主要覆蓋公安機(jī)構(gòu)、黨團(tuán)機(jī)構(gòu)、司法機(jī)構(gòu)、交通機(jī)構(gòu)、旅游機(jī)構(gòu)、工商稅務(wù)機(jī)構(gòu)、市政機(jī)構(gòu)、涉外機(jī)構(gòu)等。以政府名義注冊公眾賬號所需資料如表1-1所示。表1-1政府注冊公眾賬號所需資料說明同一個身份證號與手機(jī)號碼都只能注冊2個公眾賬號。2.媒體機(jī)構(gòu)媒體機(jī)構(gòu)包括報(bào)紙、雜志、電視、電臺、通訊社等。以媒體名義注冊公眾賬號所需資料如表1-2所示。表1-2媒體注冊公眾賬號所需資料3.企業(yè)機(jī)構(gòu)企業(yè)機(jī)構(gòu)包括企業(yè)、分支機(jī)構(gòu)、企業(yè)相關(guān)品牌、產(chǎn)品與服務(wù)、招聘和客服等。以企業(yè)名義注冊公眾賬號所需資料如表1-3所示。表1-3企業(yè)注冊公眾賬號所需資料4.其他組織其他組織包括除政府、媒體、企業(yè)以外的所有機(jī)構(gòu)。以其他組織名義注冊公眾賬號所需資料如表1-4所示。表1-4其他組織注冊公眾賬號所需資料5.個人個人指的是不屬于政府、媒體、企業(yè)和其他組織的個體。以個人名義注冊公眾賬號所需資料如表1-5所示。表1-5個人注冊公眾賬號所需資料1.2.3公眾賬號的注冊流程下面我們一起來體驗(yàn)公眾賬號的注冊流程。首先,使用瀏覽器訪問公眾平臺首頁,鏈接地址為/,點(diǎn)擊頁面右上方的“立即注冊”,進(jìn)入到公眾賬號注冊頁面,可以看到,公眾賬號的注冊一共分為5步,包括填寫基本信息、郵箱激活、用戶信息登記、選擇賬號類型和填寫公眾賬號信息,如圖1-1所示。圖1-1公眾賬號的注冊步驟1)基本信息中需要填寫的是郵箱、密碼和驗(yàn)證碼,如圖1-2所示,這里的郵箱必須是真實(shí)在用的。圖1-2基本信息注意一個郵箱只能注冊一個公眾賬號,建議讀者為公眾賬號專門注冊一個郵箱。基本信息填寫完成后,點(diǎn)擊頁面底部的“注冊”按鈕,微信團(tuán)隊(duì)會立即向我們填寫的郵箱發(fā)送一封激活賬號的郵件。2)點(diǎn)擊如圖1-3所示界面中的“登錄郵箱”按鈕,登錄到注冊郵箱并查收標(biāo)題為“激活你的微信公眾平臺賬號”的郵件。如果沒有收到這封郵件,讀者可以根據(jù)圖1-3左下角的3條提示信息逐個核查。圖1-3郵箱激活郵件的內(nèi)容如圖1-4所示,點(diǎn)擊里面的激活賬號鏈接,如果鏈接沒有失效,就會自動跳轉(zhuǎn)到信息登記頁面。圖1-4激活郵件的內(nèi)容3)在信息登記頁面,需要選擇運(yùn)營主體和類型,如圖1-5所示。不同類型的運(yùn)營主體,需要登記的信息不一樣,我們已經(jīng)在1.2.2節(jié)中詳細(xì)介紹過,這里不再贅述。圖1-5選擇運(yùn)營主體信息登記完成后,點(diǎn)擊頁面底部的“繼續(xù)”按鈕,將會來到步驟4“選擇類型”。4)如果運(yùn)營主體為組織,賬號類型有服務(wù)號和訂閱號兩個選項(xiàng),如圖1-6所示;而如果運(yùn)營主體為個人,賬號類型就只能選擇訂閱號,如圖1-7所示。圖1-6運(yùn)營主體為組織的賬號類型選擇界面(左)圖1-7運(yùn)營主體為個人的賬號類型選擇界面(右)說明如果在這一步不確定應(yīng)該選服務(wù)號還是訂閱號,建議仔細(xì)閱讀1.2.1節(jié),掌握服務(wù)號和訂閱號的區(qū)別,結(jié)合公眾賬號的實(shí)際用途就不難抉擇了。需要注意的是,公眾賬號類型一旦選擇就不能變更,如果不小心選擇錯誤,就只能重新注冊,所以一定要謹(jǐn)慎。賬號類型選擇完成后,點(diǎn)擊頁面底部的“繼續(xù)”按鈕,將會來到步驟5“公眾號信息”填寫頁面。5)公眾號信息中需要填寫的內(nèi)容如圖1-8所示。圖1-8公眾號信息其中,最重要的兩項(xiàng)是賬號名稱和功能介紹,它們最終都會顯示在公眾賬號的詳細(xì)資料中。賬號名稱一經(jīng)設(shè)置無法更改,功能介紹每個月只能申請修改一次。以上信息填寫完并提交后,就進(jìn)入了賬號審核階段。微信團(tuán)隊(duì)會在7個工作日內(nèi)完成賬號的審核。在賬號通過審核之前,無法申請認(rèn)證,也無法使用公眾平臺的群發(fā)功能和高級功能。注意對于賬號名稱,有兩點(diǎn)需要注意的:①賬號名稱允許重復(fù),所以不用擔(dān)心名稱會被他人搶注。②公眾平臺對一些可能存在侵權(quán)的關(guān)鍵詞進(jìn)行了保護(hù),例如“微信”、“移動”、“搜狐”等,如果賬號名稱中包含這類關(guān)鍵詞,提交時(shí)會提示“你注冊的公眾號名稱存在侵權(quán)風(fēng)險(xiǎn),請先完成微博驗(yàn)證”,在遇到這種情況時(shí),要么避開這些關(guān)鍵詞換個名稱注冊,要么就根據(jù)提示先完成微博驗(yàn)證再繼續(xù)注冊。1.3公眾平臺的使用公眾賬號通過審核后,就可以正式使用了。登錄到公眾平臺,在首頁能夠看到公眾平臺Logo、公眾賬號信息、導(dǎo)航菜單等信息,如圖1-9所示。公眾平臺Logo帶有網(wǎng)頁超鏈接,鏈接地址為,當(dāng)我們需要從其他頁面回到首頁時(shí),可以通過點(diǎn)擊該Logo實(shí)現(xiàn)。在首頁的右上角顯示了公眾賬號信息,包括賬號名稱、賬號類型和頭像,點(diǎn)擊賬號名稱或頭像會進(jìn)入到賬號信息頁面,能夠了解到賬號的更多信息。導(dǎo)航菜單位于首頁的左側(cè),這是公眾平臺所有功能模塊的入口,包含功能、管理、服務(wù)、統(tǒng)計(jì)和設(shè)置。當(dāng)公眾平臺升級時(shí),能夠在系統(tǒng)公告中看到相關(guān)說明。在系統(tǒng)公告上方,還能夠看到公眾賬號的新消息、新增人數(shù)和總用戶數(shù),方便我們了解公眾賬號近期的使用情況。圖1-9公眾平臺首頁下面就為讀者詳細(xì)介紹導(dǎo)航菜單中每個模塊的功能及用法。1.3.1功能1.群發(fā)功能群發(fā)功能是公眾平臺最吸引人的功能之一,可以說很多企業(yè)、政府、媒體最初都是因?yàn)楣娖脚_能夠群發(fā)消息,才考慮建設(shè)運(yùn)營公眾賬號的,因?yàn)橄啾热喊l(fā)短信,公眾平臺的群發(fā)消息成本更低、內(nèi)容更豐富,更有利于品牌宣傳。群發(fā)功能是一把雙刃劍,如果使用不當(dāng),會讓用戶很反感,嚴(yán)重影響用戶體驗(yàn),從而導(dǎo)致大量的用戶取消關(guān)注。因此,微信團(tuán)隊(duì)對群發(fā)消息的限制也越來越嚴(yán)格。在公眾平臺發(fā)展初期,所有公眾賬號每天都能群發(fā)1條消息,甚至有些公眾賬號一天還能群發(fā)3條;可是現(xiàn)在只有訂閱號才能每天群發(fā)1條消息,而服務(wù)號只能每月群發(fā)1條消息。在群發(fā)消息時(shí),可以選擇群發(fā)對象、性別和群發(fā)地區(qū),如圖1-10所示,這樣更有利于精準(zhǔn)營銷,如果用戶經(jīng)常收到自己不關(guān)心的信息就很有可能會取消關(guān)注。例如,某商家通過公眾賬號宣傳化妝品優(yōu)惠活動時(shí),就只需要將優(yōu)惠信息群發(fā)給所有女性用戶即可,因?yàn)榻^大多數(shù)男性對化妝品都不了解。在群發(fā)功能的“已發(fā)送”中,能夠看到公眾賬號的歷史群發(fā)消息,如圖1-11所示。圖1-10群發(fā)消息圖1-11歷史群發(fā)消息2.高級功能高級功能是公眾平臺最重要的模塊,該模塊在公眾賬號審核通過后才能看到。高級功能包含編輯模式和開發(fā)模式,如圖1-12所示。在編輯模式下,運(yùn)營者可以通過簡單的界面編輯來設(shè)置自動回復(fù)、自定義菜單等功能;在開發(fā)模式下,開發(fā)者可以通過公眾平臺提供的接口實(shí)現(xiàn)自動回復(fù)、自定義菜單等功能。編輯模式主要針對沒有開發(fā)能力的運(yùn)營者,而開發(fā)模式主要針對具備開發(fā)能力的運(yùn)營者。編輯模式比較簡單,容易上手,實(shí)現(xiàn)速度快,但能夠?qū)崿F(xiàn)的功能非常有限;而開發(fā)模式更加靈活,能為用戶提供個性化的服務(wù),建議有開發(fā)能力的組織和個人都采用開發(fā)模式。對于模式的選擇除了要考慮開發(fā)能力外,還應(yīng)該考慮賬號的實(shí)際用途。例如,對于媒體類、笑話類賬號,大都會選擇編輯模式;而對于需要驗(yàn)證用戶身份為用戶提供個性化服務(wù)的賬號,都會選擇開發(fā)模式。編輯模式和開發(fā)模式是本書的重中之重,因此會在后續(xù)章節(jié)專門為讀者介紹它們的使用。圖1-12公眾平臺的高級功能3.商戶功能如果公眾賬號擁有微信支付權(quán)限,在功能模塊下可以看到商戶功能。商戶功能中包含了數(shù)據(jù)概覽、流量分析、訂單流水等信息,如圖1-13所示。圖1-13公眾平臺的商戶功能1.3.2管理1.消息管理在消息管理模塊,我們能夠?qū)τ脩舭l(fā)送的消息執(zhí)行查看、搜索、回復(fù)和收藏4種操作,但是不能夠?qū)⑵鋭h除,下面就為讀者詳細(xì)介紹這4種操作。(1)查看消息在消息管理中,能夠查看到用戶與公眾賬號交互的消息。也就是說,用戶向公眾賬號發(fā)送的消息以及公眾賬號給用戶回復(fù)的消息,都能在這里清楚地看到。但是,我們只能查看到最近5天的消息,如圖1-14所示,如果要永久存儲用戶與公眾賬號交互的消息,就只能采用開發(fā)模式編寫相應(yīng)的程序代碼將消息存儲在數(shù)據(jù)庫中。圖1-14查看消息(2)搜索消息在消息管理界面的右上角有一個消息搜索框,用于根據(jù)消息內(nèi)容進(jìn)行搜索。筆者輸入關(guān)鍵詞“北京”搜索用戶發(fā)送的消息,得到的結(jié)果如圖1-15所示。圖1-15搜索消息(3)回復(fù)消息當(dāng)看到用戶發(fā)送的消息時(shí),我們能夠直接在消息管理中進(jìn)行回復(fù)。如果24小時(shí)內(nèi)沒有與公眾賬戶互動,則不能向用戶回復(fù)消息?;貜?fù)消息最典型的使用場景:用戶通過公眾賬號提問,客服人員直接在公眾平臺回答用戶的問題。在消息管理中,將光標(biāo)停留在某條消息上時(shí),右側(cè)會出現(xiàn)兩個按鈕“快捷回復(fù)”和“收藏消息”,點(diǎn)擊“快捷回復(fù)”就能夠向用戶回復(fù)消息,如圖1-16所示。圖1-16回答用戶的問題說明圖1-16中的快捷回復(fù)只支持回復(fù)文本消息,如果想回復(fù)其他類型的消息,可以通過點(diǎn)擊用戶頭像,進(jìn)入到聊天窗口。在聊天窗口,能夠向用戶發(fā)送的消息類型有文字、語音、圖片、視頻和圖文5種。(4)收藏消息上面提到過,將光標(biāo)停留在某條消息上時(shí),右側(cè)會出現(xiàn)“收藏消息”按鈕,如圖1-17所示,點(diǎn)擊它就能將當(dāng)前消息收藏。消息收藏后,會永久存儲在微信服務(wù)器上,我們能夠在“星標(biāo)消息”中看到所有收藏的消息,如圖1-18所示。圖1-17收藏消息圖1-18星標(biāo)消息2.用戶管理用戶管理主要實(shí)現(xiàn)了對用戶的分組管理,如圖1-19所示。右側(cè)是用戶組列表,其中未分組、黑名單和星標(biāo)組是系統(tǒng)默認(rèn)的用戶組,可以點(diǎn)擊“新建分組”按鈕創(chuàng)建自定義的分組。點(diǎn)擊某個用戶組時(shí),就會顯示該用戶組下的用戶列表。新增用戶默認(rèn)歸屬于未分組。圖1-19用戶管理3.素材管理素材管理主要是為群發(fā)功能、消息管理和編輯模式服務(wù)的,為它們提供消息素材。素材管理只對圖文消息、圖片、語音和視頻4種類型消息的素材進(jìn)行管理,不包括文本消息,如圖1-20所示。圖1-20素材管理那什么時(shí)候需要用到素材管理呢?當(dāng)我們需要在實(shí)時(shí)消息、群發(fā)消息或編輯模式下向用戶回復(fù)以上4種類型的消息時(shí),就需要預(yù)先在素材管理頁面將這些消息創(chuàng)建好。1.3.3服務(wù)服務(wù)模塊是2013年10月29日公眾平臺改版時(shí)針對服務(wù)號推出的,2013年12月24日公共平臺升級后,訂閱號也能使用該模塊。服務(wù)包括“服務(wù)中心”和“我的服務(wù)”兩部分。1.服務(wù)中心服務(wù)中心列出了公眾平臺為服務(wù)號提供的所有服務(wù),服務(wù)號可以使用的服務(wù)包括基礎(chǔ)接口、自定義菜單、微信認(rèn)證和高級接口,如圖1-21所示。圖1-21服務(wù)中心基礎(chǔ)接口:通過基礎(chǔ)接口,公眾賬號能夠接收用戶發(fā)送的消息,并且向用戶回復(fù)消息。自定義菜單:通過自定義菜單,公眾賬號的界面更加豐富、友好,用戶能夠直觀地了解公眾賬號的功能。微信認(rèn)證:不同于以前的微博認(rèn)證,這是一種全新的認(rèn)證方式,提供針對公眾賬號運(yùn)營者身份真實(shí)性的認(rèn)證服務(wù)。高級接口:服務(wù)號通過微信認(rèn)證后就能夠使用高級接口,從而為用戶提供更多有效的、有價(jià)值的個性化服務(wù)。2.我的服務(wù)在我的服務(wù)中,能夠看到當(dāng)前公眾賬號擁有的服務(wù)列表,如圖1-22所示。圖1-22我的服務(wù)1.3.4統(tǒng)計(jì)2013年8月29日,公眾平臺新增了數(shù)據(jù)統(tǒng)計(jì)功能,包括用戶分析、圖文分析、消息分析和接口分析,如圖1-23所示。這對公眾賬號的運(yùn)營者來說無疑是一個好消息,通過這些統(tǒng)計(jì)報(bào)表能夠充分掌握公眾賬號的實(shí)際運(yùn)營情況,從而不斷提升服務(wù)水平。圖1-23數(shù)據(jù)統(tǒng)計(jì)功能用戶分析:可以查看任意時(shí)間段內(nèi)用戶增長情況和用戶屬性分布情況。圖文分析:可以查看任意時(shí)間段內(nèi)圖文消息群發(fā)效果的統(tǒng)計(jì),包括送達(dá)人數(shù),閱讀人數(shù)、轉(zhuǎn)發(fā)人數(shù)等。消息分析:可以查看針對用戶發(fā)送的消息的統(tǒng)計(jì),包括消息發(fā)送人數(shù)、消息發(fā)送次數(shù)、人均發(fā)送次數(shù)等。接口分析:可以查看接口調(diào)用的相關(guān)統(tǒng)計(jì),包括調(diào)用次數(shù)、失敗率、平均耗時(shí)等。說明數(shù)據(jù)從2013年7月1日開始統(tǒng)計(jì),并且今天的運(yùn)營數(shù)據(jù)要在明天上午才能看到。由于服務(wù)器緩存、指標(biāo)計(jì)算方法和統(tǒng)計(jì)時(shí)間的差異,數(shù)據(jù)可能出現(xiàn)微小誤差,一般在1%以內(nèi)。1.3.5設(shè)置公眾平臺的設(shè)置模塊提供了對賬號信息和公眾號助手的管理功能。1.賬號信息在賬號信息頁面,可以看到公眾賬號的頭像、名稱、登錄郵箱、原始ID、微信號、類型、認(rèn)證情況、地區(qū)、功能介紹、騰訊微博、二維碼等信息,如圖1-24所示。在這里,我們還能夠?qū)︻^像、登錄郵箱、功能簡介等信息進(jìn)行設(shè)置和修改。下面對賬號信息中比較重要的項(xiàng)進(jìn)行說明。圖1-24賬號信息1)頭像的作用等同于應(yīng)用程序的圖標(biāo)。頭像一個月內(nèi)只能申請修改一次。2)名稱和類型都是在注冊賬號時(shí)設(shè)置的,不允許修改。3)微信號是在賬號審核通過后設(shè)置的,不允許修改。4)認(rèn)證情況顯示當(dāng)前賬號是否認(rèn)證及認(rèn)證方式。公眾賬號認(rèn)證條件、方式和流程將會在1.4節(jié)中詳細(xì)介紹。5)功能介紹是在注冊公眾賬號時(shí)設(shè)置的,一個月內(nèi)只能申請修改一次。6)公眾賬號綁定騰訊微博后,可以將群發(fā)的消息同步到騰訊微博。7)二維碼是微信的一大亮點(diǎn),它降低了用戶關(guān)注公眾賬號的門檻。公眾平臺為每個賬號提供了幾個不同尺寸的二維碼,方便運(yùn)營者制作宣傳單、海報(bào)、產(chǎn)品包裝,這對品牌的宣傳和推廣非常有利。2.公眾號助手在通常情況下,公眾賬號運(yùn)營者都是通過PC瀏覽器登錄到公眾平臺群發(fā)消息,而公眾號助手能夠?qū)崿F(xiàn)通過手機(jī)向公眾賬號的關(guān)注用戶群發(fā)消息。公眾號助手的使用方法分為兩步:1)使用個人微信號關(guān)注公眾號助手(微信號mphelper)。2)將個人微信號與公眾賬號綁定。綁定后,個人微信號向公眾號助手發(fā)送的消息將被視為公眾賬號向所有用戶群發(fā)的消息,如圖1-25所示。圖1-25向公眾號助手發(fā)消息注意公眾號助手的使用注意事項(xiàng):①一個個人微信號只能與一個公眾賬號綁定;②通過公眾號助手群發(fā)消息,一樣會消耗群發(fā)限額;③公眾號助手暫不支持向分組用戶群發(fā)消息。1.4公眾賬號認(rèn)證公眾賬號認(rèn)證是指賬號運(yùn)營主體通過身份真實(shí)性驗(yàn)證,以確保公眾賬號的信息的真實(shí)性、安全性。公眾賬號的認(rèn)證方式分為微信認(rèn)證和微博認(rèn)證,服務(wù)號只能申請微信認(rèn)證,而訂閱號能申請微信認(rèn)證和微博認(rèn)證。公眾賬號通過微信認(rèn)證后,會在詳細(xì)資料界面顯示微信認(rèn)證標(biāo)識,如圖1-26所示;公眾賬號通過微博認(rèn)證后,會在詳細(xì)資料界面顯示微博認(rèn)證標(biāo)識,如圖1-27所示。圖1-26通過微信認(rèn)證的公眾賬號(左)圖1-27通過微博認(rèn)證的公眾賬號(右)公眾賬號認(rèn)證后會有以下優(yōu)勢:●認(rèn)證的公眾賬號可信度更高,更容易取得用戶的信任;●通過微信的“搜號碼”功能搜索公眾賬號時(shí),按名稱只能搜索出已認(rèn)證的公眾賬號,未認(rèn)證的公眾賬號只能根據(jù)微信號搜索;●通過微信的“搜號碼”、“查找公眾號”功能搜索公眾賬號時(shí),搜索結(jié)果會優(yōu)先顯示已認(rèn)證的賬號,再顯示未認(rèn)證的賬號;●服務(wù)號通過微信認(rèn)證后,能夠獲取高級接口權(quán)限。而訂閱號通過微信認(rèn)證后,能夠獲得自定義菜單接口權(quán)限。1.4.1認(rèn)證條件申請微信認(rèn)證的條件如下:●必須是企業(yè)、媒體類的服務(wù)號,或者是政府、傳統(tǒng)媒體、明星等非企業(yè)類型的訂閱號。申請微博認(rèn)證的條件如下:●賬號的訂閱用戶數(shù)達(dá)到500人;●擁有已認(rèn)證的新浪微博或騰訊微博的微博賬號。1.4.2微信認(rèn)證流程微信認(rèn)證的審核是由第三方專業(yè)審核機(jī)構(gòu)負(fù)責(zé),申請微信認(rèn)證需要支付300元/次的審核費(fèi)用,作為支付第三方審核機(jī)構(gòu)的成本。微信認(rèn)證成功后,賬號名稱、認(rèn)證標(biāo)識及認(rèn)證信息會被保留一年,我們最遲應(yīng)該在認(rèn)證成功后一年內(nèi)完成年審認(rèn)證,年審認(rèn)證需要另行支付審核服務(wù)費(fèi)。如未通過年審認(rèn)證,認(rèn)證賬號名稱可能會被更改,認(rèn)證標(biāo)識及認(rèn)證信息也將被取消。只要在規(guī)定的時(shí)間內(nèi),認(rèn)證申請真實(shí)并符合相關(guān)認(rèn)證規(guī)范要求,且企業(yè)/機(jī)構(gòu)資質(zhì)合法、有效、完整、準(zhǔn)確,申請人獲得企業(yè)/機(jī)構(gòu)的真實(shí)授權(quán),就能通過微信認(rèn)證。申請微信認(rèn)證的入口有兩處:1)依次點(diǎn)擊“服務(wù)”→“服務(wù)中心”→“微信認(rèn)證”進(jìn)入,如圖1-21所示;2)點(diǎn)擊賬號信息中認(rèn)證情況右側(cè)的“申請微信認(rèn)證”進(jìn)入,如圖1-24所示。微信認(rèn)證的流程如下。1)同意協(xié)議:同意并遵守《微信公眾平臺認(rèn)證服務(wù)協(xié)議》。2)同意命名規(guī)則:如果申請認(rèn)證的賬號名稱不符合《公眾號命名規(guī)則》,會有審核人員與我們溝通修改,必須符合規(guī)則后才能通過認(rèn)證審核。公眾號命名規(guī)則如圖1-28所示。3)填寫資料:選擇企業(yè)/媒體類型,填寫相關(guān)資料。4)填寫發(fā)票:開具發(fā)票需要填寫發(fā)票抬頭和收件地址,默認(rèn)開具增值稅普通發(fā)票,如需開具增值稅專用發(fā)票,需要聯(lián)系微信客服獲取。如果不需要開具發(fā)票,可以直接進(jìn)入下一步。5)支付費(fèi)用:支付認(rèn)證審核費(fèi)用300元,目前只支持微信支付。說明支付完成后,進(jìn)入認(rèn)證審核階段,大約需要15個工作日。在審核過程中,第三方審核公司可能會與公眾賬號運(yùn)營者聯(lián)系,要求修改或重填認(rèn)證資料。圖1-28公眾號命名規(guī)則1.4.3微博認(rèn)證流程訂閱號申請微博認(rèn)證的入口在賬號信息中認(rèn)證情況右側(cè)的“申請微博認(rèn)證”,微博認(rèn)證的流程如下。1)選擇認(rèn)證方式。目前支持騰訊微博認(rèn)證和新浪微博認(rèn)證,如圖1-29所示。圖1-29微博認(rèn)證的兩種方式2)簽署認(rèn)證用戶承諾書。3)登錄微博賬號,分享內(nèi)容至微博。如果失敗,頁面上會給出失敗原因說明。4)確認(rèn)信息。微博認(rèn)證資料將會顯示在公眾賬號的認(rèn)證資料里,確認(rèn)后將無法修改。5)認(rèn)證完成。1.5小結(jié)本章是全書的第一章,首先概括性地介紹了公眾平臺及其發(fā)展歷程,同時(shí)也為讀者介紹了如何注冊公眾賬號,這是學(xué)習(xí)公眾平臺開發(fā)的第一步。接著,為讀者介紹了公眾平臺的使用,相信讀者對公眾平臺有了更全面的認(rèn)識。最后,本章還介紹了公眾賬號認(rèn)證相關(guān)的知識。本章的內(nèi)容對讀者全面了解公眾平臺以及學(xué)好公眾平臺開發(fā)都是非常有幫助的。第2章編輯模式的使用通過上一章的學(xué)習(xí),相信讀者已經(jīng)非常熟悉公眾平臺,并完成了公眾賬號的申請,這是我們學(xué)習(xí)后續(xù)章節(jié)必須要完成的工作。為了便于學(xué)習(xí)和掌握本書的全部內(nèi)容,建議讀者在條件具備的情況下,申請一個服務(wù)號。公眾賬號申請完成后,用戶就可以在微信上關(guān)注了,但此時(shí)的公眾賬號還不具備任何功能,也不能對用戶發(fā)送的消息做出響應(yīng)。本章主要介紹公眾平臺編輯模式的使用,使讀者能夠順利通過編輯模式的可視化界面設(shè)計(jì)實(shí)現(xiàn)一個能夠響應(yīng)用戶請求并具備一定實(shí)用功能的公眾賬號。2.1編輯模式的應(yīng)用場景在公眾平臺的高級功能模塊中,可以看到兩種模式:編輯模式和開發(fā)模式,這兩種模式有著各自的適用場景,是互斥的,即兩個模式不能同時(shí)使用。編輯模式主要是通過界面編輯的方式設(shè)置自動回復(fù)和自定義菜單,所有的設(shè)置都是在公眾平臺完成。編輯模式主要適用于以下幾種應(yīng)用場景:●公眾賬號的運(yùn)營者不具備開發(fā)能力;●針對主要用途是品牌宣傳、新聞媒體、自助客服的公眾賬號;●公眾賬號運(yùn)營初期通過編輯模式快速建立原型;●通過開發(fā)模式建立的公眾賬號在系統(tǒng)故障或升級期間可以臨時(shí)切換到編輯模式提醒用戶。公眾賬號申請完成后,兩種模式都處于關(guān)閉狀態(tài)。在使用某個模式前,需要先將對應(yīng)的模式置于開啟狀態(tài)。開啟編輯模式的步驟如下:1)登錄公眾平臺,依次點(diǎn)擊“功能”→“高級功能”,選擇進(jìn)入“編輯模式”;2)將編輯模式的開關(guān)由關(guān)閉切換為開啟,如圖2-1所示。圖2-1開啟編輯模式開啟編輯模式后,就可以進(jìn)行自動回復(fù)和自定義菜單設(shè)置了。2.2自動回復(fù)在自動回復(fù)設(shè)置模塊,我們可以制定一系列自動回復(fù)規(guī)則,當(dāng)用戶發(fā)送的消息符合某條自動回復(fù)規(guī)則時(shí),用戶將會收到設(shè)定好的自動回復(fù)內(nèi)容,如文本、圖片、圖文、語音等類型的消息。自動回復(fù)默認(rèn)是停用的。編輯模式開啟后,會在自動回復(fù)的右側(cè)出現(xiàn)“啟用”按鈕,點(diǎn)擊該按鈕后,所有的自動回復(fù)規(guī)則設(shè)置都將立即生效。啟用自動回復(fù)后的界面如圖2-2所示。圖2-2啟用自動回復(fù)接著,點(diǎn)擊“設(shè)置”按鈕進(jìn)入自動回復(fù)設(shè)置界面,如圖2-3所示。在右側(cè)列出了3種自動回復(fù)類型,下面將為讀者詳細(xì)說明它們各自的作用及設(shè)置方法。圖2-3自動回復(fù)設(shè)置界面2.2.1被添加自動回復(fù)“被添加自動回復(fù)”是指當(dāng)用戶關(guān)注公眾賬號時(shí),自動發(fā)送給用戶的消息。該消息也常稱為關(guān)注提示語(歡迎語),一般包括歡迎詞、功能簡介、操作指引等信息,方便用戶關(guān)注后就能立即了解到通過該公眾賬號能做哪些事情,如圖2-4所示。被添加自動回復(fù)只能設(shè)置一條消息,而且必須文字、語音、圖片和視頻4種類型消息中的一種。目前大多數(shù)公眾賬號都是以文字作為被添加自動回復(fù)消息,因?yàn)槲淖直容^簡單、直觀,還能為用戶節(jié)省流量。圖2-4設(shè)置“被添加自動回復(fù)”2.2.2消息自動回復(fù)消息自動回復(fù)是指當(dāng)用戶向公眾賬號發(fā)消息時(shí),自動回復(fù)給用戶的消息。與被添加自動回復(fù)相同,消息自動回復(fù)也只能設(shè)置一條消息,消息類型也必須是文字、語音、圖片和視頻中的一種。圖2-5演示了消息自動回復(fù)的一種典型應(yīng)用場景。采用開發(fā)模式建立的公眾賬號在發(fā)生服務(wù)器故障時(shí),不管用戶發(fā)送什么消息請求都得不到回復(fù),這使用戶體驗(yàn)非常差。與其這樣,還不如從開發(fā)模式切換到編輯模式,并設(shè)置一條如圖2-5所示的故障維修通知作為消息自動回復(fù)。這樣,不管用戶發(fā)送什么消息,公眾賬號都將回復(fù)故障維修通知給用戶。待故障維修完以后,再從編輯模式切換到開發(fā)模式,公眾賬號又能正常工作了。圖2-5設(shè)置消息自動回復(fù)2.2.3關(guān)鍵詞自動回復(fù)關(guān)鍵詞自動回復(fù)是指當(dāng)用戶發(fā)送的消息符合某個設(shè)定的關(guān)鍵詞規(guī)則時(shí),自動回復(fù)相應(yīng)的內(nèi)容給用戶。在關(guān)鍵詞自動回復(fù)界面,會列出已經(jīng)設(shè)置好的全部規(guī)則。由于是第一次使用,我們還沒有創(chuàng)建任何規(guī)則。點(diǎn)擊界面右上方的“添加規(guī)則”按鈕,將會看到如圖2-6所示的規(guī)則添加界面。可以看出,一條關(guān)鍵詞自動回復(fù)規(guī)則由3部分組成:規(guī)則名、關(guān)鍵字和回復(fù),它們的主要作用如表2-1所示。圖2-6添加規(guī)則表2-1關(guān)鍵詞自動回復(fù)規(guī)則組成除了它們各自的作用外,我們還應(yīng)掌握關(guān)鍵詞與回復(fù)之間的關(guān)系。同一條規(guī)則可以設(shè)置多個關(guān)鍵詞,也可以設(shè)置多條回復(fù)。關(guān)鍵詞與回復(fù)的關(guān)系有4種:一對一、一對多、多對一和多對多。為了讓讀者能夠充分理解關(guān)鍵詞自動回復(fù),筆者再通過幾個典型的規(guī)則配置示例進(jìn)一步說明。1)當(dāng)用戶向公眾賬號發(fā)送的消息中包含“火警”兩個字時(shí),就會自動回復(fù)文字“火警電話:119”給用戶。該規(guī)則的關(guān)鍵字匹配方式為部分匹配,規(guī)則的配置如圖2-7所示。2)當(dāng)用戶向公眾賬號發(fā)送的消息為“匪警”兩個字時(shí),就會自動回復(fù)文字“匪警電話:110”給用戶。該規(guī)則的關(guān)鍵字匹配方式為完全匹配,規(guī)則的配置如圖2-8所示。圖2-7關(guān)鍵詞部分匹配的規(guī)則配置(左)圖2-8關(guān)鍵詞完全匹配的規(guī)則配置(右)3)當(dāng)用戶向公眾賬號發(fā)送的消息中包含“報(bào)警”兩個字,就會自動回復(fù)文字“匪警電話:110”或“火警電話:119”給用戶。該規(guī)則中關(guān)鍵字與回復(fù)是一對多關(guān)系,規(guī)則的配置如圖2-9所示。說明如果在圖2-9中勾選了右側(cè)的“回復(fù)全部”選項(xiàng),那么當(dāng)用戶向公眾賬號發(fā)送包含“報(bào)警”的消息內(nèi)容時(shí),會連續(xù)收到兩條回復(fù)消息“匪警電話:110”和“火警電話:119”。這意味著在編輯模式下,用戶發(fā)送一條消息有可能會收到多條回復(fù)。4)當(dāng)用戶向公眾賬號發(fā)送的消息中包含“匪警”或“報(bào)警”兩個字,就會自動回復(fù)文字“報(bào)警電話:110”給用戶。該規(guī)則中關(guān)鍵字與回復(fù)是多對一關(guān)系,規(guī)則的配置如圖2-10所示。圖2-9關(guān)鍵詞與回復(fù)的一對多關(guān)系(左)圖2-10關(guān)鍵詞與回復(fù)的多對一關(guān)系(右)2.2.4自動回復(fù)優(yōu)先規(guī)則我們來思考這樣一個問題:消息自動回復(fù)與關(guān)鍵詞自動回復(fù)都是用于設(shè)置當(dāng)用戶向公眾賬號發(fā)送消息時(shí),回復(fù)什么消息給用戶。如果公眾賬號對這兩種自動回復(fù)都進(jìn)行了設(shè)置,那么該以哪個設(shè)置為主呢?這就涉及自動回復(fù)優(yōu)先規(guī)則的問題。自動回復(fù)的優(yōu)先規(guī)則如下。1)消息自動回復(fù):只要用戶向公眾賬號發(fā)送消息便會回復(fù),而不管用戶發(fā)送的消息類型和消息內(nèi)容是什么;但如果用戶發(fā)送的消息能夠匹配某條關(guān)鍵字回復(fù)規(guī)則,將會優(yōu)先就關(guān)鍵字自動回復(fù)。2)關(guān)鍵字自動回復(fù):如果用戶發(fā)送的消息匹配多條關(guān)鍵字回復(fù)規(guī)則,則會隨機(jī)回復(fù)。因此,自動回復(fù)是以關(guān)鍵字自動回復(fù)為主,消息自動回復(fù)為輔。也就是說,只有當(dāng)用戶發(fā)送的消息與所有關(guān)鍵字回復(fù)規(guī)則都不匹配的情況下,才會采用消息自動回復(fù)。2.3案例:簡易號碼簿通過前面的學(xué)習(xí),想必讀者對編輯模式的自動回復(fù)已經(jīng)非常熟悉了。那么如何才能將3種類型的自動回復(fù)結(jié)合起來,設(shè)計(jì)出一個完整實(shí)用的公眾賬號呢?號碼簿是我們生活中經(jīng)常用到的工具,非常方便實(shí)用。下面筆者就以簡易號碼簿公眾賬號的開發(fā)為例,詳細(xì)說明各開發(fā)步驟。簡易僅僅是指數(shù)據(jù)少,而不是指功能上的簡單。2.3.1案例功能描述簡易號碼簿的主要作用就是方便用戶瀏覽、查找常用號碼,這其中并不涉及復(fù)雜的業(yè)務(wù)邏輯。簡易號碼簿主要包含以下功能:1)用戶關(guān)注公眾賬號時(shí),自動向用戶發(fā)送關(guān)注提示語;2)提供文本交互菜單供用戶選擇,方便用戶瀏覽號碼;3)支持用戶通過輸入關(guān)鍵字查找號碼,如果沒有查找到,應(yīng)該給予友好提示;4)支持收集用戶的使用建議。2.3.2數(shù)據(jù)準(zhǔn)備需求明確后,接下來要做的工作就是數(shù)據(jù)準(zhǔn)備。筆者準(zhǔn)備了9條號碼數(shù)據(jù),其中特種服務(wù)號碼、通訊服務(wù)號碼和銀行服務(wù)號碼各3條,如表2-2所示。表2-2簡易號碼簿使用的號碼數(shù)據(jù)2.3.3設(shè)計(jì)關(guān)注提示語關(guān)注提示語是公眾賬號發(fā)送給用戶的第一條消息,會給用戶留下第一印象,因此千萬不能應(yīng)付式地隨便設(shè)置一條了事。一條設(shè)計(jì)良好的關(guān)注提示語至少應(yīng)該包含歡迎詞、功能簡介、操作指引等內(nèi)容。簡易號碼簿的關(guān)注提示語設(shè)置如圖2-11所示。圖2-11關(guān)注提示語設(shè)置上面的關(guān)注提示語合理地運(yùn)用了換行將歡迎詞、功能簡介和操作指引進(jìn)行了分隔,這樣呈現(xiàn)在手機(jī)上會更加美觀,有層次感,方便用戶閱讀。2.3.4設(shè)計(jì)關(guān)鍵詞規(guī)則關(guān)鍵詞規(guī)則的設(shè)計(jì)直接影響到用戶交互體驗(yàn),因此在設(shè)計(jì)時(shí)要盡可能考慮全面,合理地設(shè)計(jì)。根據(jù)簡易號碼簿的功能要求,可以將關(guān)鍵詞規(guī)則分為3部分:文本菜單交互、號碼查詢和用戶反饋。1.文本菜單交互對于文本菜單交互部分,只需要設(shè)置5條關(guān)鍵詞規(guī)則,對應(yīng)的5個關(guān)鍵字分別是:?、1、2、3和4,關(guān)鍵字匹配方式均為完全匹配。1)當(dāng)用戶發(fā)送“?”時(shí),回復(fù)如下所示的文本菜單。請回復(fù)數(shù)字選擇服務(wù):1特種服務(wù)號碼2通訊服務(wù)號碼3銀行服務(wù)號碼4用戶反饋2)當(dāng)用戶發(fā)送“1”時(shí),回復(fù)如下所示的特種服務(wù)號碼列表。常用特種服務(wù)號碼列表:匪警110火警119急救中心120回復(fù)?顯示主菜單3)當(dāng)用戶發(fā)送“2”時(shí),回復(fù)如下所示的通訊服務(wù)號碼列表。常用通訊服務(wù)號碼列表:中國移動客服10086中國聯(lián)通客服10010中國電信客服10000回復(fù)?顯示主菜單4)當(dāng)用戶發(fā)送“3”時(shí),回復(fù)如下所示的銀行服務(wù)號碼列表。常用銀行服務(wù)號碼列表:建設(shè)銀行客服95533工商銀行客服95588農(nóng)業(yè)銀行客服95599回復(fù)?顯示主菜單5)當(dāng)用戶發(fā)送“4”時(shí),回復(fù)如下所示的用戶反饋提示。尊敬的用戶,為了更好地為您服務(wù),請將系統(tǒng)的不足之處反饋給我們。反饋格式:@+建議內(nèi)容例如:@希望增加***號碼2.號碼查詢對于號碼查詢部分,筆者為每個號碼設(shè)計(jì)了一條關(guān)鍵詞規(guī)則,并且關(guān)鍵字匹配方式均為部分匹配,如表2-3所示。表2-3號碼查詢的關(guān)鍵詞規(guī)則設(shè)計(jì)3.用戶反饋從文本菜單交互中可以了解到,用戶提交的反饋信息以“@”符號開頭。由于關(guān)鍵詞規(guī)則的匹配方式只有部分匹配和完全匹配,并不能判斷是否以關(guān)鍵字開頭。因此,只能認(rèn)為只要用戶發(fā)送的消息中包含“@”,就認(rèn)為用戶是在提交反饋。用戶反饋的關(guān)鍵詞規(guī)則設(shè)置如圖2-12所示。圖2-12用戶反饋的關(guān)鍵詞規(guī)則設(shè)置2.3.5設(shè)置默認(rèn)回復(fù)除文本菜單交互和用戶反饋外,用戶發(fā)送的其他所有消息都將被視作號碼查詢。如果沒有查詢到符合條件的號碼,則將采用默認(rèn)回復(fù),默認(rèn)回復(fù)的設(shè)置如圖2-13所示。圖2-13簡易號碼簿的默認(rèn)回復(fù)設(shè)置2.3.6測試體驗(yàn)經(jīng)過上面的設(shè)置,簡易號碼簿就開發(fā)完成了。最后,通過微信關(guān)注賬號進(jìn)行測試體驗(yàn),一方面可以檢驗(yàn)我們的設(shè)置是否正確,另一方面也可以進(jìn)一步加深對自動回復(fù)的理解。關(guān)注賬號后,首先會收到賬號發(fā)送的關(guān)注提示語;再根據(jù)提示語中的操作指引,回復(fù)“?”獲取文本菜單,如圖2-14所示。文本菜單提供了4項(xiàng)服務(wù),回復(fù)數(shù)字1~4即可選擇相應(yīng)的服務(wù)。我們能夠通過兩種方式來獲取號碼信息:菜單交互和關(guān)鍵字查詢,如圖2-15所示。圖2-14關(guān)注提示語和文本菜單(左)圖2-15通過菜單交互和關(guān)鍵字查詢獲取號碼(右)當(dāng)發(fā)送的消息沒有匹配到任何關(guān)鍵詞規(guī)則時(shí),將會收到消息自動回復(fù)中設(shè)置的默認(rèn)回復(fù),如圖2-16所示?;貜?fù)數(shù)字“4”時(shí),將會收到用戶反饋的操作提示。根據(jù)提示發(fā)送一條建議,公眾賬號能夠識別并做出相應(yīng)的回復(fù),如圖2-17所示。圖2-16沒有查找到號碼時(shí)的回復(fù)(左)圖2-17用戶反饋(右)2.4自定義菜單自定義菜單類似于手機(jī)App(Application的縮寫,即應(yīng)用程序)的標(biāo)簽欄,它位于公眾賬號的底部,如圖2-18所示。圖2-18公眾賬號的自定義菜單自定義菜單將公眾賬號的功能直觀地呈現(xiàn)在用戶面前,用戶只要點(diǎn)擊菜單項(xiàng)就能夠獲取相應(yīng)的信息。自定義菜單使得用戶獲取信息的方式從輸入關(guān)鍵字逐漸轉(zhuǎn)變?yōu)辄c(diǎn)擊菜單項(xiàng),它在一定程度上降低了用戶獲取信息的成本,同時(shí)也增加了用戶與公眾賬號的交互頻次。服務(wù)號默認(rèn)有自定義菜單權(quán)限,訂閱號通過微信認(rèn)證后也能獲得自定義菜單權(quán)限。與自動回復(fù)一樣,自定義菜單默認(rèn)也是停用狀態(tài),在設(shè)置前需要先將它啟用,啟用后就能看到“設(shè)置”按鈕,點(diǎn)擊后進(jìn)入到自定義菜單設(shè)置界面,該界面分為“編輯”和“發(fā)布”兩部分,編輯界面用于創(chuàng)建菜單(包括添加菜單、設(shè)置菜單響應(yīng)動作、排序等),如圖2-19所示,發(fā)布界面用于預(yù)覽和發(fā)布菜單,如圖2-20所示。圖2-19自定義菜單編輯界面圖2-20自定義菜單發(fā)布界面2.4.1編輯菜單菜單的創(chuàng)建過程其實(shí)就是菜單屬性的設(shè)置過程,因此在實(shí)際操作前需要熟悉菜單的各項(xiàng)屬性及功能,如表2-4所示。表2-4菜單的各項(xiàng)屬性及功能注意子菜單與動作都不是菜單必須設(shè)置的屬性。但對于同一個菜單,子菜單與動作必須設(shè)置一項(xiàng)。在菜單編輯界面,菜單管理中的“添加”按鈕用于添加一級菜單,點(diǎn)擊該按鈕將會彈出一級菜單名稱設(shè)置對話框,如圖2-21所示。一級菜單名稱的長度不能超過8字節(jié),其中一個漢字占2字節(jié),一個字母或數(shù)字占1字節(jié)。圖2-21設(shè)置一級菜單名稱一級菜單名稱設(shè)置完成后,在菜單管理中將它選中,將會看到能夠?qū)υ摬藛嗡龅娜坎僮?,如圖2-22所示。圖2-22選中一級菜單在一級菜單名稱右側(cè),有3個按鈕分別是添加子菜單、改名和刪除;在“設(shè)置動作”中,有“發(fā)送消息”和“跳轉(zhuǎn)到網(wǎng)頁”兩個按鈕,這5個操作按鈕的功能描述如表2-5所示。表2-5一級菜單操作按鈕功能描述之前也曾提到過,一級菜單的子菜單和動作只能設(shè)置其一,而且必須設(shè)置其一。如果已經(jīng)添加子菜單,則無法設(shè)置動作;如果要設(shè)置動作,則必須刪除所有已添加的子菜單。點(diǎn)擊一級菜單名稱右側(cè)“添加子菜單”按鈕,將會彈出二級菜單名稱設(shè)置對話框,如圖2-23所示。二級菜單名稱的長度不能超過16字節(jié)。圖2-23設(shè)置二級菜單名稱二級菜單名稱設(shè)置完成后,在“菜單管理”中將它選中,看到的操作按鈕只有4個,比一級菜單少了“添加子菜單”按鈕。二級菜單的4個功能按鈕的作用與一級菜單的完全相同。接下來,為二級菜單“QQ郵箱”設(shè)置動作“發(fā)送消息”,如圖2-24所示。該動作支持的消息類型有5種(文字、語音、圖片、視頻和圖文消息),但對于同一個菜單只能設(shè)置其中一種作為用戶點(diǎn)擊菜單后發(fā)送給用戶的消息。圖2-24為菜單設(shè)置動作“發(fā)送消息”我們再以同樣的方式添加一個名為“163郵箱”的二級菜單,但動作設(shè)置為“跳轉(zhuǎn)到網(wǎng)頁”,如圖2-25所示。到這里,我們已經(jīng)創(chuàng)建了一個一級菜單“郵箱導(dǎo)航”,并為其添加了兩個二級菜單“QQ郵箱”和“163郵箱”。在微信客戶端上,一級菜單會按照添加的先后順序從左至右依次顯示,一級菜單下的二級菜單會按照添加的先后順序從上至下依次顯示。如果要調(diào)整菜單的顯示順序,可以通過點(diǎn)擊圖2-25中的“排序”按鈕來實(shí)現(xiàn)。圖2-25為菜單設(shè)置動作“跳轉(zhuǎn)到網(wǎng)頁”2.4.2預(yù)覽和發(fā)布菜單編輯中的菜單并不會在微信客戶端上生效,也就不會被用戶看到,因此可以放心調(diào)試。那我們又如何看到已經(jīng)編輯好的菜單在手機(jī)上的顯示效果呢?從圖2-20中可以看到,公眾平臺為我們提供了菜單預(yù)覽功能。點(diǎn)擊“預(yù)覽”按鈕,將會彈出一個手機(jī)模擬器,該模擬器不僅支持菜單外觀的顯示,而且還支持菜單動作的響應(yīng)。在模擬器的底部能夠看到已經(jīng)添加的一級菜單“郵箱導(dǎo)航”,點(diǎn)擊它會彈出二級菜單,如圖2-26所示。點(diǎn)擊二級菜單,模擬器也會做出響應(yīng)。圖2-26在模擬器中預(yù)覽編輯中的菜單如果在菜單預(yù)覽過程中沒有發(fā)現(xiàn)任何問題,就可以放心地將菜單發(fā)布給用戶使用了。菜單的發(fā)布很簡單,只需要點(diǎn)擊圖2-20下方的“發(fā)布”按鈕即可。注意由于微信客戶端緩存的原因,菜單發(fā)布后也不會立即在手機(jī)上生效,要過24小時(shí)才能保證在所有用戶的手機(jī)上生效。為了便于真機(jī)測試菜單,可以嘗試通過“取消關(guān)注公眾賬號,再次關(guān)注”的方式立即看到新的菜單。菜單發(fā)布后,在手機(jī)上體驗(yàn)菜單的效果如圖2-27所示。點(diǎn)擊“郵箱導(dǎo)航”將會彈出二級菜單列表。之后,點(diǎn)擊“QQ郵箱”,公眾賬號會發(fā)送文本消息"",而點(diǎn)擊“163郵箱”則會通過微信內(nèi)置瀏覽器訪問鏈接""。圖2-27在手機(jī)上體驗(yàn)自定義菜單2.5小結(jié)不管是否具備開發(fā)能力,掌握編輯模式的使用都是非常有必要的。本章詳細(xì)介紹了編輯模式的使用,包括自動回復(fù)和自定義菜單??紤]到自動回復(fù)對于編輯模式的重要性,本章還給出了一個簡易號碼簿實(shí)例的詳細(xì)開發(fā)步驟。相對而言,編輯模式是比較簡單的,但如果讀者能夠仔細(xì)研究,用心思考,一樣能夠開發(fā)出實(shí)用的、有創(chuàng)意的應(yīng)用。第3章開發(fā)模式的啟用通過上一章的學(xué)習(xí),想必讀者已經(jīng)能夠使用編輯模式設(shè)計(jì)實(shí)現(xiàn)一些滿足特定需求的公眾賬號了。但是,也有很多應(yīng)用場景是編輯模式不能滿足的,例如用戶身份驗(yàn)證、對接企業(yè)的業(yè)務(wù)系統(tǒng)、個性化回復(fù)等,這些只有通過開發(fā)模式才能實(shí)現(xiàn)。本章主要介紹開發(fā)模式的啟用。3.1開發(fā)模式的基礎(chǔ)知識開發(fā)模式主要針對具備開發(fā)能力的賬號運(yùn)營者。在開發(fā)模式下,公眾賬號的所有功能都是通過編程實(shí)現(xiàn)的。相對而言,開發(fā)模式更加復(fù)雜,對賬號運(yùn)營者的要求也更高。3.1.1啟用開發(fā)模式的必備條件不同于編輯模式,開發(fā)模式的啟用并不是簡單地切換狀態(tài)開關(guān)就能完成的。啟用開發(fā)模式至少需要具備以下3個條件。1)完善賬號信息:在啟用開發(fā)模式時(shí),系統(tǒng)會檢查公眾賬號的頭像、功能介紹、運(yùn)營地區(qū)等信息是否設(shè)置完整。在公眾平臺的設(shè)置模塊,能夠看到公眾賬號的全部信息。2)請求校驗(yàn)程序:啟用開發(fā)模式的過程中會要求填寫接口配置信息,這就意味著要先完成請求校驗(yàn)程序的開發(fā)。至于請求校驗(yàn)程序有哪些要求、如何開發(fā)都將在3.2節(jié)中為讀者詳細(xì)介紹。3)公網(wǎng)環(huán)境:通常,我們在個人電腦上部署的Web應(yīng)用都處在內(nèi)網(wǎng)環(huán)境,只能由自己或局域網(wǎng)用戶訪問,外網(wǎng)用戶是訪問不到的。由于公眾賬號的處理程序需要與微信服務(wù)器進(jìn)行交互,因此必須將其部署在公網(wǎng)環(huán)境。公網(wǎng)環(huán)境除了能夠支撐程序的運(yùn)行外,還應(yīng)具備獨(dú)立的公網(wǎng)IP或者能夠?yàn)椴渴鸬膽?yīng)用程序分配訪問域名,使得應(yīng)用程序能夠被外網(wǎng)用戶訪問。對于許多中小企業(yè)或個人開發(fā)者而言,公網(wǎng)環(huán)境無疑成了使用公眾平臺開發(fā)模式的最大障礙。3.1.2應(yīng)用引擎簡介應(yīng)用引擎(AppEngine)是一種網(wǎng)絡(luò)應(yīng)用開發(fā)平臺,它使得開發(fā)者不需要維護(hù)任何服務(wù)器,只需要簡單上傳應(yīng)用程序,就能夠?yàn)橥饩W(wǎng)用戶提供服務(wù),為開發(fā)者節(jié)約了大量的人力投入、時(shí)間投入以及各種軟硬件成本。應(yīng)用引擎正好能夠解決我們對公網(wǎng)環(huán)境的需求。接下來,筆者將為大家介紹兩個常用的應(yīng)用引擎:新浪的SAE和百度的BAE。1.SAESAE(SinaAppEngine)是一個簡單高效的分布式Web服務(wù)開發(fā)及運(yùn)行平臺,它是新浪研發(fā)中心于2009年11月3日正式推出的國內(nèi)首個公有云計(jì)算平臺。SAE提供了一系列分布式計(jì)算、存儲服務(wù)供開發(fā)者使用,包括分布式文件存儲、分布式數(shù)據(jù)庫集群、分布式緩存、分布式定時(shí)服務(wù)等,這些服務(wù)將大大降低開發(fā)者的開發(fā)成本。同時(shí)又由于SAE整體架構(gòu)的高可靠性和新浪的品牌保證,大大降低了開發(fā)者的運(yùn)營風(fēng)險(xiǎn)。另外,作為典型的云計(jì)算,SAE采用“所付即所用,所付僅所用”的計(jì)費(fèi)理念,通過日志和統(tǒng)計(jì)中心精確地計(jì)算每個應(yīng)用的資源消耗(包括CPU、內(nèi)存、磁盤等)。2.BAEBAE(BaiduAppEngine)是一個支持多語言的、彈性的服務(wù)端運(yùn)行環(huán)境,幫助開發(fā)者快速開發(fā)并部署應(yīng)用。使用BAE,開發(fā)者不用維護(hù)任何服務(wù)器,只需要簡單地上傳應(yīng)用程序,就可以為用戶提供服務(wù),從而縮短產(chǎn)品發(fā)布周期,使快速適配市場需求。BAE目前已發(fā)展到3.0版本,主要特性如下:●業(yè)界主流Runtime,應(yīng)用遷移零成本;●支持后臺worker程序運(yùn)行(可以長時(shí)間運(yùn)行的后臺任務(wù));●支持PHP、Java、Python;●SVN/GIT管理代碼,一鍵式應(yīng)用自動部署;●支持動態(tài)擴(kuò)容、負(fù)載均衡;●可快捷接入云存儲、云推送、媒體云等豐富的云服務(wù)。SAE和BAE各有優(yōu)勢,都能夠滿足公眾平臺的開發(fā)需要。但對于訪問量較小的應(yīng)用來說,BAE幾乎是完全免費(fèi)的。因此,對于沒有公網(wǎng)環(huán)境的開發(fā)者而言,BAE無疑是學(xué)習(xí)公眾平臺開發(fā)的首選。說明對于收費(fèi)的公網(wǎng)環(huán)境,讀者可以考慮租用阿里云的云主機(jī)或者租用其他服務(wù)商提供的VPS(VirtualPrivateServer,即虛擬專用服務(wù)器)。3.1.3開發(fā)工具介紹對于公眾平臺的開發(fā),官方只給出了PHP的示例代碼,這也讓部分開發(fā)者誤以為只有PHP一種選擇。公眾平臺的處理程序其實(shí)就是一個Web項(xiàng)目,負(fù)責(zé)接收并響應(yīng)微信服務(wù)器發(fā)送的HTTP請求。因此,只要是支持動態(tài)Web開發(fā)的編程語言,都能夠用于公眾平臺開發(fā),例如Java、PHP、.NET、ASP和Ruby。建議讀者選擇自己擅長或者熱門的編程語言,這樣才能保證有較好的質(zhì)量和效率,筆者選擇的是Java語言。本章及后續(xù)章節(jié)的內(nèi)容并不太適合沒有任何編程基礎(chǔ)的讀者閱讀,讀者至少應(yīng)該熟悉Java基礎(chǔ)及JavaWeb開發(fā),并對JSP和Servlet有一定的了解。下面將對搭建公眾平臺開發(fā)環(huán)境用到的工具進(jìn)行介紹,至于工具的安裝和配置都比較簡單,網(wǎng)上有大量的資料可以參考,筆者在此不再贅述了。1.JDKJDK是原SUN公司推出的Java開發(fā)工具包,它是整個Java的核心,包括了Java運(yùn)行環(huán)境、Java工具和Java基礎(chǔ)類庫。JDK已由最初的JDK1.0,發(fā)展到現(xiàn)在的JDK1.7,隨著版本的不斷更新,運(yùn)行效率也得到了顯著的提高。筆者下載安裝的是JDK1.6版本,下載地址為/technetwork/java/javase/archive-139210.html,在頁面中能夠看到“JavaSE6”,它指代的正是JDK1.6。2.MyEclipseJava開發(fā)工具有很多種,比較著名的有Eclipse、NetBeans和JBuilder,這些工具本身也是使用Java編寫的。其中,Eclipse以其開源和擴(kuò)展性,深受廣大Java開發(fā)者喜愛。Eclipse本身只是一個框架和一組服務(wù),通過安裝相應(yīng)的插件構(gòu)建開發(fā)環(huán)境。如果要用Eclipse開發(fā)JavaWeb應(yīng)用,就需要為其安裝支持JavaWeb開發(fā)的插件,而MyEclipse就是最佳選擇。MyEclipse是一款非常優(yōu)秀的用于開發(fā)Java、J2EE應(yīng)用的Eclipse插件,目前支持Java、JSP、Servlet、JDBC、AJAX、JSF、Struts、Spring、Hibernate、EJB3等多項(xiàng)功能。MyEclipse是一款幾乎囊括了目前所有主流開源產(chǎn)品的專屬Eclipse開發(fā)工具,它的下載地址為/,筆者使用的版本是MyEclipse6.0.0GA。注意MyEclipse需要付費(fèi)使用。至于免費(fèi)的、可以考慮LombozEclipse和EclipseIDEforJavaEEDevelopers。LombozEclipse的下載地址:/downloads.php。EclipseIDEforJavaEEDevelopers的下載地址:/downloads/。3.TomcatTomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項(xiàng)目中的一個核心項(xiàng)目,它是一個免費(fèi)的、開源的Web應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問較小的場合下使用普遍。Tomcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因此深受Java開發(fā)者的喜愛,同時(shí)也得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。提示建議下載Tomcat6.0的最新版本,下載地址為/。3.2開發(fā)請求校驗(yàn)程序公眾平臺開發(fā)者文檔是專門為開發(fā)人員提供的,它是開發(fā)人員進(jìn)行接口編程的重要依據(jù)。因此,只要使用公眾平臺開發(fā)模式,都必須認(rèn)真研究開發(fā)者文檔。3.2.1開發(fā)者文檔介紹登錄公眾平臺,依次點(diǎn)擊“功能”→“高級功能”→“開發(fā)模式”→“查看文檔”進(jìn)入到開發(fā)者文檔首頁,在左側(cè)顯示了開發(fā)者文檔的目錄結(jié)構(gòu),包括新手接入、基礎(chǔ)支持、接收消息、發(fā)送消息、用戶管理、自定義菜單、推廣支持、WeixinJS接口和開發(fā)者交流互助,如圖3-1所示。圖3-1公眾平臺開發(fā)者文檔目錄結(jié)構(gòu)公眾平臺開發(fā)者文檔目錄結(jié)構(gòu)說明如表3-1所示。表3-1公眾平臺開發(fā)者文檔目錄結(jié)構(gòu)說明由于訂閱號不支持高級接口,因此在開發(fā)訂閱號時(shí)不需要關(guān)心開發(fā)文檔中的基礎(chǔ)支持、用戶管理和推廣支持3部分,這些都是高級接口中的內(nèi)容,只有微信認(rèn)證的服務(wù)號才能使用。3.2.2明確請求校驗(yàn)流程對于本節(jié)要開發(fā)的請求校驗(yàn)程序,只需要參考“新手接入”中的“接入指南”部分。從接入指南中可以了解到,要使用公眾平臺的開發(fā)模式,必須先填寫接口配置信息中的URL和Token,這就要求開發(fā)者擁有公網(wǎng)服務(wù)器資源,并且按照開發(fā)者文檔完成相關(guān)程序的開發(fā),其實(shí)這些要求已經(jīng)在3.1.1節(jié)中詳細(xì)介紹過了。接入指南的第二步“驗(yàn)證URL有效性”部分詳細(xì)說明了請求校驗(yàn)的作用和流程,如圖3-2所示。圖3-2請求校驗(yàn)的作用和流程也就是說,我們要開發(fā)的請求校驗(yàn)程序必須能夠處理HTTPGET請求,而且要對請求者進(jìn)行身份校驗(yàn),以確保請求來自微信服務(wù)器。請求校驗(yàn)流程如下:1)獲取HTTPGET請求中的4個參數(shù):signature、timestamp、nonce和echostr;2)將token、timestamp和nonce3個參數(shù)按字典序排序;3)將排序后的3個參數(shù)按順序拼接成一個字符串,并對該字符串進(jìn)行sha1加密;4)將sha1加密后的字符串與參數(shù)signature進(jìn)行對比,如果相等則證明該請求來自微信服務(wù)器,需要原樣返回參數(shù)echostr。提示步驟2中提到的參數(shù)token不是從GET請求中獲取的,而是由開發(fā)者任意指定的。在公眾平臺啟用開發(fā)模式時(shí),也會要求填寫token,這兩處token要求保持一致。3.2.3請求校驗(yàn)流程分析在Java中,處理HTTPGET請求就需要用到Servlet(當(dāng)然也可以使用JSP或者Struts,但JSP和Struts本質(zhì)上也是Servlet),在Servlet中接收參數(shù)signature、timestamp、nonce和echostr的代碼如下所示:Stringsignature=request.getParameter("signature");

Stringtimestamp=request.getParameter("timestamp");

Stringnonce=request.getParameter("nonce");

Stringechostr=request.getParameter("echostr");要對token、timestamp和nonce3個參數(shù)按字典排序,可以使用java.util.Arrays類的sort()方法;而將排序后的結(jié)果拼接成一個字符串,可以使用String類的contat()方法。實(shí)現(xiàn)代碼如下://對token、timestamp和nonce按字典排序

String[]paramArr=newString[]{token,timestamp,nonce};

Arrays.sort(paramArr);

//將排序后的結(jié)果拼接成一個字符串

Stringcontent=paramArr[0].concat(paramArr[1]).concat(paramArr[2]);對拼接后的字符串content進(jìn)行sha1加密可以使用java.security.MessageDigest類來實(shí)現(xiàn),代碼如下:MessageDigestmd=MessageDigest.getInstance("SHA-1");

//對拼接后的字符串進(jìn)行sha1加密

byte[]digest=md.digest(content.getBytes());可以看到,進(jìn)行sha1加密后的結(jié)果是一個byte數(shù)組,而我們需要的是一個字符串。所以,還需要通過下面的方法將byte數(shù)組轉(zhuǎn)換成字符串:/**

*將字節(jié)數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串

*

*@parambytearray

*@return

*/

privatestaticStringbyteToStr(byte[]bytearray){

StringstrDigest="";

for(inti=0;i<bytearray.length;i++){

strDigest+=byteToHexStr(bytearray[i]);

}

returnstrDigest;

}

/**

*將字節(jié)轉(zhuǎn)換為十六進(jìn)制字符串

*

*@paramib

*@return

*/

privatestaticStringbyteToHexStr(byteib){

char[]Digit={'0','1','2','3','4','5','6','7','8','9','A','B',

'C','D','E','F'};

char[]ob=newchar[2];

ob[0]=Digit[(ib>>>4)&0X0F];

ob[1]=Digit[ib&0X0F];

Strings=newString(ob);

returns;

}調(diào)用上面的byteToStr()方法將sha1加密后的byte數(shù)組轉(zhuǎn)換成字符串,如下所示:Stringciphertext=byteToStr(digest);最后,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論