群组成员管理

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

功能描述

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

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

  • 获取群组成员列表
  • 获取群组成员数量
  • 转让群组
  • 管理员授权

接口说明

群事件变更通知

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

获取群组成员列表

群组成员可以使用getGroupMembers接口获取所在群组的成员情况,包括成员数量、成员在线情况、成员角色等。

接口参数说明:

参数 含义 说明
groupId 群组ID 获取群组成员请求的群组ID
timeout 超时时间 请求的超时时间,单位为秒
代码示例
-(void)getGroupMembers:(NSNumber * _Nonnull)groupId
               timeout:(int)timeout
               success:(void(^)(NSArray <IMGroupMemberInfo*> * array))successCallback
                  fail:(IMAnswerFailCallBack)failCallback;

获取群组成员数量

未加入群组的用户可以使用getGroupMembersCount接口获取群组的成员数量。

接口参数说明:

参数 含义 说明
groupId 群组ID 获取群组成员数量的群组ID
timeout 超时时间 请求的超时时间,单位为秒
代码示例
-(void)getGroupMemberCount:(NSNumber * _Nonnull)groupId
                   timeout:(int)timeout
                   success:(void(^)(IMMemberCountAnswer * _Nullable memberCountAnswer))successCallback
                      fail:(IMAnswerFailCallBack)failCallback;

转让群组

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

接口参数说明:

参数 含义 说明
groupId 群组ID 发起转让群组请求的群组ID
toUid 用户ID 将群主身份转移给其他用户ID
timeout 超时时间 请求的超时时间,单位为秒
代码示例
-(void)transferGroup:(NSNumber * _Nonnull)groupId
               toUid:(int64_t)toUid
             timeout:(int)timeout
             success:(void(^)(void))successCallback
                fail:(IMAnswerFailCallBack)failCallback;

管理员授权

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

  • 审批其他用户的入群申请
  • 移除群组成员

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

新增管理员

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

接口参数说明:

参数 含义 说明
groupId 群组ID 新增管理员的群组ID
uids 用户ID 赋予管理员角色的用户ID
timeout 超时时间 请求的超时时间,单位为秒
代码示例
-(void)addGroupManagers:(NSNumber * _Nonnull)groupId
                   uids:(NSArray <NSNumber*>*)uids
                timeout:(int)timeout
                success:(void(^)(void))successCallback
                   fail:(IMAnswerFailCallBack)failCallback;
删除管理员

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

接口参数说明:

参数 含义 说明
groupId 群组ID 删除管理员的群组ID
uids 用户ID 移除管理员角色的用户ID
timeout 超时时间 请求的超时时间,单位为秒
代码示例
-(void)removeGroupManagers:(NSNumber * _Nonnull)groupId
                      uids:(NSArray <NSNumber*>*)uids
                   timeout:(int)timeout
                   success:(void(^)(void))successCallback
                      fail:(IMAnswerFailCallBack)failCallback;