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)。详见快速上手。
迁移注意事项
提示
- 新版本 SDK 更换了仓库地址,旧的仓库不再进行维护。
- 新版本 SDK 版本接口相对于旧版本有较大的接口变化,请开发者合理安排开发周期。
- 新版本 SDK 自定义消息不需要开发者处理,且与旧版本定义的自定义消息不兼容。
使用区别
-
新版本的 SDK 接口需要使用
RCIMIWEngine
对象进行调用,且有完整的生命周期,所以构建对象需要开发者进行保存,以便后续接口调用。旧版本的接口开发者直接调用对应功能的静态方法。 -
新版本 SDK 接口大部分的结果处理,都不在当前接口进行体现,需要开发者实现对应的方法回调进行处理,且如果接口调用多次,SDK 都会触发同一个回调,但回调中会返回接口调用参数,需要开发者根据参数来进行区分。旧版本部分接口回调可在接口内直接获取。
-
新版本 SDK 如果多处设置同一个监听,只有最后一次设置才会生效。为避免其余监听失效而引起问题,建议全局只设置一次。
使用示例
接口调用:
-
构建对象
let appkey = 'xxx';
let options: RCIMIWEngineOptions = {};
let engine = RCIMIWEngine.create(appkey, options); -
调用接口
engine.connect(token, timeout)
.then((code: number) => {}); -
退出登录
engine.disconnect(receivePush)
.then((code: number) => {}); -
销毁
engine.destroy()
.then((code: number) => {});
接口监听:
engine.setOnConnectedListener(
(
code: number,
userId: string
) => {
// 事件处理
}
);