跳到主要内容

SDK 迁移

当前文档仅适用于已集成 React Native 5.X 旧版 SDK (@rongcloud/react-native-imlib) 的客户。

关于 React Native 5.X 旧版 SDK 的说明

React Native 5.X 旧版 SDK (@rongcloud/react-native-imlib) 已不再进行维护,旧版开发文档不再公开提供,建议已集成旧版 SDK 的客户迁移到新版本 SDK。新版本 SDK 整体进行了优化重构。所有新功能都将在新版 SDK 中进行添加。

新集成的客户,请直接使用新版 SDK(@rongcloud/react-native-im-wrapper,版本号 5.2.4-release.1)。详见快速上手

迁移注意事项

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

使用区别

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

  2. 新版本 SDK 接口大部分的结果处理,都不在当前接口进行体现,需要开发者实现对应的方法回调进行处理,且如果接口调用多次,SDK 都会触发同一个回调,但回调中会返回接口调用参数,需要开发者根据参数来进行区分。旧版本部分接口回调可在接口内直接获取。

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

使用示例

接口调用:

  1. 构建对象

    let appkey = 'xxx';
    let options: RCIMIWEngineOptions = {};
    let engine = RCIMIWEngine.create(appkey, options);
  2. 调用接口

    engine.connect(token, timeout)
    .then((code: number) => {});
  3. 退出登录

    engine.disconnect(receivePush)
    .then((code: number) => {});
  4. 销毁

    engine.destroy()
    .then((code: number) => {});

接口监听:

engine.setOnConnectedListener(
(
code: number,
userId: string
) => {
// 事件处理
}
);