SDK 迁移
当前文档仅适用于已集成 uni-app 旧版 SDK RCUniIM 的客户。
关于 uni-app RCUniIM 旧版 SDK 的说明
uni-app RCUniIM SDK 已不再进行维护,开发文档不再公开提供,建议已集成旧版 RCUniIM 的客户迁移到新版本 RCUniIMV2。新版本 SDK 整体进行了优化重构,后期所有新功能都将在新版 SDK 中进行添加。
新集成的客户,请直接使用新版 RCUniIMV2。详见快速上手。
以下版本已不再维护,为避免给您带来不便,建议获取最新版本使用。
迁移注意事项
注意
- 新版本 SDK 更换了插件,旧的插件不再进行维护。
- 新版本 SDK 版本接口相对于旧版本有较大的接口变化,请开发者合理安排开发周期。
- 新版本 SDK 自定义消息不需要开发者处理,且与旧版本定义的自定义消息不兼容。
使用区别
-
新版本的 SDK 接口需要使用
RCIMIWEngine
的实例对象进行调用,且有完整的生命周期,所以构建对象后需要开发者进行保存,以便后续接口调用。(旧版本的接口为开发者直接调用对应功能的静态方法。) -
新版本 SDK 接口所有接口调用返回都是
Promise
,开发者请注意Promise
泛型参数的数据类型。新版本 SDK 接口大部分的结果处理,都不在当前接口进行体现,需要开发者实现对应的方法回调进行处理,且如果接口调用多次,SDK 都会触发同一个回调,但回调中会返回接口调用参数,需要开发者根据参数来进行区分。从 SDK 5.4.0 版本起,大部分接口新增了callback
参数, 方法调用成功后的数据会在callback
中回调给开发者. -
新版本 SDK 如果多处设置同一个监听,只有最后一次设置才会生效。为避免其余监听失效而引起问题,建议全局只设置一次。
使用示例
接口调用:
-
构建引擎对象
let appkey = 'xxx'
let options = {}
let yourEngine = null
// 除监听方法外,接口需要使用 await 或者 .then
RCIMIWEngine.create(appKey,options).then((res) => {
console.log('初始化引擎res---', res)
yourEngine = res
}); -
调用接口
let token = 'your token'
let timeout = 6
let code = await yourEngine.connect(token,timeout) -
退出登录
// 断开链接,是否继续接收推送
let receivePush = true
let code = await yourEngine.disconnect(receivePush) -
销毁引擎
let code = await yourEngine.destroy()
接口监听:
开发者在调用方法时,必须先设置好方法对应的监听,然后再调用方法。
// 链接监听
engine.setOnConnectedListener((res) => {
console.log('setOnConnectedListener 监听:',res)
})
// 链接状态改变监听
engine.setOnConnectionStatusChangedListener((res) => {
console.log('setOnConnectedListener 监听:',res)
})