房间成员管理

本文主要介绍 云上曲率即时通讯IM SDK的房间成员管理功能。

功能描述

房间成员管理指处理房间内成员的一些管理操作,包括房间成员列表、房主转让、管理员授权等内容。由于房间成员管理涉及房间角色功能的参与,因此开发者在使用过程中请注意赋予用户的角色情况。

云上曲率IM SDK为开发者提供如下房间成员管理内容:

  • 获取房间成员列表
  • 获取房间成员数量
  • 房主转让
  • 管理员授权

注意:如果出现房主、管理员掉线情况,重新登录加入房间后,房主、管理员的角色依然不变。

接口说明

房间事件变更通知

房间成员管理功能中,当出现房主变更、房间管理员授权时,会接收到服务端的通知PUSH。

获取房间成员列表

房间成员可以使用getRoomMembers接口获取所在房间的成员情况,包括成员数量、成员角色等。

接口参数说明:

参数 含义 说明
roomId 房间ID 获取房间成员请求的群组ID
代码示例
public void getRoomMembers(final long roomId, final ICallback<List<IMRoomMemberInfo>> callback)

获取房间成员数量

未加入房间的用户可以使用getRoomMembersCount接口获取房间的成员数量。

接口参数说明:

参数 含义 说明
roomId 房间ID 获取房间成员数量的群组ID
代码示例
public void getRoomMembersCount(long roomId, ICallback<Integer> callback)

房主转让

房主可以使用changeRoomLeader接口将所在房间的房主角色转让给当前房间内其他成员。 房主角色转让成功后,原房主角色变为普通成员,对应的功能权限也变更。房间其他成员收到由服务端推送的 房主转让 通知。

接口参数说明:

参数 含义 说明
roomId 房间ID 发起转让房间请求的房间ID
userId 用户ID 将房主身份转移给其他用户ID
代码示例
public void changeRoomLeader(final long roomId, final long userId, final IEmptyCallback callback)

管理员授权

房主 可以对房间内成员进行角色配置,赋予管理员权限。管理员的权限包括:

  • 移除房间内成员

注意:房间管理员无法对房间普通成员授权,也无法删除其他管理员。

新增管理员

房主 可以使用addRoomManagers将房间 普通成员 设置为 管理员 角色。完成后,房间其他成员收到由服务端推送的 新增管理员 通知。

接口参数说明:

参数 含义 说明
roomId 房间ID 新增管理员的房间ID
userIds 用户ID 赋予管理员角色的用户ID
代码示例
public void addRoomManagers(final long roomId, final List<Long> userIds, final IEmptyCallback callback)
删除管理员

房主 可以使用removeRoomManagers将房间 管理员 设置为 普通成员 角色。完成后,房间其他成员收到由服务端推送的 删除管理员 通知。

接口参数说明:

参数 含义 说明
roomId 房间ID 删除管理员的房间ID
userIds 用户ID 移除管理员角色的用户ID
代码示例
public void removeRoomManagers(final long roomId, final List<Long> userIds, final IEmptyCallback callback)