雲巴-JavaScript API測試與實例(新)

1、雲巴介紹

  給你們推薦一個提供後臺消息服務的服務供應商,我的用戶通常是免費的,可做爲開發者的後臺服務提供商。javascript

  官網css

  專一於爲須要實時數據交換的產品提供完美解決方案。支持包括 手機、Web、智能設備 的幾乎全部平臺。html

2、JavaScript JDK下載與引入

   JDK下載java

3、應用實例

一個簡單的瀏覽器端接收雲巴消息demo

1.引入bootstrap做爲默認樣式插件

創建一個client.html並引入 bootstrap
<!DOCTYPE html>
<html>
<head>
<title>雲巴推送---消息收聽</title>

	<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="bootstrap.min.css">

<!-- 可選的Bootstrap主題文件(通常不用引入) -->
<!-- <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> -->

<!-- jQuery文件。務必在bootstrap.min.js 以前引入 -->
<!-- <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> -->
<script src="jquery-1.10.2.min.js"></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="bootstrap.min.js"></script>

</div>
</body>
</html>

2.依次引入socket.io 和 yunba-js-sdk.js

注意:必定先引入socket.io再引入yunba-js-sdk.js
 
<script src="socket.io-1.3.5.min.js"></script>

<script src="yunba-js-sdk.js"></script>


3.創建client.js並繪製client.html的UI

client.html最終代碼以下
 
<!DOCTYPE html>
<html>
<head>
<title>雲巴推送---消息收聽</title>

	<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="bootstrap.min.css">

<!-- 可選的Bootstrap主題文件(通常不用引入) -->
<!-- <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> -->

<!-- jQuery文件。務必在bootstrap.min.js 以前引入 -->
<!-- <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> -->
<script src="jquery-1.10.2.min.js"></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="bootstrap.min.js"></script>



<script src="socket.io-1.3.5.min.js"></script>

<script src="yunba-js-sdk.js"></script>

<script src="client.js"></script>


</head>
<body>



<div class="jumbotron">
  <div class="container">
    <h1>Hello, Yunba!</h1>
  <p>點擊訂閱接受推送消息</p>
  <p><a class="btn btn-primary btn-lg" href="#" role="button">訂閱</a></p>
  </div>
</div>

<div class="dialog">
	<h3>消息框</h3>
	<textarea class="form-control" rows="6" disabled="">
		
	</textarea>
</div>
</body>
</html>


4.client.js 

1.new Yunba()
首先引入確保client.js在client.html中的引用順序,並添加以下代碼實例化yunba。在appkey處填寫你本身的 appkey(請先註冊帳號並創建一個應用)
 
var yunba = new Yunba({server: 'sock.yunba.io', port: 3000, appkey: "your appkey"});
 
2.yunba.init
使用yunba.init方法初始化雲巴,並鏈接雲巴服務器
 
yunba.init(function (success) {
    if (success) {
       $(".container").append("<p>初始化成功</p>");
        console.log('初始化成功');
       mqtt_connect();
       
    }
}, function () {

	//從新鏈接
    
});

3.yunba.connect_by_customid(cid, connected);
使用yunba.connect_by_customid(cid, connected)方法鏈接響應應用
 
 function mqtt_connect() {
        var cid = "8888";
        var connected = function(success, msg, sessionid) {
          if (success) {
           $(".container").append("<p>鏈接成功</p>");
            console.log('鏈接成功');
          } else {
            alert(msg);
          }
        };

        if (!cid || cid.length === 0) {
          alert('請輸入自定義ID');
        } else {
          yunba.connect_by_customid(cid, connected);
        }
    }


 
4.yunba.subscribe
使用yunba.subscribe方法定義訂閱的頻道
 
 
function Yunba_subscribe(){
//默認一個12345頻道
var topic = "12345";
yunba.subscribe({'topic': topic}, 
    function (success, msg) {
        if (success) {
            console.log('你已成功訂閱頻道:12345');
            $(".dialog textarea").val("你已成功訂閱頻道:12345");
        } else {
            console.log(msg);
        }
    }
);
 
5.yunba.set_message_cb
使用yunba.set_message_cb來實時監聽並接受雲巴消息
 
yunba.set_message_cb(function (data) {
    console.log('Topic:' + data.topic + ',Msg:' + data.msg);
    var val = $(".dialog textarea").val();
    $(".dialog textarea").val(val+'\r\n'+"來自雲巴:"+data.topic+"的消息:"+data.msg+"");
});



6.最終client.js代碼以下,已經能夠在雲巴官網的應用界面向訂閱了相應頻道(「12345」)的web頁面發送消息並實時響應
 
var yunba = new Yunba({server: 'sock.yunba.io', port: 3000, appkey: ""});



yunba.init(function (success) {
    if (success) {
       $(".container").append("<p>初始化成功</p>");
        console.log('初始化成功');
       mqtt_connect();
       
    }
}, function () {

	//從新鏈接
    
});

 function mqtt_connect() {
        var cid = "8888";
        var connected = function(success, msg, sessionid) {
          if (success) {
           $(".container").append("<p>鏈接成功</p>");
            console.log('鏈接成功');
          } else {
            alert(msg);
          }
        };

        if (!cid || cid.length === 0) {
          alert('請輸入自定義ID');
        } else {
          yunba.connect_by_customid(cid, connected);
        }
    }
$(document).ready(function(e){
  $(document).on("click","a",function(){
    console.log('訂閱點擊');
    Yunba_subscribe();
  })
})

function Yunba_subscribe(){

var topic = "12345";
yunba.subscribe({'topic': topic}, 
    function (success, msg) {
        if (success) {
            console.log('你已成功訂閱頻道:12345');
            $(".dialog textarea").val("你已成功訂閱頻道:12345");
        } else {
            console.log(msg);
        }
    }
);


}




yunba.set_message_cb(function (data) {
    console.log('Topic:' + data.topic + ',Msg:' + data.msg);
    var val = $(".dialog textarea").val();
    $(".dialog textarea").val(val+'\r\n'+"來自雲巴:"+data.topic+"的消息:"+data.msg+"");
});
相關文章
相關標籤/搜索