发现一个服务器推送和牛逼的 就是链接数如果达到一定量级的话就要收费的。
废话不多说,直接进入正题,如何实现:
1. 从GoEasy获取appkey
appkey是验证用户的有效性的唯一标识。
- 注册账号。 GoEasy官网:http://goeasy.io
- 用注册好的账号登录到GoEasy的后台管理系统,创建您自己应用(application).
- Application创建好之后系统会自动为您生成appkey
系统会生成两个keys,一个Super key和一个Subscribe key;它们的区别在于前者既可以订阅又可以推送,但后者只能用于订阅。
2. GoEasy实现向特定用户群推送的原理
知道了他们的推送原理,可以更加方便我们了解他们的服务,以及理解我们写的代码。其实原理很简单,只需要确定哪些用户需要接收信息,然后让这些用户都订阅一个相同的channel(频道)。 然后再往这个平台上推送消息即可!所有关键在于channel,channel一致,则可以接收到信息,否则收不到!
对于订阅必须要的信息有:Appkey, channel
对于推送必须要的信息有:Appkey, channel, content
3. 用GoEasy实现订阅(接收)的实例
1 <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script> 2 3 <script type="text/javascript"> 4 var goEasy = new GoEasy({appkey: 'your appkey'}); 5 goEasy.subscribe({ 6 channel: 'your_channel', 7 onMessage: function(message){ 8 alert('接收到消息:'+message.content);//拿到了信息之后,你可以做你任何想做的事 9 } 10 }); 11 </script>
有了这几行代码后,只要保证网络畅通的情况下,页面会自动弹出你从任何平台上推送的信息。
4. 用GoEasy实现推送及接收的实例
目前GoEasy支持三种推送方式: Java后台推送(它们有提供JAVA SDK和 maven远程仓库), JS推送,RestAPI推送(有了RestAPI,我们就可以用PHP, .NET, Ruby…来推送信息了,很方便)
说了这么多,来我们看一下怎么用GoEasy的三种方式分别实现推送吧。
4.1. 用GoEasy SDK推送
1. Java SDK的获取方式,方式一,直接在goeasy的官网上进行下载;方式二,用maven远程库直接导入到项目中。尽管官网上已经做了相同的说明了,我这里还是把关键点帖出来,方便大家查看。
GoEasy SDK下载链接:http://maven.goeasy.io/service/local/artifact/maven/redirect?r=releases&g=io.goeasy&a=goeasy-sdk&v=0.3.3&e=jar
GoEasy远程maven库的配置:
1 <repository> 2 <id>goeasy</id> 3 <name>goeasy</name> 4 <url>http://maven.goeasy.io/content/repositories/releases/</url> 5 </repository> 6 … 7 <dependency> 8 <groupId>io.goeasy</groupId> 9 <artifactId>goeasy-sdk</artifactId> 10 <version>0.3.3</version> 11 </dependency>
需要注意的是:GoEasy需要依赖两个额外的jar 包:
gson.jar : http://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.3.1/gson-2.3.1.jar
slf4j-api.jar : http://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar
2. 实例化GoEasy对象
1 GoEasy goEasy = new GoEasy("your appkey");
c. 推送消息
1 goEasy.publish('your_channel', 'First message');
4.2. JS推送
a. 引入goeasy.js
1 <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>
b. 实例化Goeasy对象,并用publish函数进行推送
1 <script type="text/javascript"> 2 var goEasy = new GoEasy({appkey: 'your appkey'}); 3 goEasy. publish ({ 4 channel: 'your_channel', 5 message: 'Second message!' 6 }); 7 </script>