房间成员管理
更新时间:
本文主要介绍 云上曲率即时通讯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)
本文主要介绍 云上曲率即时通讯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)