這類專業(yè)的技術問題涉及到了代碼的層面,您在網(wǎng)上詢問肯定是得不到完美的解決的,建議您可以下載一下開發(fā)者文檔

我們提供的服務有:成都做網(wǎng)站、網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、鄞州ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的鄞州網(wǎng)站制作公司
該文檔在您申請了微信商家之后就可以下載的
然后根據(jù)文檔里面的技術規(guī)范進行調(diào)整和開發(fā)
目前websocket技術已經(jīng)很成熟,選型Go語言,當然是為了節(jié)省成本以及它強大的高并發(fā)性能。我使用的是第三方開源的websocket庫即gorilla/websocket。
由于我們線上推送的量不小,推送后端需要部署多節(jié)點保持高可用,所以需要自己做集群,具體架構方案如圖:
Auth Service:鑒權服務,根據(jù)Token驗證用戶權限。
Collect Service:消息采集服務,負責收集業(yè)務系統(tǒng)消息,存入MongoDB后,發(fā)送給消息分發(fā)服務。
Dispatch Service:消息分發(fā)服務,根據(jù)路由規(guī)則分發(fā)至對應消息推送服務節(jié)點上。
Push Service:消息推送服務,通過websocket將消息推送給用戶。
集群推送的關鍵點在于,web端與服務端建立長連接之后,具體跟哪個推送節(jié)點保持長連接的,如果我們能夠找到對應的連接節(jié)點,那么我們就可以將消息推送出去。下面講解一下集群的大致流程:
1. web端用戶登錄之后,帶上token與后端推送服務(Push Service)保持長連接。
2. 推送服務收到連接請求之后,攜帶token去鑒權服務(Auth Service)驗證此token權限,并返回用戶ID。
3. 把返回的用戶ID與長連接存入本地緩存,保持用戶ID與長連接綁定關系。
4. 再將用戶ID與本推送節(jié)點IP存入redis,建立用戶(即長連接)與節(jié)點綁定關系,并設置失效時間。
5. 采集服務(Collect Service)收集業(yè)務消息,首先存入mongodb,然后將消息透傳給分發(fā)服務(Dispatch Service)。
6. 分發(fā)服務收到消息之后,根據(jù)消息體中的用戶ID,從redis中獲取對應的推送服務節(jié)點IP,然后轉(zhuǎn)發(fā)給對應的推送節(jié)點。
7. 推送服務節(jié)點收到消息之后,根據(jù)用戶ID,從本地緩存中取出對應的長連接,將消息推送給客戶端。
其他注意事項:
具體操作方法是,企業(yè)申請賬號后,員工通過自己的微信訂閱該企業(yè)號,然后可以使用目錄下的各種功能模塊,完成企業(yè)內(nèi)部管理和交流。用戶可以通過微信完成打卡、報銷、會議等事務。
用微信編輯器先編寫好內(nèi)容。和原來的QQ空間操作方式差不多。然后發(fā)送就可以了。服務號一周一次,一次不超過8篇,訂閱號一天一次。
企業(yè)號推送信息推薦選用極光推送,極光推送:推送更穩(wěn)定;2. 性能更好;大容量、并發(fā)。可實現(xiàn)推送統(tǒng)計;極光提供了推送成功、推送失敗、用戶點擊等數(shù)據(jù)的統(tǒng)計。并且結合 App 活躍情況。
而微信只能是點對點的傳播,不能做到點到點到點的傳播,也就是,微信不能特別方便的轉(zhuǎn)發(fā)。 微信的信息流通的方式只能夠通過關注特定的人去關注,而不能夠通過第三者去獲得特定推送者的信息。
jpush推送消息形式主要有四種:通知,自定義消息,富媒體和本地通知。極光推送,也叫jpush。JPush是經(jīng)過考驗的大規(guī)模APP推送平臺,每天推送消息數(shù)超過5億條。
開發(fā)者集成SDK后,可以通過調(diào)用API推送消息。同時,JPush提供可視化的web端控制臺發(fā)送通知,統(tǒng)計分析推送效果。 JPush全面支持 Android, iOS, Winphone 三大手機平臺。
需要用戶在微信小程序中訂閱。就是當用戶在小程序內(nèi)點擊特定按鈕后會彈出申請訂閱彈窗,同意后小程序才會在后續(xù)任意時間給該用戶推送服務通知。但是微信訂閱消息有如下幾個特點:
1、選擇權在用戶手中,微信的訂閱消息像是一個開關,是需要用戶自己授權才能使用的。
2、時長不會受到限制,訂閱消息沒有7天內(nèi)推送消息的時間限制,只要用戶沒有拒收消息,都可以隨時推送服務通知。
單渠道消息推送無法確保消息送達率,為了確保重要消息精準送達,可以考慮接入極光統(tǒng)一消息系統(tǒng),可以同時觸達app,短信,小程序,公眾號等7大主流通道,確保消息送達
以下是如何做微信公眾號推送:
1、微信公眾號推送規(guī)則。微信公眾號分為訂閱號和服務號,無論有沒有認證,訂閱號每天都能推送一條消息,也就是每天只能推送一次消息給粉絲;服務號無論有沒有認證,每月只能推送4條,也就是4次。
2、文字消息推送:在空白界面編輯好文章內(nèi)容,點擊下方群發(fā)即可。圖片消息推送:點擊發(fā)送圖片消息的圖標,會彈出如下圖的對話框,先點擊上傳,在電腦里選擇自己要發(fā)送的圖片。按照顯示,選中要發(fā)送的圖片;確定即可把要發(fā)送的圖片放在發(fā)送框里,然后點擊推送,即可把圖片發(fā)送給粉絲,注意,一次只能發(fā)送一張圖片。
3、圖文消息如何推送。點擊圖文消息的圖標,會彈出一個對話框,若您要發(fā)送的是單圖文消息,即選擇單圖文消息,若要發(fā)送的是多圖文消息,則點擊多圖文消息,選擇后會出現(xiàn)如下頁面,這里以多圖文的發(fā)送為例,單圖文消息推送與之類似。
極光統(tǒng)一消息系統(tǒng)整合微信公眾號,微信小程序,APP,短信等7大主流消息通道,實現(xiàn)消息統(tǒng)一管理,可進入極光官網(wǎng)進一步了解
昨日逛 github 發(fā)現(xiàn)之前 star 的 repo wechat
最近學習 Go 于是打算重新實現(xiàn)一下公眾號點歌功能,上次玩已經(jīng)是幾年前的事情了
主要講講實現(xiàn)根據(jù)不同的文本消息進行
之前 一般根據(jù)前面的詞進行匹配
這樣子雖然比較簡單,但是沒有辦法實現(xiàn)比較自定義的配置,例如 搜索愚者第2頁,用上述方式可能比較難以表達
于是決定使用 路由 方式進行定義,雖然降低了使用方便程度(hh),但是極大提高對資源描述的方便性
公眾號服務隨時關閉,僅用于學習交流
網(wǎng)站標題:go語言實現(xiàn)微信推送,go 語言 微服務
分享網(wǎng)址:http://chinadenli.net/article35/dsisjpi.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、、外貿(mào)建站、ChatGPT、動態(tài)網(wǎng)站、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)