1、微信的各個平臺
微信開放平臺,面向開發人員,為網站、App 提供微信第三方登錄功能,為 App 提供支付功能(通過客戶端 sdk 拉起微信客戶端);
微信公眾平臺,對應的是公眾號,包括訂閱號、服務號、企業號,面向運營人員和開發人員,運營可以直接登錄公眾號管理后臺查看公眾號的各種指標,開發則是通過調用微信提供的各種接口來增強公眾號的功能;
微信商戶平臺,用戶通過微信支付的錢,最終到達商戶賬號。無論是開放平臺還是公眾平臺,涉及到支付,都需要商戶平臺賬號
簡單提一下訂閱號與服務號的區別
訂閱號,主要用來發文章,微信的聊天列表中會有“訂閱號”這一項,里面全都是訂閱號的推送;正常情況下訂閱號每天只能群發一條消息,但是媒體類的除外,比如人民日報、36 氪等,就是每天可以發多條,猜測應該是可以找微信申請的,只要資質夠了,就可以一天發多條吧(未實際驗證過,只是猜測)。
服務號,顧名思義,主要是提供服務的,比如銀行的服務號,你可以在服務號里面查詢一些信息,看一下服務號的菜單大致就了解了服務號提供的哪些服務,服務號在微信聊天列表中是單獨的一項,不會像訂閱號那樣合并起來。服務號其實也可以像訂閱號那樣群發消息,但是每個自然月只能發 4 次,可以看出是跟訂閱號的側重點完全不同的,兩者沒有包含被包含的關系,誰也沒法取代誰,也不是簡單的權限高級低級的區別。
公眾平臺群發規則:http://kf.qq.com/faq/120911VrYVrA131025QniAfu.html
2、服務號賬號介紹
服務號是只能企業申請的,個人只能申請訂閱號。服務號相比訂閱號有更多的接口權限,這樣服務號就能提供更多的自定義功能。
服務號要能提供完整的功能,還需要進行“微信認證”,提交一些公司資質信息,認證費 300 元,微信認證成功之后,才能獲得完整的服務號接口權限。
服務號賬號的登錄還是比較嚴格的,每次登錄都需要管理員掃碼確認。當然,管理員可以綁定運營者微信號(http://kf.qq.com/faq/120911VrYVrA141211FbEnq2.html),這樣添加為運營者的人就可以自己掃碼登錄了,不需要每次都“驚動”管理員
3、服務號管理后臺介紹
登錄到管理后臺,運營可以直接在管理后臺進行一系列操作,例如:
公眾號設置:設置關注公眾號后發送給用戶的歡迎語,設置關鍵詞回復規則和內容,設置收到消息自動回復內容,自定義菜單
運營操作:群發消息,回復用戶消息
查詢統計:用戶分析、菜單分析、圖文分析、消息分析
4、服務號開發
至此,開發終于登場了~~~
先來看一下開發之前需要進行的一系列配置。
服務號管理后臺左邊欄最下面有一項“開發”,我們來一次看一下各個子項
基礎配置
公眾號開發信息,AppID 和 AppSecret 是必需的,其中 AppID 是可以暴露的,但是 AppSecret 是絕對不能暴露的。在管理后臺里面也是不顯示的,設置是無法查看的,要是忘記了,那只能重置(初始化或重置的時候是可以看到的,如果錯過了這個時機,那后面就看不到了)。如果重置,就會影響已有服務,所以一定要備份好 AppSecret,同時不要泄露。
IP 白名單,需要填寫開發環境、測試環境、正式環境的服務器 IP,只有白名單中的 IP 才允許請求微信獲取 access_token,有了 access_token 才能有權限調用微信的各種接口。access_token 的具體介紹,參考公眾平臺文檔--獲取 access_token(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183),這里不再贅述。
服務器配置,參考公眾平臺文檔--接入指南(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319),這里不再贅述。注意,如果服務器配置開啟,則相當于服務器完全接管服務號,甚至可以夸張的說,有了服務器接收微信服務端的所有推送事件,服務號管理后臺就可以廢棄了。服務器配置開始后,管理后臺有一些配置就失效了,比如,自動回復功能,不能在后臺配置了,只能通過程序回復;自定義菜單,也只能通過程序來設置,不能再頁面上設置了。
有了上面的這些配置,就可以開始開發、調試公眾平臺接口了。
開發者工具
開發者文檔,文檔對于開發者的重要性就不用說了,
在線接口調試工具,方便直接調試公眾平臺接口,不用開發者自己寫調試程序,
web 開發者工具,相當于一個可以在 pc 上運行的微信瀏覽器,方便模擬手機微信,
公眾平臺測試賬號,這個是非常有幫助的,尤其是在服務號未進行微信認證的情況下(很多接口還沒有開放)。在這個測試賬號里面基本上所有的接口權限都開放,在開發測試階段是非常有幫助的
接口權限,可以查看所有接口是否有權限調用。部分接口還需要額外的配置,比如:網頁授權獲取用戶信息,需要配置網頁授權域名
介紹到這里,之后的開發就需要結合公眾平臺文檔,自力更生了。雖然微信的文檔不是特別條理,但是只要耐心一點,仔細一點,基本還是比較順利的。
5、公眾平臺與開放平臺打通(unionid 機制)
公眾號,可以拿到關注用戶的信息,openid、昵稱、頭像;
開放平臺,第三方登錄也可以拿到用戶的信息,openid、昵稱、頭像;
其中,昵稱、頭像是相同的,也都是用戶自己隨時可以修改的,如果要唯一確定一個微信用戶,只能通過微信 id。
但是,公眾平臺的 openid 是用戶在公眾號里面的唯一 id,換了公眾號,openid 也會跟著變;開發平臺的 openid 是用戶在開發平臺里面的唯一 id,與公眾平臺的 openid 是不同的。所以無法通過 openid 來唯一確定一個用戶。
微信為了解決這個問題,提供了 unionid,只要公眾平臺、開放平臺是關聯起來的,那么同一個微信用戶即使是在不同平臺里面也都是相同的 unionid
平臺之間打通,需要再開放平臺中綁定公眾號,綁定成功后,無論是在哪個平臺獲取用戶信息,都會攜帶 unionid 字段,開發者可以根據 unionid 將不同平臺下的同一個用戶識別出來。
----------------------------------------------------------------------------------------------------------
本文沒有介紹相關代碼,只是對整個開發過程的一個梳理和總結,如果能對大家,尤其是新手,有些許幫助,我也感到非常榮幸。
歡迎大家批評指導,交流學習~~~