GoEasy推送实时消息到web端

前段时间用goeasy实现了实时推送功能,这里写个工作笔记方便以后查看,也希望可以帮到其他需要实时推送的朋友。 
前段时间用goeasy实现了实时推送功能,这里写个工作笔记方便以后查看,也希望可以帮到其他需要实时推送的朋友。
Goeasy是第三方推送服务。如果自己使用原生态的socket.io, websocket进行开发的话,需要花时间研究如何实现,且不说把这两种技术运用的好不好,单是测试就够我忙了,你要进行压力测试、性能测试、功能测 试,总的来讲自己开发成本周期长、维护成本高,所以我选择了第三方推送服务。之后我对比了几个做推送的第三方产品,个人感觉goeasy推送更稳定,推送 速度快,代码简单易懂上手快,所以最后我推荐了goeasy给我的领导。 

推送的原理:GoEasy的实现原理很简单,就是推送消息的一端只负责推送,而需要接收的页面需要预先订阅。订阅什么呢?订阅channel。往 某个channel上推送消息,客户端就订阅相同的channel,这样就可以确保准确接收。通过channel我们可以自己指定哪些页面或哪些用户可以 接收到从这个channel上推送出来的消息。 

 
开发语言:Java 

 
Appkey是使用goeasy推送的“钥匙”。在goeasy官网上注册好之后创建一个free application, 创建好之后你就可以看到一个application有两个key.一个是supper key, 另一个是subscribe key。这个两个key的区别是:supper key既可以用于推送也可以用于订阅; 但subscribe key只可以用于订阅,它没有推送信息的权限。处于安全考虑,我用supper key来进行推送消息,用subscribe key来订阅消息。 

 
1) 引入goeasy.js 
<script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script> 

2) 连接goeasy 
<script type="text/javascript"> 
        if(typeof GoEasy !== ‘undefined‘){ 
            var goEasy = new GoEasy({ 
                appkey: ‘appkey‘, 
                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); 
                } 
            }); 
        } 
</script> 

3) 订阅channel 
function subscribe(){ 
  goEasy.subscribe({ 
            channel: ‘demo_channel‘, 
            onMessage: function(message){ 
                //当有消息推送到channel “demo_channel”时,控制台会自动打印出推送的消息 
                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); 
            } 

        }); 

} 

 

1)添加goeasy maven repository 到pom.xml 
<repositories> 
... 
  <repository> 
    <id>goeasy</id> 
    <name>goeasy</name> 
    <url>http://maven.goeasy.io/content/repositories/releases/</url> 
  </repository> 
</repositories> 
                       
                      
<dependencies> 
  ... 
  <dependency> 
    <groupId>io.goeasy</groupId> 
     <artifactId>goeasy-sdk</artifactId> 
      <version>0.3.1</version> 
  </dependency> 
</dependencies> 

这里需要注意的是,使用java的sdk时需要依赖两个jar包,请加入到你的项目里。 
gson.jar 
slf4j-api.jar 

2) 推送消息到channel 
GoEasy goEasy = new GoEasy("your supper key"); 
goEasy.publish("demo_channel","Welcome xueting",new PublishListener(){ 
            @Override 
            public void onFailed(GoEasyError error) { 
                System.out.println("Error code:"+ error.getCode() +"; error content:"+error.getContent()); 
            } 

            @Override 
            public void onSuccess() { 
                System.out.println("Publish success"); 
            } 
        }); 

针对没有使用maven的朋友,你们可以手动下载java的sdk. 下载地址:http://maven.goeasy.io/service/local/artifact/maven /redirect?r=releases&g=io.goeasy&a=goeasy-sdk&v=LATEST&e=jar 

如果你用的是其他开发语言, goeasy还提供了RestfulAPI在后台来推送消息。具体使用请参照goeasy 官网的参数使用及说明。 

所有推送的消息以及接收情况,可以登录到goeasy后台进行查看。考虑到信息的安全性,大家可以根据自身需求来决定是否在推送前对信息加密。 

感兴趣的朋友可以先到https://goeasy.io上先看看demo页面的效果。好了,希望这篇文章对大家有帮助。共勉……
 
时间: 2024-10-23 23:40:31

GoEasy推送实时消息到web端的相关文章

微信主动推送文本消息C#

1. 登陆,根据用户名和密码登陆到微信公众平台管理页面,获取token,模拟登陆请求地址:http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN,2. 登陆后,获取用户所有的信息,地址:https://mp.weixin.qq.com/cgi-bin/contactmanage?t=user/index&token=,根据前面的token.3. 发送消息,地址:https://mp.weixin.qq.com/cgi-bin/singlesend?t=a

C#微信公众号开发系列教程五(接收事件推送与消息排重)

微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C#微信公众号开发系列教程四(接收普通消息) C#微信公众号开发系列教程五(接收事件推送与消息排重) 在上一篇的博文中讲到,微信的消息可以大体分为两种类型,一种是包括:文本,语音,图片等的普通消息,另一种就是本篇要将的事件类型.包括:关注/取消关注事件,扫描带参数二维码事件,上报地理位置事件,自定义菜

.net平台借助第三方推送服务在推送Android消息(极光推送)

.net平台借助第三方推送服务在推送Android消息(极光推送) 最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS,Android,Windows Phone等设备消息,大喜,然后先做了IOS的,成功了,但是做Android的时候遇到了问题,一直推送不成功,程序执行了,但是推送一直出不来,后来费劲的在网上搜,没有找到,最后放弃使用这种推送And

.net开发微信公众号(3)-接收微信推送的消息

接收微信推送的消息 一.消息发送发式 用户发送的消息会被微信服务器转发到开发者服务器上(启动开发者模式时填的那个URL),开发者服务器接收到消息并处理完成会把消息再发回给微信服务器,再由微信服务器推送给用户.流程也非常简单. 二.接收消息分类 根据微信官方的文档说明,把接收消息分成两类: 1.普通消息 2.事件消息 事件消息除了这6种以为,还有一种是发送模板消息后返回的结果. 三.消息处理 接下来我们看下这些消息如何处理. 首先,做消息有效性验证.上一篇我们已经写了验证的方法,在这里直接用就行了

【转】手机应用为什么明明已经退出,还会收到推送的消息?

手机应用为什么明明已经退出,还会收到推送的消息? 是像电脑一样,应用退出后还会有某些残留程序未关闭吗?该如何完全关闭残留程序? 对于andriod用户来说经常有这种困扰,掏出你的手机,进入应用程序管理,杀掉所有应用,然后去泡杯茶,回来再看看你的手机你会神奇地发现,刚刚杀掉的应用很多都自己复活了,一个个的还活蹦乱跳的,时不时给你推送几条消息.其实andriod应用有几种复活方式: 监听系统事件:Android系统有一套广播机制,当系统发生了某件事的时候,它会通知给需要知道这件事情的所有应用.这套机

.net平台推送ios消息

1,ios应用程序中允许向客户推送消息 2,需要有苹果的证书以及密码(怎么获取,网上搜一下,需要交费的) 3,iphone手机一部,安装了该ios应用程序 4,.net 项目中引用PushSharp.Apple.dll,PushSharp.Core.dll(这两个文件在网上搜一下,有源码的) 5,开始写代码,定义全局的对象PushBroker pusher = new PushBroker(); 6,注册方法 protected void startApp() { pusher.Register

微信推送短消息

推送短消息:按照级别由低到高>> 公众号---->已认证公众号----->服务号----->已认证服务号------>企业号 前提:基于微信认证服务号 主动推送微信消息 1,关注服务号 2.在沙箱环境小操作 实现步骤: 1.注册账号 appID appsecret a.在网页授权获取用户基本信息, IP或者域名,正式环境必须是域名 b.关注公众号(已认证的服务号) c.生成二维码,用户扫描    此时,将用户信息发送给微信,微信再将数据发送给设置redirect_url

用GoEasy推送实现Java实时推送

前段时间客户有个需求他希望他在后台管理页面发布一个消息,所有用这个系统的用户无论在哪个页面都能及时收到他发布的信息,以前对于类似需求在少量 页面接收的前提下,我一般采用ajax定时去服务器pull信息下来,如果有就显示出来,但是这种方式非常消耗客户端的资源,后来我在网上查询到了一个第 三方的免费推送服务-GoEasy push, 它可以满足我的需求,下面是如何用GoEasy进行信息推送及接收: 1. 首先我需要在GoEasy官网上注册一个账号,注册完毕后,我可以自己添加application,a

C# 数据推送 实时数据推送 轻量级消息订阅发布 多级消息推送 分布式推送

前言 本文将使用一个NuGet公开的组件技术来实现数据订阅推送功能,由服务器进行推送数据,客户端订阅指定的数据后,即可以接收服务器推送过来的数据,包含了自动重连功能,使用非常方便 nuget地址:https://www.nuget.org/packages/HslCommunication/            github地址:https://github.com/dathlin/HslCommunication                                 如果喜欢可以s