# 融云 IM 聊天室中是否包含视频流 ?
IMLib 聊天室中不包含视频直播,包含与 IM 相关功能,如消息发送、聊天室控制等
视频直播视频流的录制、播放可使用融云 RTC SDK 低延时直播
# 聊天室如何销毁 ?
销毁方式有两种:
1、主动调用融云 Server API 销毁聊天室
2、或聊天室中一小时内无人说话,同时没有人加入聊天室时,融云服务端会自动把聊天室内所有成员踢出聊天室并销毁聊天室
# 直播聊天室中有哪些常见消息类型 ?
常见消息类型包含:文字、语音、图片、点赞、礼物、弹幕及自定义消息实现的命令消息,用来辅助直播业务
# 聊天室中的哪些功能可以用消息实现 ?
文字、语音、图片、点赞、礼物、弹幕、开播通知等功能均可使用消息实现
# 直播聊天室中如何准确的使用消息类型 ?
由于当消息密集时,服务会自动抛弃消息,开发者设计消息类型一定要将文字、语音、图片、点赞、礼物等业务消息,单独定义消息类型使用,不要通过一个消息类型 的不同属性实现功能
# 聊天室中,消息抛弃策略是什么 ?
聊天室场景下,融云服务端默认单个聊天室中上行消息处理能力是每 200 毫秒 40 条,其中 20 条为高优先级消息使用配额,另外 20 条为高优先级和低优先级消息共同使用
在聊天室消息量较大的情况下,融云服务器会按消息发送的时间顺序,将超出消费上限的最新消息丢弃,确保服务器稳定
针对以上情况,为保证聊天室中重要消息不被丢弃,融云提供了以下服务:
1、聊天室用户白名单功能: 白名单中用户发送的消息受到保护,在聊天室消息量较大的情况下也不被丢弃
2、聊天室消息白名单功能: 该名单中的消息受到保护,在聊天室消息量较大的情况下也不被丢弃
3、聊天室消息优先级功能: 该功能为设置低优先级的消息类型,在聊天室消息量较大的情况下,此类型的消息将被优先抛弃,确保重要消息不被丢弃
注:未设置情况下融云的所有消息均为高优先级消息
以上功能设置后,服务端收到聊天室上行消息时,根据消息类型的设置状态,处理逻辑如下:
a、上行消息为低优先级消息,则占用高优先级和低优先级共有的 20 条消息配额,如配额已经用完,之后收到的低优先级消息将被抛弃,不占用高优先级的配额
b、上行消息为默认高优先级消息,则先占用高优先级的 20 条消息配额,如配额已经用完,高优先级和低优先级共用的 20 条配额未占用完时,则占用高低优先级消息的共同配额,直到全部占用,之后收到的高、低优先级消息都将被抛弃
c、上行消息为设置的聊天室消息白名单中的消息或用户白名单中的用户发送的消息时,该类消息不会丢弃,但会占用每 200 毫秒 40 条的消息配额,优先占用高、低优先级消息共用的 20 条配额,其次占用高优先级消息的 20 条配额。配额被全部占用后,收到高、低优先级的消息时都将被丢弃,但如收到白名单中的消息时则不会被丢弃,按时间顺序正常下发
注: 单个聊天室可消费的每 200 毫秒 40 条的上行消息配额,开通专有云后可进行配置
# 什么是消息优先级 ?
融云消息服务中,消息存在高级别、低级别之分 API,可设置消息界别的高低,默认全部为高级别,当服务器负载高时低级别消息优先被丢弃,让出资源给 高级别消息,确保高级别消息不被丢弃,消息多时可主动抛弃指定消息,如: 点赞消息
具体可参考文档: 消息优先级
# 什么是实时消息路由 ?
由融云服务端把指定 AppKey 下产生所有的消息回调到到开发者服务器的过程叫实时消息路由,消息到达开发者服务器后便于对聊天室消息进行数据实时分析和挖掘
# 什么是用户白名单 ?
白名单中用户发送的消息受到保护,在聊天室消息量较大的情况下不会被丢弃,可将重要用户加入用户白名单,保证重要用户发送消息不会被抛弃,如:主播、场控等
# 用户白名单、消息白名单、消息优先级三者均和消息有关,是否有先后顺序 ?
用户白名单、消息白名单、消息优先级提供了 3 种设置消息级别的不同维度,级别均为高级别,可根据业务需要按需使用
# 断网后再连接为啥无法收到聊天室消息?不是必现,偶尔断网再连接也是可以收到消息的
聊天室中用户在离线 30 秒后或离线后聊天室中产生 30 条消息时会被自动退出聊天室,如有需求不希望自动退出,可将用户加入到聊天室白名单中
# 调用客户端 SDK 接口发送消息为什么自己发的自己收不到?
自己发送的消息是 不会触发消息监听 的,自己将发送成功后的 Message 对象渲染到页面即可
# 调用 Server API 接口发送消息为什么自己发的自己收不到?
Server API 发送的消息, 默认发送方是不会触发消息监听的,可以在本地模拟一条 Message 对象渲染到页面即可
或者在 Server API 发消息时, isIncludeSender 填 1, 则发送者也可收到发送的消息
# 一个用户是否可多个端同时加入聊天室?
融云默认支持一个 Android、iOS、Web、小程序用户同时在线,如果同种设备需要多端登录,需要单独开通,Web 每个浏览器 Tab 算一个端,开通位置:融云开发者后台 -> 选择应用 -> 服务管理 -> IM 商用版 -> 多设备消息同步
# 一个用户是否可以加入多个聊天室?
融云默认允许一个用户(不区分平台)同时加入一个聊天室,如有加入多聊天室需求,需至开发者后台开通
开通位置: 融云开发者后台 -> 选择应用 -> 服务管理 -> 免费基础功能 -> 单个用户加入多个聊天室