跳到主要内容

SDK 迁移

当前文档仅适用于已集成 uni-app 旧版 SDK RCUniIM 的客户。

关于 uni-app RCUniIM 旧版 SDK 的说明

uni-app RCUniIM SDK 已不再进行维护,开发文档不再公开提供,建议已集成旧版 RCUniIM 的客户迁移到新版本 RCUniIMV2。新版本 SDK 整体进行了优化重构,后期所有新功能都将在新版 SDK 中进行添加。

新集成的客户,请直接使用新版 RCUniIMV2。详见快速上手

以下版本已不再维护,为避免给您带来不便,建议获取最新版本使用。

  1. RCUniIM
  2. RongCloud-IMWrapper

迁移注意事项

注意

  1. 新版本 SDK 更换了插件,旧的插件不再进行维护。
  2. 新版本 SDK 版本接口相对于旧版本有较大的接口变化,请开发者合理安排开发周期。
  3. 新版本 SDK 自定义消息不需要开发者处理,且与旧版本定义的自定义消息不兼容。

使用区别

  1. 新版本的 SDK 接口需要使用 RCIMIWEngine 的实例对象进行调用,且有完整的生命周期,所以构建对象后需要开发者进行保存,以便后续接口调用。(旧版本的接口为开发者直接调用对应功能的静态方法。)

  2. 新版本 SDK 接口所有接口调用返回都是 Promise,开发者请注意 Promise 范型参数的数据类型。新版本 SDK 接口大部分的结果处理,都不在当前接口进行体现,需要开发者实现对应的方法回调进行处理,且如果接口调用多次,SDK 都会触发同一个回调,但回调中会返回接口调用参数,需要开发者根据参数来进行区分。从 SDK 5.4.0 版本起,大部分接口新增了 callback 参数, 方法调用成功后的数据会在 callback 中回调给开发者.

  3. 新版本 SDK 如果多处设置同一个监听,只有最后一次设置才会生效。为避免其余监听失效而引起问题,建议全局只设置一次。

使用示例

接口调用:

  1. 构建引擎对象

    let appkey = 'xxx'
    let options = {}
    let yourEngine = null
    // 除监听方法外,接口需要使用 await 或者 .then
    RCIMIWEngine.create(appKey,options).then((res) => {
    console.log('初始化引擎res---', res)
    yourEngine = res
    });
  2. 调用接口

    let token = 'your token'
    let timeout = 6
    let code = await yourEngine.connect(token,timeout)
  3. 退出登录

    // 断开链接,是否继续接收推送
    let receivePush = true
    let code = await yourEngine.disconnect(receivePush)
  4. 销毁引擎

    let code = await yourEngine.destroy()

接口监听:

开发者在调用方法时,必须先设置好方法对应的监听,然后再调用方法。

// 链接监听
engine.setOnConnectedListener((res) => {
console.log('setOnConnectedListener 监听:',res)
})

// 链接状态改变监听
engine.setOnConnectionStatusChangedListener((res) => {
console.log('setOnConnectedListener 监听:',res)
})