Web端IMSDK 2999状态码(SDK_READY)说明

2019-10-12 18:14:15 浏览数 (1)

在集成TIM的时候,有部分同学会遇到这个状态码 code:2999;message:接口调用时机不合理,等待SDK处于ready状态后再调用,

code:2999在错误码表中有说明:

之所以需要等待SDK处于ready状态后再调用是因为此时SDK各模块都准备就绪了, 再调用收发消息接口不会因为缺少某些必要的数据而导致流程阻塞。

IM SDK 调用 API 需要遵循如下表所示顺序:

操作类型

含义

创建 SDK 实例

TIM.create(options)

通过 TIM 工厂函数创建 SDK 实例(通常用 tim 表示)。

设置日志级别

tim.setLogLevel(level)

设置日志级别,低于 level 的日志将不会输出。

注册插件

tim.registerPlugin(optoins)

注册上传图片、文件等需要用到 对象存储服务 COS 作为 IM SDK 的上传插件。

监听事件

tim.on(event, handler)

监听事件,在 handler 里处理 SDK 抛出来的数据。

登录

tim.login(options)

登录成功,SDK 状态为 ready 后,可收发消息。

创建文本消息

tim.createTextMessage(options)

创建文本消息。此接口返回一个消息实例,接入侧可将此消息做立即上屏处理。

发送消息

tim.sendMessage(message)

发送创建好的消息实例。

获取会话列表

tim.getConversationList()

获取会话列表,接入侧可处理会话列表数据,渲染会话列表界面。

获取群组列表

tim.getGroupList()

获取群组列表,接入侧可处理群组列表数据,渲染群组列表界面。

获取黑名单列表

tim.getBlacklist()

获取黑名单列表,接入侧可处理黑名单列表数据,渲染黑名单列表界面。

获取个人资料

tim.getMyProfile()

获取个人资料,接入侧可处理个人资料数据,渲染个人资料界面。

登出

tim.logout()

退出登录。

上表中的调用顺序可以用这张时序图表示出来:

API调用时序图API调用时序图
  1. 在登录之前,需要先订阅(监听)TIM.EVENT.SDK_READY事件;
  2. 登录后,收到会话列表以及未读消息同步完毕通知后,此时才会发布SDK_READY事件,触发sdk is ready通知;
  3. 收到sdk is ready的通知,可以开始收发消息。

0 人点赞