你问我答 | 即时通信IM(2021年11月-12月)

2022-01-21 19:40:14 浏览数 (1)

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

本期共解答10个问题

Q1:即时通信 IM如何判断用户当前是否在某个直播间内?(用户在直播间的在线/离线状态)?

即时通信 IM当前不支持判断用户在直播间的在线/离线状态。如需实现上述功能,需业务侧对用户在直播间的状态进行上报,通过业务侧后台获取对应状态。

Q2:即时通信 IM uni-app 打包 iOS 语音消息无法播放怎么办?

请将 IM SDK 升级到 2.15.0,该版本支持了 iOS 语音消息播放。

Q3:即时通信 IM uni-app 打包 app 发送语音消息时间显示错误怎么办?

uni-app 打包 app,recorderManager.onStop 回调中没有 duration 和 fileSize,需要用户自己补充 duration 和 fileSize。

通过本地起定时器记录时间,计算出 duration。

Q4:即时通信 IM video 视频消息层级过高无法滑动怎么办?

在项目中通过视频图片代替,没有直接渲染 video,在播放时渲染的方式规避了层级过高问题。

Q5:IM微信小程序环境在真机预览下报系统错误,体积过大怎么办?

运行时请勾选代码压缩,运行到小程序模拟器>运行时是否压缩代码。

Q6:IM自己发送的消息 Message.nick 和 Message.avatar 都是空的,该怎么处理才能在界面上正常展示昵称和头像?

可以通过调用 getMyProfile 获取自己的昵称和头像。

Q7:IM如何在直播群中实现禁言功能?

可以将禁言功能通过自定义消息实现,自定义消息中需包含被禁言者的 Members_Account 与禁言时间,通过 群内发言之前回调 将该自定义消息抄送至业务后台,业务后台调用 批量禁言和取消禁言 接口即可实现针对指定用户的禁言功能。

Q8:IM如何在直播群中实现踢人功能?

可以将踢人功能通过自定义消息实现,自定义消息中需包含被踢者的 Members_Account,通过将该消息优先级设置为 High 避免因40条/秒消息限频后被后台抛弃,被踢者的 SDK 收到该消息后,调用 退出群组 接口即可在直播群中实现踢人功能。

Q9:即时通信 IM 直播群为什么会丢消息?

出现丢消息的可能原因如下:

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

判断是否因为小程序/Web 端退出时,导致 Android/iOS/PC 同步退出。

如果是小程序/Web 出现问题,请确认您使用的 SDK 版本是否早于V2.7.6,如果是,请升级最新版。

Q10:即时通信 IM如何实现直播群点赞/关注数量统计?

先通过自定义消息构建点赞/关注消息类型,当用户在前端点击点赞/关注 icon 触发自定义消息下发后,将点赞/关注消息通过 群内发言之前回调 抄送到业务侧,业务侧根据收到的点赞/关注消息数进行数量统计,每3秒 - 5秒可通过 修改群基础资料接口 将该数据更新进群资料字段中,SDK 通过 拉取群资料接口 即可实现点赞/关注数量统计。

0 人点赞