即时通信IM 你问我答 第1季

本期共解答10个问题

Q1:直播间群聊消息会不会存在吞消息的问题 另外一般情况下的消息接收的延迟是多久?

直播群有40条/秒的频率限制,可通过消息发送前回调与消息发送后回调进行判断,若丢失的消息有收到消息发送前回调,未收到消息发送后回调,则该消息被限频。延迟百毫秒级。

Q2:重新登录后,群聊消息如何从第一条未读消息开始查看?

SDK 提供的拉取历史消息支持从指定的群消息 sequence 开始向前或者向后拉,也就是消息定位的能力。未读消息开始的 sequece:可以通过会话最后一条消息的 sequece 减去会话的未读消息数得到。

Q3:消息没有收到或消息丢失如何处理?

单聊消息:

  • 确认消息是否发送成功;
  • 确认接收方是否登录成功;
  • 确认发送消息的指定会话是否与接收方一致。

群组消息:

  • 确认消息是否发送成功;
  • 确认接收方是否登录成功;
  • 确认接收方是否是群成员。

不管是 C2C 消息还是群消息,在以上步骤无法确认问题的时候,需要继续确认以下情况:

  • 确认是否注册了消息监听器;
  • 确认发送方发送消息的时候,是否把elem添加到消息中了(发消息的时候需要检查addElement的返回值);
  • Android 的需要确认是否注册了多个消息监听器,并且在消息监听器中返回了true。

Q4:IM创建账号提示报错怎么办?

体验版最多只能创建100个帐号,如果需要创建更多帐号,您可以购买专业版。另外,体验版中的帐号支持删除,您可以调用账号删除接口删除不再使用的帐号,删除后该用户的数据将无法恢复,请谨慎处理。

Q5:IM的DAU如何计算?

单个用户当日登录即时通信 IM 服务会计为1个 DAU,同一用户重复登录时,DAU 不累加。

Q6:为什么被聊天对象拉黑后,发送消息的消息状态依然是发送成功,发送回调也是成功?

如果需要被拉黑的发送者收到消息发送失败的提示,请在 即时通信 IM 控制台 >【功能配置】>【登录与消息】>【黑名单检查】中关闭"发送消息后展示发送成功",关闭后,被拉黑的发送者在发送消息时,SDK 会报20007错误码。

Q7:即时通信IM群聊消息中,如何保证收发消息的顺序一致?

当消息发送成功以后能够获取一个序列号,通过序列号进行排序。

Q8:应用套餐退费后会马上停用应用么?

申请退费成功后,应用不会马上停止服务。但是应用套餐包会进入到期状态,无法继续使用已过期的套餐包,预付费套餐包过期超过7天后,对应应用将会变为停服状态。

Q9:即时通信IM单聊消息大小限制多少?

图片消息:最大支持大小为28M的图片;

语音消息:最大支持大小为28M的语音文件;

短视频消息:最大支持大小为100M的短视频文件。

文件消息:

  • 发送文件消息时,SDK 最大支持发送单个文件大小为100MB;
  • 小程序 SDK 不支持创建和发送文件消息;
  • WebIM SDK 不支持创建和发送语音消息。

Q10:即时通信IM如何获取当前未读消息数量?

即时通信 IM 可通过 TIMConversation 的 getUnReadMessageNum 方法获取当前会话中未读消息的数量。(对于聊天室,Server 不保存未读计数,每次登录后跟 Server 同步未读计数后将会清零。)

文章来源于腾讯云开发者社区,点击查看原文