1. 程式人生 > >goEasy伺服器推送技術

goEasy伺服器推送技術

發現一個伺服器推送和牛逼的 就是連結數如果達到一定量級的話就要收費的。

廢話不多說,直接進入正題,如何實現:

1. 從GoEasy獲取appkey

appkey是驗證使用者的有效性的唯一標識。

  • 用註冊好的賬號登入到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遠端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>
複製程式碼