为了方便开发者快速接入,百城推送推出了适用于 UNIAPP 开发的IOS、Android、H5、微信小程序、支付宝小程序、百度小程序、字节跳动小程序、QQ小程序、360小程序、快应用等项目的 UniappSDK。
#### SDK & DEMO
[下载UniappSDK](https://console.xiangbaicheng.com/static/xbcim_uniappsdk_1.0.0.min.js)[下载DEMO](https://ext.dcloud.net.cn/plugin?id=3934)
#### 引入SDK
可以通过在 main.js 中引入,然后挂载到 Vue.prototype 上,示例如下:
```
import XBCIM from 'plugins/xbcim\_sdk\_1.0.0.min.js'
Vue.prototype.$xbcim = XBCIM
```
#### 初始化SDK
```
this.$xbcim.init(token)
```
1、参数 token 为连接授权码,需要通过平台注册账号的 appKey 等参数进行获取,具体方法请参考[获取授权码](https://console.xiangbaicheng.com/doc/token.html)。
2、参数可以直接传递 token 字符串,也可以传入 json 格式,如 { token: token }。
3、初始化时,默认就会创建WebSocket链接。
#### 监听初始化成功
```
this.$xbcim.onsuccess(callback)
```
callback回调,可以在里面进行连接成功后的其他逻辑操作。
#### 监听错误
```
this.$xbcim.onerror(callback);
```
1、onerror 会监听初始化失败、token 校验等错误回调。
2、callback回调,可以在里面进行连接成功后的其他逻辑操作。
#### 监听连接是否断开
```
this.$xbcim.onclose(callback);
```
callback回调,可以在里面进行连接断开后的其他逻辑操作。
#### 手动断开连接
```
this.$xbcim.close(callback);
```
callback回调,可以在里面进行连接断开后的其他逻辑操作。
#### 重新连接
```
this.$xbcim.reconnect();
```
#### 发送单聊
```
this.$xbcim.sendSingle(data);
```
data 为要发送的消息数据,其具体参数及含义如下:
| 参数 | 描述 |
| --- | --- |
| type | 消息类型,默认文本,支持其他自定义消息类型 |
| source | 消息发送者ID |
| target | 消息接收者ID |
| content | 消息内容,字符串 |
| extra | 额外数据,支持任意格式 |
#### 发送群聊
```
this.$xbcim.sendGroup(data);
```
data 为要发送的消息数据,其具体参数及含义如下:
| 参数 | 描述 |
| --- | --- |
| type | 消息类型,默认文本,支持其他自定义消息类型 |
| source | 消息发送者ID |
| target | 群ID |
| content | 消息内容,字符串 |
| extra | 额外数据,支持任意格式 |
#### 接收消息
```
this.$xbcim.onmessage(callback);
```
callback 回调,回调会返回接收到的消息数据。