為了方便開發者快速接入,百城推送推出了適用于常規 Web、H5、Vue 等支持 WebSocket 項目的 WebSDK。
SDK與REST API對接的主要區別在于SDK封裝了連接、發送消息、接收消息、錯誤監聽等方法,您只需要調用即可,免去了大量重復的開發工作。
#### SDK & DEMO
[下載WebSDK](https://console.xiangbaicheng.com/static/xbcim_jssdk_1.0.0.min.js)
#### 引入SDK
SDK的引入很簡單,只需要通過 script 標簽引入即可。
#### 初始化SDK
```
var xbcim = XBCIM.init(token);
```
1、參數 token 為連接授權碼,需要通過平臺注冊賬號的 appKey 等參數進行獲取,具體方法請參考[獲取授權碼](https://console.xiangbaicheng.com/doc/token.html)。
2、參數可以直接傳遞 token 字符串,也可以傳入 json 格式,如 { token: token }。
3、初始化時,默認就會創建WebSocket鏈接。
#### 監聽初始化成功
```
xbcim.onsuccess(callback);
// callback回調,可以在里面進行連接成功后的其他邏輯操作。
```
#### 監聽錯誤
```
xbcim.onerror(callback);
```
1、onerror 會監聽初始化失敗、token 校驗等錯誤回調。
2、callback回調,可以在里面進行連接成功后的其他邏輯操作。
#### 監聽連接是否斷開
```
xbcim.onclose(callback);
// callback回調,可以在里面進行連接斷開后的其他邏輯操作。
```
#### 手動斷開連接
```
xbcim.close(callback);
// callback回調,可以在里面進行連接斷開后的其他邏輯操作。
```
#### 重新連接
```
xbcim.reconnect();
```
#### 發送單聊
```
xbcim.sendSingle(data);
```
data 為要發送的消息數據,其具體參數及含義如下:
| 參數 | 描述 |
| --- | --- |
| type | 消息類型,默認文本,支持其他自定義消息類型 |
| source | 消息發送者ID |
| target | 消息接收者ID |
| content | 消息內容,字符串 |
| extra | 額外數據,支持任意格式 |
#### 發送群聊
```
xbcim.sendGroup(data);
```
data 為要發送的消息數據,其具體參數及含義如下:
| 參數 | 描述 |
| --- | --- |
| type | 消息類型,默認文本,支持其他自定義消息類型 |
| source | 消息發送者ID |
| target | 群ID |
| content | 消息內容,字符串 |
| extra | 額外數據,支持任意格式 |
#### 接收消息
```
xbcim.onmessage(callback);
// callback 回調,回調會返回接收到的消息數據。
```