即时通信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 同步未读计数后将会清零。)