IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、帐号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
V2TIMManager(Group)

构造函数

(void) - createGroup:memberList:succ:fail:
 
(void) - getJoinedGroupList:fail:
 
(void) - getGroupsInfo:succ:fail:
 
(void) - setGroupInfo:succ:fail:
 
(void) - setReceiveMessageOpt:opt:succ:fail:
 
(void) - initGroupAttributes:attributes:succ:fail:
 
(void) - setGroupAttributes:attributes:succ:fail:
 
(void) - deleteGroupAttributes:keys:succ:fail:
 
(void) - getGroupAttributes:keys:succ:fail:
 
(void) - getGroupOnlineMemberCount:succ:fail:
 
(void) - getGroupMemberList:filter:nextSeq:succ:fail:
 
(void) - getGroupMembersInfo:memberList:succ:fail:
 
(void) - setGroupMemberInfo:info:succ:fail:
 
(void) - muteGroupMember:member:muteTime:succ:fail:
 
(void) - inviteUserToGroup:userList:succ:fail:
 
(void) - kickGroupMember:memberList:reason:succ:fail:
 
(void) - setGroupMemberRole:member:newRole:succ:fail:
 
(void) - transferGroupOwner:member:succ:fail:
 
(void) - getGroupApplicationList:fail:
 
(void) - acceptGroupApplication:reason:succ:fail:
 
(void) - refuseGroupApplication:reason:succ:fail:
 
(void) - setGroupApplicationRead:fail:
 

成员类型定义说明

◆ V2TIMGroupInfoListSucc

- (typedef void(^ V2TIMGroupInfoListSucc) (NSArray< V2TIMGroupInfo * > *groupList))
protected

获取已加入群列表成功回调

◆ V2TIMGroupInfoResultListSucc

- (typedef void(^ V2TIMGroupInfoResultListSucc) (NSArray< V2TIMGroupInfoResult * > *groupResultList))
protected

获取指定群列表成功回调

◆ V2TIMGroupAttributeListSucc

- (typedef void(^ V2TIMGroupAttributeListSucc) (NSMutableDictionary< NSString *, NSString * > *groupAttributeList))
protected

获取群属性列表成功回调

◆ V2TIMGroupMemberInfoListSucc

- (typedef void(^ V2TIMGroupMemberInfoListSucc) (NSArray< V2TIMGroupMemberFullInfo * > *memberList))
protected

获取群成员列表成功回调

◆ V2TIMGroupMemberInfoResultSucc

- (typedef void(^ V2TIMGroupMemberInfoResultSucc) (uint64_t nextSeq, NSArray< V2TIMGroupMemberFullInfo * > *memberList))
protected

获取指定群成员列表成功回调

◆ V2TIMGroupMemberOperationResultListSucc

- (typedef void(^ V2TIMGroupMemberOperationResultListSucc) (NSArray< V2TIMGroupMemberOperationResult * > *resultList))
protected

群成员操作成功回调

◆ V2TIMGroupApplicationResultSucc

- (typedef void(^ V2TIMGroupApplicationResultSucc) (V2TIMGroupApplicationResult *result))
protected

获取好友申请列表成功回调

◆ V2TIMGroupOnlineMemberCountSucc

- (typedef void(^ V2TIMGroupOnlineMemberCountSucc) (NSInteger count))
protected

获取群在线人数成功回调

成员枚举类型说明

◆ V2TIMGroupAddOpt

- (enum V2TIMGroupAddOpt) :
protected

加群选项

枚举值
V2TIM_GROUP_ADD_FORBID 

禁止加群

V2TIM_GROUP_ADD_AUTH 

需要管理员审批

V2TIM_GROUP_ADD_ANY 

任何人可以加入

◆ V2TIMGroupMemberResult

- (enum V2TIMGroupMemberResult) :
protected

群组操作结果

枚举值
V2TIM_GROUP_MEMBER_RESULT_FAIL 

操作失败

V2TIM_GROUP_MEMBER_RESULT_SUCC 

操作成功

V2TIM_GROUP_MEMBER_RESULT_INVALID 

无效操作,加群时已经是群成员,移除群组时不在群内

V2TIM_GROUP_MEMBER_RESULT_PENDING 

等待处理,邀请入群时等待对方处理

◆ V2TIMGroupReceiveMessageOpt

- (enum V2TIMGroupReceiveMessageOpt) :
protected

群消息接受选项

枚举值
V2TIM_GROUP_RECEIVE_MESSAGE 

在线正常接收消息,离线时会进行 APNs 推送

V2TIM_GROUP_NOT_RECEIVE_MESSAGE 

不会接收到群消息

V2TIM_GROUP_RECEIVE_NOT_NOTIFY_MESSAGE 

在线正常接收消息,离线不会有推送通知

◆ V2TIMGroupMemberFilter

- (enum V2TIMGroupMemberFilter) :
protected

群成员角色过滤方式

枚举值
V2TIM_GROUP_MEMBER_FILTER_ALL 

全部成员

V2TIM_GROUP_MEMBER_FILTER_OWNER 

群主

V2TIM_GROUP_MEMBER_FILTER_ADMIN 

管理员

V2TIM_GROUP_MEMBER_FILTER_COMMON 

普通成员

◆ V2TIMGroupApplicationGetType

- (enum V2TIMGroupApplicationGetType) :
protected

群组未决请求类型

枚举值
V2TIM_GROUP_APPLICATION_GET_TYPE_JOIN 

申请入群

V2TIM_GROUP_APPLICATION_GET_TYPE_INVITE 

邀请入群

◆ V2TIMGroupApplicationHandleStatus

- (enum V2TIMGroupApplicationHandleStatus) :
protected

群组已决标志

枚举值
V2TIM_GROUP_APPLICATION_HANDLE_STATUS_UNHANDLED 

未处理

V2TIM_GROUP_APPLICATION_HANDLE_STATUS_HANDLED_BY_OTHER 

被他人处理

V2TIM_GROUP_APPLICATION_HANDLE_STATUS_HANDLED_BY_SELF 

自己已处理

◆ V2TIMGroupApplicationHandleResult

- (enum V2TIMGroupApplicationHandleResult) :
protected

群组已决结果

枚举值
V2TIM_GROUP_APPLICATION_HANDLE_RESULT_REFUSE 

拒绝申请

V2TIM_GROUP_APPLICATION_HANDLE_RESULT_AGREE 

同意申请

函数文档

◆ createGroup:memberList:succ:fail:()

- (void) createGroup: (V2TIMGroupInfo *)  info
memberList: (NSArray< V2TIMCreateGroupMemberInfo * > *)  memberList
succ: (V2TIMCreateGroupSucc)  succ
fail: (V2TIMFail)  fail 

1.1 创建自定义群组(高级版本:可以指定初始的群成员)

参数
info自定义群组信息,可以设置 groupID | groupType | groupName | notification | introduction | faceURL 字段
memberList指定初始的群成员(直播群 AVChatRoom 不支持指定初始群成员,memberList 请传 nil)
注意
其他限制请参考 V2TIMManager.h -> createGroup 注释

◆ getJoinedGroupList:fail:()

- (void) getJoinedGroupList: (V2TIMGroupInfoListSucc succ
fail: (V2TIMFail)  fail 

1.2 获取当前用户已经加入的群列表

注意
  • 直播群(AVChatRoom)不支持该 API
  • 该接口有频限检测,SDK 限制调用频率为 1 秒 10 次,超过限制后会报 ERR_SDK_COMM_API_CALL_FREQUENCY_LIMIT (7008)错误

◆ getGroupsInfo:succ:fail:()

- (void) getGroupsInfo: (NSArray< NSString * > *)  groupIDList
succ: (V2TIMGroupInfoResultListSucc succ
fail: (V2TIMFail)  fail 

2.1 拉取群资料

参数
groupIDList群组 ID 列表

◆ setGroupInfo:succ:fail:()

- (void) setGroupInfo: (V2TIMGroupInfo *)  info
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

2.2 修改群资料

◆ setReceiveMessageOpt:opt:succ:fail:()

- (void) setReceiveMessageOpt: (NSString *)  groupID
opt: (V2TIMGroupReceiveMessageOpt opt
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

2.3 修改群消息接收选项

◆ initGroupAttributes:attributes:succ:fail:()

- (void) initGroupAttributes: (NSString *)  groupID
attributes: (NSDictionary< NSString *, NSString * > *)  attributes
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

2.4 初始化群属性,会清空原有的群属性列表

注意
attributes 的使用限制如下:
  • 目前只支持 AVChatRoom
  • key 最多支持16个,长度限制为32字节
  • value 长度限制为4k
  • 总的 attributes(包括 key 和 value)限制为16k
  • initGroupAttributes、setGroupAttributes、deleteGroupAttributes 接口合并计算, SDK 限制为5秒10次,超过后回调8511错误码;后台限制1秒5次,超过后返回10049错误码
  • getGroupAttributes 接口 SDK 限制5秒20次

◆ setGroupAttributes:attributes:succ:fail:()

- (void) setGroupAttributes: (NSString *)  groupID
attributes: (NSDictionary< NSString *, NSString * > *)  attributes
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

2.5 设置群属性,已有该群属性则更新其 value 值,没有该群属性则添加该群属性。

◆ deleteGroupAttributes:keys:succ:fail:()

- (void) deleteGroupAttributes: (NSString *)  groupID
keys: (NSArray< NSString * > *)  keys
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

2.6 删除群指定属性,keys 传 nil 则清空所有群属性。

◆ getGroupAttributes:keys:succ:fail:()

- (void) getGroupAttributes: (NSString *)  groupID
keys: (NSArray< NSString * > *)  keys
succ: (V2TIMGroupAttributeListSucc succ
fail: (V2TIMFail)  fail 

2.7 获取群指定属性,keys 传 nil 则获取所有群属性。

◆ getGroupOnlineMemberCount:succ:fail:()

- (void) getGroupOnlineMemberCount: (NSString *)  groupID
succ: (V2TIMGroupOnlineMemberCountSucc succ
fail: (V2TIMFail)  fail 

2.8 获取指定群在线人数

参数
groupID群id
succ成功回调
fail失败回调
注意
请注意
  • 目前只支持:直播群( AVChatRoom)。
  • 该接口有频限检测,SDK 限制调用频率为60秒1次。

◆ getGroupMemberList:filter:nextSeq:succ:fail:()

- (void) getGroupMemberList: (NSString *)  groupID
filter: (V2TIMGroupMemberFilter filter
nextSeq: (uint64_t)  nextSeq
succ: (V2TIMGroupMemberInfoResultSucc succ
fail: (V2TIMFail)  fail 

3.1 获取群成员列表

参数
filter指定群成员类型
nextSeq分页拉取标志,第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为 0。
注意
直播群(AVChatRoom)的特殊限制:
  • 不支持管理员角色的拉取,群成员个数最大只支持 31 个(新进来的成员会排前面),用户每次登录后,都需要重新加入群组,否则拉取群成员会报 10007 错误码。
  • 群成员资料信息仅支持 userID | nickName | faceURL | role 字段。
  • role 字段不支持管理员角色,如果您的业务逻辑依赖于管理员角色,可以使用群自定义字段 groupAttributes 管理该角色。

◆ getGroupMembersInfo:memberList:succ:fail:()

- (void) getGroupMembersInfo: (NSString *)  groupID
memberList: (NSArray< NSString * > *)  memberList
succ: (V2TIMGroupMemberInfoListSucc succ
fail: (V2TIMFail)  fail 

3.2 指定的群成员资料

◆ setGroupMemberInfo:info:succ:fail:()

- (void) setGroupMemberInfo: (NSString *)  groupID
info: (V2TIMGroupMemberFullInfo *)  info
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

3.3 修改指定的群成员资料

◆ muteGroupMember:member:muteTime:succ:fail:()

- (void) muteGroupMember: (NSString *)  groupID
member: (NSString *)  userID
muteTime: (uint32_t)  seconds
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

3.4 禁言(只有管理员或群主能够调用)

◆ inviteUserToGroup:userList:succ:fail:()

- (void) inviteUserToGroup: (NSString *)  groupID
userList: (NSArray< NSString * > *)  userList
succ: (V2TIMGroupMemberOperationResultListSucc succ
fail: (V2TIMFail)  fail 

3.5 邀请他人入群

注意
请注意不同类型的群有如下限制:
  • 工作群(Work):群里的任何人都可以邀请其他人进群。
  • 会议群(Meeting)和公开群(Public):只有通过rest api 使用 App 管理员身份才可以邀请其他人进群。
  • 直播群(AVChatRoom):不支持此功能。

◆ kickGroupMember:memberList:reason:succ:fail:()

- (void) kickGroupMember: (NSString *)  groupID
memberList: (NSArray< NSString * > *)  memberList
reason: (NSString *)  reason
succ: (V2TIMGroupMemberOperationResultListSucc succ
fail: (V2TIMFail)  fail 

3.6 踢人

注意
请注意不同类型的群有如下限制:
  • 工作群(Work):只有群主或 APP 管理员可以踢人。
  • 公开群(Public)、会议群(Meeting):群主、管理员和 APP 管理员可以踢人
  • 直播群(AVChatRoom):只支持禁言(muteGroupMember),不支持踢人。

◆ setGroupMemberRole:member:newRole:succ:fail:()

- (void) setGroupMemberRole: (NSString *)  groupID
member: (NSString *)  userID
newRole: (V2TIMGroupMemberRole)  role
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

3.7 切换群成员的角色

注意
请注意不同类型的群有如下限制:
  • 公开群(Public)和会议群(Meeting):只有群主才能对群成员进行普通成员和管理员之间的角色切换。
  • 其他群不支持设置群成员角色。
  • 转让群组请调用 transferGroupOwner 接口。

◆ transferGroupOwner:member:succ:fail:()

- (void) transferGroupOwner: (NSString *)  groupID
member: (NSString *)  userID
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

3.8 转让群主

注意
请注意不同类型的群有如下限制:
  • 普通类型的群(Work、Public、Meeting):只有群主才有权限进行群转让操作。
  • 直播群(AVChatRoom):不支持转让群主。

◆ getGroupApplicationList:fail:()

- (void) getGroupApplicationList: (V2TIMGroupApplicationResultSucc succ
fail: (V2TIMFail)  fail 

4.1 获取加群的申请列表

◆ acceptGroupApplication:reason:succ:fail:()

- (void) acceptGroupApplication: (V2TIMGroupApplication *)  application
reason: (NSString *)  reason
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

4.2 同意某一条加群申请

◆ refuseGroupApplication:reason:succ:fail:()

- (void) refuseGroupApplication: (V2TIMGroupApplication *)  application
reason: (NSString *)  reason
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

4.3 拒绝某一条加群申请

◆ setGroupApplicationRead:fail:()

- (void) setGroupApplicationRead: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

4.4 标记申请列表为已读