群成员管理
本文档旨在指导开发者如何使用融云即时通讯 iOS IMLib SDK 实现设置或查询群组成员资料,添加或删除群管理员等功能。
提示
此功能在 5.12.0 版本开始支持。
开通服务
信息托管服务已默认开通,您可以直接使用此功能。
群成员
可以查询指定群的群成员,也可以设置群成员信息。
分页获取群成员信息
您可以使用 getGroupMembersByRole 按群成员角色分页获取群成员信息。
此接口成功回调中的 result 会返回满足查询条件的成员总数。
接口原型
objc
- (void)getGroupMembersByRole:(NSString *)groupId
role:(RCGroupMemberRole)role
option:(RCPagingQueryOption *)option
success:(void (^)(RCPagingQueryResult<RCGroupMemberInfo *> *result))successBlock
error:(void (^)(RCErrorCode errorCode))errorBlock;
参数说明
| 属性名 | 类型 | 描述 |
|---|---|---|
groupId | NSString | 群组的 targetId。 |
role | RCGroupMemberRole | 群成员角色。 |
option | RCPagingQueryOption | 查询选项,包含 页面标识(非必填,不填返回第一页数据)、每页条数(最大不超过 200 条)、是否正序查询(默认倒序)。 |
successBlock | Block | 成功回调,返回对应的查询数据的相关信息 RCPagingQueryResult 数组。 |
errorBlock | Block | 失败回调。 |
role 参数介绍
| 枚举值 | 描述 |
|---|---|
RCGroupMemberRoleUndef | 未定义角色(使用此枚举查询代表查询全部类型群成员) |
RCGroupMemberRoleNormal | 普通群成员 |
RCGroupMemberRoleManager | 管理员 |
RCGroupMemberRoleOwner | 群主 |
option 参数介绍
| 参数 | 类型 | 描述 |
|---|---|---|
pageToken | NSString | 分页标识, 首次拉取时, 可以传 nil 或 @"",若回调 成功后返回 result (类型RCPagingQueryResult) 的 pageToken 如果不为 @"",则可以传入该值再次拉取,直至 pageToken 返回为 @"",表示全部拉取完成。 |
count | NSInteger | 每页条数,一页最大不超过 100 条 |
order | BOOL | 默认NO 按加入群组时间倒序, YES 为正序 |
示例代码
objc
- (void)getGroupMembersByRole:(NSString *)pageToken {
// 群组 ID
NSString *groupId = @"groupId";
// 要获取群成员的角色,示例为获取所有角色的成员
RCGroupMemberRole role = RCGroupMemberRoleUndef;
// 查询选项
RCPagingQueryOption *option = [[RCPagingQueryOption alloc] init];
// 分页标识, 首页传 nil
option.pageToken = pageToken;
// 每页条数
option.count = 20;
// 默认NO 按加入群组时间倒序, YES 为正序
option.order = NO;
[[RCCoreClient sharedCoreClient] getGroupMembersByRole:groupId
role:role
option:option
success:^(RCPagingQueryResult<RCGroupMemberInfo *> * _Nonnull result) {
// 获取成功
if (result.pageToken.length > 0) {
// 继续获取下一页数据
[self getGroupMembersByRole:result.pageToken];
} else {
// 获取完成,没有更多数据
}
} error:^(RCErrorCode errorCode) {
// 获取失败
}];
}
获取群成员信息
您可以使用 getGroupMembers 获取指定群指定用户的群成员信息。
单次调用最多支持获取 100 个成员的信息。
提示
若当前用户未加入指定群组,则无法获取群成员信息。
接口原型
objc
- (void)getGroupMembers:(NSString *)groupId
userIds:(NSArray<NSString *> *)userIds
success:(void (^)(NSArray<RCGroupMemberInfo *> *groupMembers))successBlock
error:(void (^)(RCErrorCode errorCode))errorBlock;
参数说明
| 属性名 | 类型 | 描述 |
|---|---|---|
groupId | NSString | 群组的 targetId。 |
userIds | NSArray | 用户 userId 列表。 |
successBlock | Block | 成功回调,返回对应的查询数据的相关信息 RCPagingQueryResult 数组。 |
errorBlock | Block | 失败回调。 |