WEB消息推送—GoEasy

web实时推送的技术在大多数项目里面都会用到,尤其是一些实时性要求高的项目,关于这方面的实现技术有许多,类似于webscoket、dwr、comet4j和netpush等等,其中在以往的篇幅里我也介绍了dwr。以上的技术实现,最大的优点就是免费自主开发,可是在兼容一些主流的浏览器差强人意,比如我用dwr写的消息推送,在火狐基本上秒推,可是在IE浏览器或360浏览器等会延时,甚至以上技术在某些浏览器还不能推送,调试兼容性是一个噩耗,另外一个就是不管以上的技术是基于长连接或长轮询都会占据你的服务器性能。在此推荐一款不错的web消息推送服务——goeasy

关于goeasy的文档和资料可以去官网http://goeasy.io/  ,这是个收费的产品,会给你3个月免费试用期,针对不同的并发数量和消息发送条数都有价格明细,在此不赘述。

第一步先去官网注册账号,创建一个应用,分免费试用的和收费的,创建完有个key

第二步在你的java项目pom文件引入依赖

<repositories>
    	
        ...
         <!-- GoEasy消息推送 -->
        <repository>
           <id>goeasy</id>
           <name>goeasy</name>
           <url>http://maven.goeasy.io/content/repositories/releases/</url>
        </repository>
        
 </repositories>
</dependencies>
     ...
 <!-- GoEasy消息推送 -->
    <dependency>
      <groupId>io.goeasy</groupId>
      <artifactId>goeasy-sdk</artifactId>
      <version>0.3.5</version>
    </dependency>
</dependencies>

第三步在你的java后台发布频道,频道可以无限个

GoEasy goEasy = new GoEasy("你的key");
goEasy.publish("频道名称","弹出的消息提示");

第四步在你需要提示的jsp页面

<script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>
<script type="text/javascript">
var goEasy = new GoEasy({
		appkey: "你的key"
	});
goEasy.subscribe({
		channel: "c1-"+groupId+"-"+projectId+"-"+userId,
		onMessage: function (message) {
		 if(confirm(message.content)){			 
			window.location.reload();
		 }else{
			window.location.reload();
		 }   			
		}      
	});
</script>

如果想实现精准推送,给不同的用户推送不同的消息,在页面获取当前登录人id,在后台发布频道时就把id作为频道名即可。

还可以在goeasy后台登录,查看你每天发送的频道和接收频道的详细情况




你可能感兴趣的:(web消息推送,goeasy)