为了方便开发者快速接入,百城推送推出了适用于常规 Web、H5、Vue 等支持 WebSocket 项目的 WebSDK。
SDK与REST API对接的主要区别在于SDK封装了连接、发送消息、接收消息、错误监听等方法,您只需要调用即可,免去了大量重复的开发工作。
SDK & DEMO
引入SDK
SDK的引入很简单,只需要通过 script 标签引入即可。
初始化SDK
var xbcim = XBCIM.init(token);
1、参数 token 为连接授权码,需要通过平台注册账号的 appKey 等参数进行获取,具体方法请参考 获取授权码。
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 为要发送的消息数据,其具体参数及含义如下:
参数 | 描述 |
---|---|
msgType | 消息类型,默认文本,支持其他自定义消息类型 |
source | 消息发送者ID |
target | 消息接收者ID |
content | 消息内容,字符串 |
extra | 额外数据,支持任意格式 |
创建(加入)群聊
xbcim.addGroup(data);
data 为JSON格式,其具体参数及含义如下:
参数 | 描述 |
---|---|
target | 群ID |
extra | 成员ID,数组格式,需要注意的是:如果群为新群时,需要将自己的ID也加入到成员里面 |
退出群聊
xbcim.quitGroup(data);
data 为JSON格式,其具体参数及含义如下:
参数 | 描述 |
---|---|
target | 群ID |
extra | 成员ID,数组格式 |
删除群聊
xbcim.delGroup(data);
data 为JSON格式,其具体参数及含义如下:
参数 | 描述 |
---|---|
target | 群ID |
发送群聊
xbcim.sendGroup(data);
data 为要发送的消息数据,其具体参数及含义如下:
参数 | 描述 |
---|---|
msgType | 消息类型,默认文本,支持其他自定义消息类型 |
source | 消息发送者ID |
target | 群ID |
content | 消息内容,字符串 |
extra | 额外数据,支持任意格式 |
接收消息
xbcim.onmessage(callback);
callback 回调,回调会返回接收到的消息数据。