本篇文章給大家分享的是有關微信小程序中怎么使用GoEasy實現實時通訊,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
GoEasy官網(
https://www.goeasy.io/)上注冊賬號,創建一個應用,拿到您的appkey。
GoEasy提供了兩種類型的appkey:
Common key: 即可以接收消息,也可以發送消息,與Subscribe Key最大的區別就是有寫權限,可以發消息。適用于有消息發送需求的客戶端和服務端開發。
Subscribe key: 只能接收消息,不可以發送消息,與Common Key最大的區別就是沒有寫權限,只能收消息??梢杂糜谝恍]有發送需求的客戶端。
下載 https://cdn.goeasy.io/download/goeasy-1.0.11.js
import GoEasy from './goeasy-1.0.11';
var self = this; this.goeasy = GoEasy({ host: 'hangzhou.goeasy.io', appkey: "您的appkey", onConnected: function () { console.log("GoEasy connect successfully."); self.unshiftMessage("連接成功."); }, onDisconnected: function () { console.log("GoEasy disconnected.") self.unshiftMessage("連接已斷開."); }, onConnectFailed: function (error) { console.log(error); self.unshiftMessage("連接失敗,請檢查您的appkey和host配置"); } })
根據您在GoEasy后臺創建應用時選擇的區域,來傳入不同的Host,如果您創建GoEasy應用時,選擇了杭州,那么host:”hangzhou.goeasy.io”。選擇了新加坡,host:”singapore.goeasy.io”。
如果您的大部分用戶都是在國內,創建應用時,記得選擇杭州,以便獲得更快的通訊速度。
var self = this; this.goeasy.subscribe({ channel: "my_channel", onMessage: function (message) { self.unshiftMessage(message.content); }, onSuccess: function () { self.unshiftMessage('訂閱成功.'); } });
很多朋友會問channel從哪里來,如何創建,應該傳入什么呢?
根據您的業務需求來設定,channel可以為任意字符串,除了不能包含空格,和不建議使用中文外,沒有任何限制,只需要和消息的發送端保持一致,就可以收到消息。channel可以是您直播間的uuid,也可以是一個用戶的唯一表示符,可以任意定義,channel不需要創建,可以隨用隨棄。
發送時,需要注意channel一定要和subscribe的channel完全一致,否則無法收到。
this.goeasy.publish({ channel: "my_channel", message: self.data.message, onSuccess: function () { self.setData({ message: '' }); //清空發送消息內容 console.log("send message success"); }, onFailed: function (error) { self.unshiftMessage('發送失敗,請檢查您的appkey和host配置.'); } });
本代碼源碼下載: https://gitee.com/goeasy-io/GoEasyDemo-wxapp-Helloworld
特別強調:
在運行之前,一定要在微信公眾號平臺配置socket合法域名,否則無法建立連接。具體步驟:
訪問
https://mp.weixin.qq.com,進入微信公眾平臺|小程序 -> 設置 -> 開發設置 -> 服務器域名
socket合法域名-> 添加GoEasy的地址: wx-hangzhou.goeasy.io(記得wx-開頭)
若您創建GoEasy應用時選擇了新加坡區域則添加地址:wx-singapore.goeasy.io
當然可以,任何語言都可以通過調用GoEasy的Rest API發送消息,同時為了大家方便,GoEasy的官方文檔里,也準備了Java, C#,NodeJS,PHP,Ruby和Python等常見語言調用REST API的代碼,這里獲取更多詳情: https://www.goeasy.io/cn/doc/server/publish.html
當然可以,您可以通過推送文件路徑的方式來實現文件的發送。
按照行業慣例,不論MSN,微信,QQ對于圖片和視頻,通常的做法都是,只推送文件路徑,而不會推送文件本身。你如果有注意的話,當您接受圖片和視頻的時候,收到消息后,等一會兒才能看,就是因為發送的時候,只發送了路徑。
小程序官方的websocket API主要是用來與您的websocket服務通訊,所以使用小程序websocket的前提是,首先要搭建好您自己的websocket服務,然后與之通訊。這是一個純技術的API,在建立網絡連接后,還有很多的工作需要自己來完成,比如:
需要自己實現心跳機制,來維護網絡連接,來判斷客戶端的網絡連接狀態;
需要自己實現斷網自動重連;
需要自己維護消息列表,確保遇到斷網重連后,消息能夠補發;
需要自己維護一個客戶端列表;
等等很多細致而繁雜的工作,比如websocket的安全機制和性能優化;
此之外服務端也有很多工作需要自己完成,有興趣自己搭建websocket的話,可以參考這篇技術分享《 搭建websocket消息推送服務,必須要考慮的幾個問題》
而GoEasy是一個成熟穩定的企業級websocket PAAS服務平臺,開發人員不需要考慮websocket服務端的搭建,只需要幾行代碼,就可以輕松實現客戶端與客戶端之間,服務器與客戶端之間的的websocket通信,不需要考慮性能,安全,高可用集群的問題,只需要全力專注于開發自己的業務功能就好了。
GoEasy已經內置websocket中必備的心跳,斷網重連,消息補發,歷史消息和客戶端上下線提醒等特性,開發人員也不需要自己搭建websocket服務處理集群高可用,安全和性能問題。GoEasy已經穩定運行了5年,支持千萬級并發,成功支撐過很多知名企業的重要活動,安全性和可靠性都是久經考驗。
從應用場景上來說,所有需要websocket通信的場景,GoEasy都可以完美支持:
聊天,IM,直播彈幕,用戶上下線提醒, 在線用戶列表
掃碼點菜,掃碼登錄, 掃碼支付, 掃碼簽到, 掃碼打印
事件提醒,工單,訂單實時提醒
在線拍賣, 在線點餐,在線選座 實時數據展示,實時監控大屏, 金融實時行情顯示,設備監控系統
實時位置跟蹤,外賣實時跟蹤,物流實時跟蹤
遠程畫板,遠程醫療,游戲,遠程在線授課
以上就是微信小程序中怎么使用GoEasy實現實時通訊,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。