聊天室介绍
功能描述
聊天室成员不设用户上限,海量消息并发即时到达,用户退出聊天界面后即视为离开聊天室,不会再接收到任何聊天室中消息,没有推送通知功能。会话关系由融云负责建立并保持连接,通过 SDK 相关接口,可以让用户加入或者退出聊天室。
主要功能
功能 | 描述 |
---|---|
离线消息 | 不支持离线消息,只有当前在线用户可收到聊天室中消息 |
人数限制 | 聊天室人数无上限 |
消息提醒 | 离线后不再接收聊天室中消息。 |
本地存储 | 退出聊天室后同时删除本地聊天室消息,不支持消息搜索功能。 |
历史消息 | 提供服务端消息存储存功能,需开通聊天室消息云存储,默认存储时长为 2 个月。 |
创建聊天室 | App 内的聊天室数量没有限制。 |
销毁聊天室 | 将指定聊天室解散,所有成员都无法再接收该聊天室的消息。 |
查询聊天室信息 | 查询聊天室基础信息,包括:聊天室 ID、名称、创建时间。 |
获取聊天室成员 | 获取的聊天室成员信息数,包括:用户 ID、加入时间,最多返回 500 个成员信息,支持按加入时间排序。 |
指定聊天室禁言 | 用户在指定聊天室中禁言,被禁言用户可以 接收查看聊天室中用户聊天信息,但不能发送消息。 |
用户聊天室全局禁言 | 用户在应用中的所有聊天室中禁言,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息。 |
聊天室用户封禁 | 在 App 中如果想将某一用户踢出聊天室并在一段时间内不允许再进入聊天室时,可实现将用户对指定的聊天室做封禁处理,被封禁用户将被踢出聊天室,并在设定的时间内不能再进入聊天室中。 |
指定聊天室全局禁言 | 对指定聊天室做禁言处理,聊天室中所有用户都不能发送消息。 |
消息优化级 | 通过聊天室消息优先级接口,设置的消息类型为低优先级的消息,默认情况下全部为高的消息,当服务器负载高时低优先级的消息优先被丢弃,这样可以让出资源给高优先级的消息,确保重要的消息不被丢弃。 |
消息白名单 | 白名单中的消息类型受到保护,在聊天室消息量较大的情况下也不被丢弃。 |
用户白名单 | 白名单中用户发送的消息受到保护,在聊天室消息量较大的情况下也不被丢弃。同时用户处于被保护状态,以避免在离线 30 秒后有新消息产生时或离线后聊天室中产生 30 条消息时被自动踢出聊天室。 |
聊天室保活 | 聊天室保活功能,可以确保聊天室在此状态下不被自动销毁,只能通过调用 API 接口销毁聊天室。 |
状态同步 | 聊天室发生状态变化时,将实时同步到开发者的应用服务器,目前支持的同步状态包括:创建、销毁、成员加入、成员退出聊天室。 |
属性自定义 | 每个聊天室中,最多允许设置 100 个属性信息,以 Key、Value 的方式进行存储,聊天室销毁后,聊天室中的自定义属性同时销毁。 |
消息撤回 | 消息发送成功后,在有效时间内可撤回该条消息,默认可撤回时间为 2 分钟,时间可配置。 |
消息类型
功能 | 描述 |
---|---|
离线消息 | 不支持离线消息,只有当前在线用户可收到聊天室中消息 |
人数限制 | 聊天室人数无上限 |
消息提醒 | 离线后不再接收聊天室中消息。 |
本地存储 | 退出聊天室后同时删除本地聊天室消息,不支持消息搜索功能。 |
历史消息 | 提供服务端消息存储存功能,需开通聊天室消息云存储,默认存储时长为 2 个月。 |
创建聊天室 | App 内的聊天室数量没有限制。 |
销毁聊天室 | 将指定聊天室解散,所有成员都无法再接收该聊天室的消息。 |
查询聊天室信息 | 查询聊天室基础信息,包括:聊天室 ID、名称、创建时间。 |
获取聊天室成员 | 获取的聊天室成员信息数,包括:用户 ID、加入时间,最多返回 500 个成员信息,支持按加入时间排序。 |
指定聊天室禁言 | 用户在指定聊天室中禁言,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息。 |
用户聊天室全局禁言 | 用户在应用中的所有聊天室中禁言,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息。 |
聊天室用户封禁 | 在 App 中如果想将某一用户踢出聊天室并在一段时间内不允许再进入聊天室时,可实现将用户对指定的聊天室做封禁处理,被封禁用户将被踢出聊天室,并在设定的时间内不能再进入聊天室中。 |
指定聊天室全局禁言 | 对指定聊天室做禁言处理,聊天室中所有用户都不能发送消息。 |
消息优化级 | 通过聊天室消息优先级接口,设置的消息类型为低优先级的消息,默认情况下全部为高的消息,当服务器负载高时低优先级的消息优先被丢弃,这样可以让出资源给高优先级的消息,确保重要的消息不被丢弃。 |
消息白名单 | 白名单中的消息类型受到保护,在聊天室消息量较大的情况下也不被丢弃。 |
用户白名单 | 白 名单中用户发送的消息受到保护,在聊天室消息量较大的情况下也不被丢弃。同时用户处于被保护状态,以避免在离线 30 秒后有新消息产生时或离线后聊天室中产生 30 条消息时被自动踢出聊天室。 |
聊天室保活 | 聊天室保活功能,可以确保聊天室在此状态下不被自动销毁,只能通过调用 API 接口销毁聊天室。 |
状态同步 | 聊天室发生状态变化时,将实时同步到开发者的应用服务器,目前支持的同步状态包括:创建、销毁、成员加入、成员退出聊天室。 |
属性自定义 | 每个聊天室中,最多允许设置 100 个属性信息,以 Key、Value 的方式进行存储,聊天室销毁后,聊天室中的自定义属性同时销毁。 |
消息撤回 | 消息发送成功后,在有效时间内可撤回该条消息,默认可撤回时间为 2 分钟,时间可配置。 |
与群组的区别
融云提供群组与聊天室业务,其主要区别如下,客户可根据自己的业务场景进行选择:
功能 | 群组(group) | 聊天室(Chatroom) |
---|---|---|
场景 | 类似微信的群组,无论是否在线都会接收消息 | 只有在线用户可接收消息,可用于直播、社区、游戏、广场交友、兴趣讨论等场景。 |
离线缓存消息 | 支持离线消息存储,存储时间可设置(1 ~ 7 天),默认存储 7 天。 | 无离线消息,只有在线用户才可收到聊天室消息 |
人数限制 | 默认一个群上限为 3000 人 | 聊天室人数无上限 |
消息提醒 | 离线状态,群组中有新消息时,支持远程推送(PUSH)通知 | 离开聊天室后不再接收消息 |
本地存储 | 移动端本地数据库存储,提供本地消息搜索接口 | 退出聊天室后同时删除本地聊天室消息,不支持消息搜索功能 |
云端存储 | 需开通单群聊消息云存储,可以提供 6 - 36 个月存储服务 | 需开通聊天室消息云存储,可以提供 2 - 36 个月存储服务 |
用户加入限制 | 一个用户可加入多个群组,无限制 | 默认一个用户只能加入一个聊天室,加入多个聊天室功能可在控制台自行开通 |
加入后消息获取逻辑 | 默认加入群组后,只能查看加入后群组中产生的消息。如需要查看群历史消息,则需要开通单群聊消息云存储后,再开通“查看加入前群消息”功能 | 加入后可获取聊天室中最新的 50 条消息。 |
销毁/解散逻辑 | 需要通过 AppServer 自行调用解散群组接口 。 | 提供销毁聊天室接口,可通过 AppServer 调用。同时聊天室中 1 小时内没有消息产生时,将自动销毁聊天室。 |
消息可靠度 | 100% 可靠,不丢消息。 | 消息量较大时,超出服务端消费上限的消息将被主动抛弃。您可通过用户白名单、消息白名单、自定义消息级别等服务,改变消息抛弃策略。如果用户在聊天室的用户白名单内,该用户所发送的消息在消息量大时也不会被抛弃。 如需了解服务端消费上限与如何改变消息抛弃策略,可参见服务端文档消息优先级服务、聊天室白名单服务。 |
相关接口调用 | SDK 不提供群组管理功能接口,通过 Server API 提供群组功能接口。 | SDK 和 Server API 同时提供功能接口,销毁聊天室操作只能通过 Server API 方式调用。 |
发送消息频率 | 每个客户端 5 条/秒;服务端调用,20 条/秒 | 每个客户端 5 条/秒;服务端调用,100 条/秒 |
常见问题
聊天室登录、重连问题
登录聊天室是否要先连接融云