实时消息推送与接收在各类项目中的需求日益增长。有什么办法能轻松搞定实时推送呢?答案就是GoEasy,一款超实用的第三方推送服务平台。
强大的浏览器兼容性
GoEasy在浏览器兼容方面表现出色。它支持websocket和polling两种连接方式,这意味着它能支持IE6及其以上的所有版本。无论是在老旧的办公电脑上使用IE浏览器,还是在主流的Firefox、Chrome、Safari等浏览器上,GoEasy都能稳定运行,为不同用户提供一致的实时推送体验。
这种广泛的兼容性,让开发者无需担心用户使用的浏览器类型,大大降低了开发的难度和成本。
支持多开发语言
对于开发者来说,不同的项目可能会使用不同的后台开发语言。GoEasy提供了Restful API接口,无论后台程序用的是Java、Python还是其他语言,都可以通过Restful API来实现后台实时推送。
这就好比为开发者提供了一把万能钥匙,无论遇到什么类型的锁,都能轻松打开。开发者可以根据项目需求,自由选择合适的开发语言,而不用担心实时推送的问题。
前后台推送均支持
GoEasy支持后台及前台推送。后台使用Restful API,前台使用goeasy.js,运用起来十分简单。在后台,开发者可以通过调用Restful API,轻松实现消息的推送。而在前台,引入goeasy.js后,就能方便地进行消息的订阅和接收。
这种前后台分离的设计,让开发者可以根据不同的需求,分别对前后台进行优化,提高开发效率。
使用GoEasy的步骤
使用GoEasy的第一步,需要到goeasy官网上注册一个账号,并创建一个应用。应用创建好后,系统会默认为它生成两个key:publish key和subscribe key。这两个key就像是打开实时推送大门的钥匙,非常重要。
前台实时订阅及接收也很简单,只需要引入goeasy.js,然后调用goeasy的subscribe方法订阅一个channel即可。订阅时,无论是用publish key还是subscribe key都可以。通过subscribe的参数onMessage的回调函数,还能实时接收到消息。
前台实时推送操作
前台实时推送同样便捷。如果该页面已经引入了goeasy.js,就无需再次引入。然后调用goeasy的publish方法,向已订阅的channel上推送消息即可。不过要注意,推送时只能用publish key。
这样的操作方式,让开发者可以在前台轻松实现消息的推送,为用户提供及时的信息。
推送原理清晰明了
GoEasy的实现原理很简单,推送消息的一端只负责推送,而需要接收的页面需要预先订阅。开发者可以订阅channel,往某个channel上推送消息,客户端就订阅相同的channel,这样就能确保准确接收。
GoEasy Test <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script> <script type="text/javascript"> if(typeof GoEasy !== 'undefined'){ var goEasy = new GoEasy({ appkey: 'ba821151-e043-4dfb-a954-c73744c8d323', userId:"222", username:"22", onConnected:function(){ console.log("Connect to GoEasy success."); } , onDisconnected:function(){ console.log("Disconnect to GoEasy server."); } , onConnectFailed:function(error){ console.log("Connect to GoEasy failed, error code: "+ error.code+" Error message: "+ error.content); } }); } subscribe(); function subscribe(){ goEasy.subscribe({ channel: 'notification', onMessage: function(message){ console.log('Meessage received:'+message.content); }, onSuccess:function(){ console.log("Subscribe the Channel successfully."); }, onFailed: function(error){ console.log("Subscribe the Channel failed, error code: "+ error.code + " error message: "+ error.content); } }); } function publishMessage(){ goEasy.publish({ channel: 'notification', message: 'You received a new notification', onSuccess:function(){ console.log("Publish message success."); }, onFailed: function(error){ console.log("Publish message failed, error code: "+ error.code +" Error message: "+ error.content); } }); } function unsubscribe(){ goEasy.unsubscribe({ channel:"notification", onSuccess: function(){ console.log("Cancel Subscription successfully."); }, onFailed: function(error){ console.log("Cancel the subscrition failed, error code: "+ error.code + "error message: "+ error.content); } }); } </script> <body>