房间功能

本文介绍RTM基础功能中的房间功能,您可以了解房间功能的使用方法等内容。

功能简介

RTM提供了房间功能来实现聊天室、直播间等场景。以下为房间功能的完整功能和描述。

功能 描述
房间消息发送和接收 包括RTM客户端SDK和RTM服务端SDK的房间消息发送和接收
获取房间历史消息记录 包括RTM客户端SDK和RTM服务端SDK的房间历史消息的获取
添加房间成员 包括RTM客户端SDK和RTM服务端SDK的房间成员添加
删除房间成员 包括RTM客户端SDK和RTM服务端SDK的房间成员删除
获取房间成员列表 获取房间全部成员列表
获取房间成员数量 获取房间全部成员数量
获取用户所在房间 获取用户加入的全部房间
设置房间信息 设置房间的公有信息和私有信息
获取房间信息 获取房间的公有信息或全部信息
设置房间禁言 包括RTM客户端SDK和RTM服务端SDK的房间成员禁言
解除房间禁言 包括RTM客户端SDK和RTM服务端SDK的房间成员解禁
判断用户禁言情况 判断用户是否被房间禁言

群组相比,房间:

  • 用户可以自由进出房间
  • 房间的成员关系不固定
  • 当用户离线后自动退出房间
  • 用户离线后,下次登录RTM服务后需要主动加入房间
  • 房间不需要显式创建和删除 ,将用户加入房间时会自动创建,房间成员全部离开时房间自动销毁

群组和房间的区别,请参考:基本概念-房间

控制台房间相关配置

默认仅支持一个用户加入一个房间。当加入第二个房间时,该用户将自动从第一个房间中离开。

如果用户需要加入多个房间,则需要提前开启以下开关:

功能详情

房间消息发送和接收

使用RTM客户端SDK和RTM服务端SDK发送和接收房间消息,请参考:

获取房间历史消息记录

使用RTM客户端SDK和RTM服务端SDK获取房间历史消息记录,请参考:

添加房间成员

使用RTM客户端SDK和RTM服务端SDK添加房间成员

  • 使用RTM客户端SDK添加房间成员时,当前登录RTM客户端SDK用户必须为房间成员。
  • 使用RTM服务端SDK添加房间成员时,被添加的成员必须处于在线状态,即该成员需要登录RTM服务,否则将返回错误,无法添加成功。

删除房间成员

使用RTM客户端SDK和RTM服务端SDK删除房间成员

  • 使用RTM客户端SDK删除房间成员时,当前登录RTM客户端用户必须为房间成员。

获取房间成员列表

使用RTM客户端SDK和RTM服务端SDK获取房间成员列表和当前在线成员列表

使用RTM客户端SDK获取房间成员列表和当前在线成员列表时,当前登录RTM客户端SDK用户必须为房间成员。

获取房间成员数量

使用RTM客户端SDK和RTM服务端SDK获取房间成员数量情况

获取用户所在房间

使用RTM客户端SDK和RTM服务端SDK获取某用户加入的全部房间情况

设置房间信息

房间信息包括房间公有信息和房间私有信息:

  • 公有信息是房间的公开信息,任何项目中的成员都可以获取。房间公有信息 包括:房间名称、房间图标等内容。
  • 私有信息是房间的非公开信息,仅允许房间成员才可以获取。房间私有信息 包括:房间公告、房间文件等内容。

使用RTM客户端SDK设置房间信息时,当前登录RTM客户端SDK用户必须为房间成员。

获取房间信息

使用RTM客户端SDK和RTM服务端SDK获取房间信息

使用RTM客户端SDK获取房间私有信息时,当前登录RTM客户端SDK用户必须为房间成员。

设置房间禁言

被房间禁言的用户无法在房间中发言。 使用RTM客户端SDK和RTM服务端SDK设置房间禁言

使用房间禁言功能时,需要提前为项目将 “允许房间禁言” 开关开启,请参考:控制台操作-RTM项目创建和配置-设置项目信息

解除房间禁言

被房间禁言的用户在解禁后,可以在房间中发言。 使用RTM客户端SDK和RTM服务端SDK解除房间禁言

使用解除房间禁言功能时,需要提前为项目将 “允许房间禁言” 开关开启,请参考:控制台操作-RTM项目创建和配置-设置项目信息

判断用户禁言情况

使用RTM客户端SDK和RTM服务端SDK判断用户在房间是否被禁言

  • 使用RTM客户端SDK判断用户禁言情况时,当前登录RTM客户端SDK用户和判断的用户必须为房间成员。
  • 使用判断用户禁言功能时,需要提前为项目将 “允许房间禁言” 开关开启,请参考:控制台操作-RTM项目创建和配置-设置项目信息