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

详细描述

群组高级接口,包含了群组的高级功能,例如群成员邀请、非群成员申请进群等操作接口。

Public 成员函数

abstract void createGroup (V2TIMGroupInfo info, List< V2TIMCreateGroupMemberInfo > memberList, V2TIMValueCallback< String > callback)
 
abstract void getJoinedGroupList (V2TIMValueCallback< List< V2TIMGroupInfo >> callback)
 
abstract void getGroupsInfo (List< String > groupIDList, V2TIMValueCallback< List< V2TIMGroupInfoResult >> callback)
 
abstract void setGroupInfo (V2TIMGroupInfo info, V2TIMCallback callback)
 
abstract void setReceiveMessageOpt (String groupID, int opt, V2TIMCallback callback)
 
abstract void initGroupAttributes (String groupID, HashMap< String, String > attributes, V2TIMCallback callback)
 
abstract void setGroupAttributes (String groupID, HashMap< String, String > attributes, V2TIMCallback callback)
 
abstract void deleteGroupAttributes (String groupID, List< String > keys, V2TIMCallback callback)
 
abstract void getGroupAttributes (String groupID, List< String > keys, V2TIMValueCallback< Map< String, String >> callback)
 
abstract void getGroupMemberList (String groupID, int filter, long nextSeq, V2TIMValueCallback< V2TIMGroupMemberInfoResult > callback)
 
abstract void getGroupMembersInfo (String groupID, List< String > memberList, V2TIMValueCallback< List< V2TIMGroupMemberFullInfo >> callback)
 
abstract void setGroupMemberInfo (String groupID, V2TIMGroupMemberFullInfo info, V2TIMCallback callback)
 
abstract void muteGroupMember (String groupID, String userID, int seconds, V2TIMCallback callback)
 
abstract void inviteUserToGroup (String groupID, List< String > userList, V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >> callback)
 
abstract void kickGroupMember (String groupID, List< String > memberList, String reason, V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >> callback)
 
abstract void setGroupMemberRole (String groupID, String userID, int role, V2TIMCallback callback)
 
abstract void transferGroupOwner (String groupID, String userID, V2TIMCallback callback)
 
abstract void getGroupApplicationList (V2TIMValueCallback< V2TIMGroupApplicationResult > callback)
 
abstract void acceptGroupApplication (V2TIMGroupApplication application, String reason, V2TIMCallback callback)
 
abstract void refuseGroupApplication (V2TIMGroupApplication application, String reason, V2TIMCallback callback)
 
abstract void setGroupApplicationRead (V2TIMCallback callback)
 

成员函数说明

◆ createGroup()

abstract void createGroup ( V2TIMGroupInfo  info,
List< V2TIMCreateGroupMemberInfo memberList,
V2TIMValueCallback< String >  callback 
)
abstract

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

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

◆ getJoinedGroupList()

abstract void getJoinedGroupList ( V2TIMValueCallback< List< V2TIMGroupInfo >>  callback)
abstract

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

注意
直播群(AVChatRoom) 不支持该 API。

◆ getGroupsInfo()

abstract void getGroupsInfo ( List< String >  groupIDList,
V2TIMValueCallback< List< V2TIMGroupInfoResult >>  callback 
)
abstract

2.1 拉取群资料

参数
groupIDList群 ID 列表

◆ setGroupInfo()

abstract void setGroupInfo ( V2TIMGroupInfo  info,
V2TIMCallback  callback 
)
abstract

修改群资料

◆ setReceiveMessageOpt()

abstract void setReceiveMessageOpt ( String  groupID,
int  opt,
V2TIMCallback  callback 
)
abstract

修改群消息接收选项

参数
opt三种类型的消息接收选项: V2TIMGroupInfo.V2TIM_GROUP_RECEIVE_MESSAGE:在线正常接收消息,离线时会有厂商的离线推送通知 V2TIMGroupInfo.V2TIM_GROUP_NOT_RECEIVE_MESSAGE:不会接收到群消息 V2TIMGroupInfo.V2TIM_GROUP_RECEIVE_NOT_NOTIFY_MESSAGE:在线正常接收消息,离线不会有推送通知

◆ initGroupAttributes()

abstract void initGroupAttributes ( String  groupID,
HashMap< String, String >  attributes,
V2TIMCallback  callback 
)
abstract

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

注意
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()

abstract void setGroupAttributes ( String  groupID,
HashMap< String, String >  attributes,
V2TIMCallback  callback 
)
abstract

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

◆ deleteGroupAttributes()

abstract void deleteGroupAttributes ( String  groupID,
List< String >  keys,
V2TIMCallback  callback 
)
abstract

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

◆ getGroupAttributes()

abstract void getGroupAttributes ( String  groupID,
List< String >  keys,
V2TIMValueCallback< Map< String, String >>  callback 
)
abstract

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

◆ getGroupMemberList()

abstract void getGroupMemberList ( String  groupID,
int  filter,
long  nextSeq,
V2TIMValueCallback< V2TIMGroupMemberInfoResult callback 
)
abstract

3.1 获取群成员列表

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

◆ getGroupMembersInfo()

abstract void getGroupMembersInfo ( String  groupID,
List< String >  memberList,
V2TIMValueCallback< List< V2TIMGroupMemberFullInfo >>  callback 
)
abstract

3.2 获取指定的群成员资料

◆ setGroupMemberInfo()

abstract void setGroupMemberInfo ( String  groupID,
V2TIMGroupMemberFullInfo  info,
V2TIMCallback  callback 
)
abstract

3.3 修改指定的群成员资料

◆ muteGroupMember()

abstract void muteGroupMember ( String  groupID,
String  userID,
int  seconds,
V2TIMCallback  callback 
)
abstract

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

◆ inviteUserToGroup()

abstract void inviteUserToGroup ( String  groupID,
List< String >  userList,
V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >>  callback 
)
abstract

3.5 邀请他人入群

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

◆ kickGroupMember()

abstract void kickGroupMember ( String  groupID,
List< String >  memberList,
String  reason,
V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >>  callback 
)
abstract

3.6 踢人

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

◆ setGroupMemberRole()

abstract void setGroupMemberRole ( String  groupID,
String  userID,
int  role,
V2TIMCallback  callback 
)
abstract

3.7 切换群成员的角色。

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

◆ transferGroupOwner()

abstract void transferGroupOwner ( String  groupID,
String  userID,
V2TIMCallback  callback 
)
abstract

3.8 转让群主

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

◆ getGroupApplicationList()

abstract void getGroupApplicationList ( V2TIMValueCallback< V2TIMGroupApplicationResult callback)
abstract

4.1 获取加群的申请列表

◆ acceptGroupApplication()

abstract void acceptGroupApplication ( V2TIMGroupApplication  application,
String  reason,
V2TIMCallback  callback 
)
abstract

4.2 同意某一条加群申请

◆ refuseGroupApplication()

abstract void refuseGroupApplication ( V2TIMGroupApplication  application,
String  reason,
V2TIMCallback  callback 
)
abstract

4.3 拒绝某一条加群申请

◆ setGroupApplicationRead()

abstract void setGroupApplicationRead ( V2TIMCallback  callback)
abstract

4.4 标记申请列表为已读