跳到主要内容

SDK 迁移

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

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

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

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

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

迁移注意事项

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

使用区别

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

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

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

使用示例

接口调用:

  1. 构建引擎对象

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

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

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

    TypeScript
    let code = await yourEngine.destroy()

接口监听:

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

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

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