如何使用GoEasy實現web實時推送--GoEasy推送

以前項目須要作一個推送功能,最開始我沒有想過用第三方推送服務。想着能夠用已知技術方式完成,例如定時到服務器看看是否有新的消息,有的話,就讀 取下來並顯示,可是這種方式很浪費客戶以及服務器的資源,固然這種方式在咱們項目裏是不可取的。再後來我在網上搜了一些,說是能夠用web socket實現個人功能,可是我在網上查了一下使用方式,看了一上午一頭霧水。即便我能夠一週兩週內用websocket實現個人推送,那我又拿什麼來 保證我本身寫的推送程序的到達率和速度呢?維護成本必定也會隨着增長!何況咱們也不容許花太多開發成本在這個項目上!javascript

通過上面的一番周折後,我跟項目組提出使用第三方的推送服務,緣由很簡單,第三方推送服務能夠知足咱們的需求,縮短咱們的開發測試維護成本,術業有 專攻,它們在推送方面更有優點,服務質量也有保證!通過幾番對比後,咱們最終決定使用了GoEasy推送。 它真正的從根本上解決了咱們的問題!對於他們的服務質量很滿意,註冊成功後,你能夠得到他們的聯繫方式,問題處理得很及時,不像有些公司的客服,發封郵件 好幾天都沒有任何信息!從而也解決了咱們的後顧之憂!java

 JAVA Web實時消息後臺服務器推送技術web

GoEasy實現向特定用戶羣推送的原理:

知道了他們的推送原理,能夠更加方便咱們瞭解他們的服務,以及理解咱們寫的代碼。其實原理很簡單,只須要肯定哪些用戶須要接收信息,而後讓這些用戶 都訂閱一個相同的channel(頻道)。 而後再往這個平臺上推送消息便可!全部關鍵在於channel,channel一致,則能夠接收到信息,不然收不到!服務器

對於訂閱必需要的信息有:Appkey, channel對於推送必需要的信息有:Appkey, channel, contentwebsocket

廢話很少說,直接進入正題,如何實現:網絡

從GoEasy獲取appkey

appkey是驗證用戶的有效性的惟一標識。app

  1. 註冊帳號: GoEasy官網: https://goeasy.iosocket

  2. 用註冊好的帳號登陸到GoEasy的後臺管理系統,建立您本身應用(application).
    Application建立好以後系統會自動爲您生成appkeyjsp

系統會生成兩個keys,一個Super key和一個Subscribe key;它們的區別在於前者既能夠訂閱又能夠推送,但後者只能用於訂閱。maven

用GoEasy實現訂閱(接收)的實例

<script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>
<script type="text/javascript">
 var goEasy = new GoEasy({appkey: 'your appkey'});
 goEasy.subscribe({ channel: 'your_channel', onMessage: function(message){ alert('接收到消息:'+message.content);//拿到了信息以後,你能夠作你任何想作的事 } });
</script>

有了這幾行代碼後,只要保證網絡暢通的狀況下,頁面會自動彈出你從任何平臺上推送的信息。

用GoEasy的三種方式實現推送及接收

目前GoEasy支持三種推送方式: Java後臺推送(它們有提供JAVA SDK和 maven遠程倉庫), JS推送,RestAPI推送(有了RestAPI,咱們就能夠用PHP, .NET, Ruby…來推送信息了,很方便)

說了這麼多,來咱們看一下怎麼用GoEasy的三種方式分別實現推送吧.

用GoEasy SDK推送

  1. 引入GoEasy SDK

    方式一,直接在goeasy的官網上進行下載. GoEasy SDK下載連接:<http://maven.goeasy.io/service/local/artifact/maven/redirect?r=releases&g=io.goeasy&a=goeasy-sdk&v=LATEST&e=jar>
    
    方式二,用maven遠程庫直接導入到項目中,下面是GoEasy遠程maven庫的配置
    <repository>
     <id>goeasy</id>
     <name>goeasy</name>
     <url>http://maven.goeasy.io/content/repositories/releases/</url>
    </repository>
    …
    <dependency>
     <groupId>io.goeasy</groupId>
     <artifactId>goeasy-sdk</artifactId>
     <version>0.3.1</version>
    </dependency>
  2. 實例化GoEasy對象並推送

    GoEasy goEasy = new GoEasy("your appkey");
    goEasy.publish('your_channel', 'First message');

JavaScript推送

  1. 引入goeasy.js

    <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>
  2. 實例化Goeasy對象,並用publish函數進行推送

    <script type="text/javascript">
     var goEasy = new GoEasy({appkey: 'your appkey'});
     goEasy. publish ({ channel: 'your_channel', message: 'Second message!' });
    </script>

用RestAPI進行推送

URL: https://goeasy.io/goeasy/publish
Method: post
參數:appkey, channel, content
例如: https://goeasy.io/goeasy/publish?appkey={your_appkey}&channel={your_channel}&content={your_message}

GoEasy官網: https://goeasy.io

快速入門: https://goeasy.io/www/started.jsp

文檔下載: https://goeasy.io/www/docs.jsp

相關文章
相關標籤/搜索