Class V2TIMGroupManager
群组管理类
Inheritance
Namespace: com.tencent.imsdk.unity
Assembly: im-unity-plugin.dll
Syntax
public class V2TIMGroupManager : object
Methods
acceptGroupApplication(String, String, String)
同意某一条加群申请
Declaration
public void acceptGroupApplication(string groupID, string fromUser, string reason)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | fromUser | 用户ID |
System.String | reason | 理由 |
createGroup(String, String, String, String, String, String, CreateGroupMemberInfoEntity[])
创建自定义群组(高级版本:可以指定初始的群成员)
Declaration
public void createGroup(string groupID, string groupType, string groupName, string notification, string introduction, string faceUrl, CreateGroupMemberInfoEntity[] memberList)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | groupType | 群类型,Public/Meeting/Work/AVChatRoom |
System.String | groupName | 群名 |
System.String | notification | 群公告 |
System.String | introduction | 群简介 |
System.String | faceUrl | 群头像地址 |
CreateGroupMemberInfoEntity[] | memberList | 指定初始的群成员(直播群 AVChatRoom 不支持指定初始群成员,memberList 请传 null) |
deleteGroupAttributes(String, String[])
删除群指定属性,keys 传 nil 则清空所有群属性
Declaration
public void deleteGroupAttributes(string groupID, string[] keys)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String[] | keys | 要删除的属性key |
dismissGroup(String)
解散群组
Work:任何人都无法解散群组,其他群:群主可以解散群组
Declaration
public void dismissGroup(string groupID)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
getGroupApplicationList()
获取加群的申请列表
Declaration
public void getGroupApplicationList()
getGroupAttributes(String, String[])
Declaration
public void getGroupAttributes(string groupID, string[] keys)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | |
System.String[] | keys |
getGroupMemberList(String, GroupMemberFilterType, Int32)
获取群成员列表
直播群(AVChatRoom)的特殊限制:
不支持管理员角色的拉取,群成员个数最大只支持 31 个(新进来的成员会排前面),用户每次登录后,都需要重新加入群组,否则拉取群成员会报 10007 错误码
群成员资料信息仅支持 userID | nickName | faceURL | role 字段
role 字段不支持管理员角色,如果您的业务逻辑依赖于管理员角色,可以使用群自定义字段 groupAttributes 管理该角色
Declaration
public void getGroupMemberList(string groupID, GroupMemberFilterType filter, int nextSeq)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
GroupMemberFilterType | filter | 指定群成员类型 |
System.Int32 | nextSeq | 分页拉取标志,第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为 0 |
getGroupMembersInfo(String, String[])
指定的群成员资料
Declaration
public void getGroupMembersInfo(string groupID, string[] memberList)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String[] | memberList | 用户ID列表 |
getGroupOnlineMemberCount(String)
获取指定群在线人数
目前只支持:直播群( AVChatRoom)
该接口有频限检测,SDK 限制调用频率为60秒1次
Declaration
public void getGroupOnlineMemberCount(string groupID)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
getGroupsInfo(String[])
拉取群资料
Declaration
public void getGroupsInfo(string[] groupIDList)
Parameters
Type | Name | Description |
---|---|---|
System.String[] | groupIDList | 群ID列表 |
getJoinedGroupList()
获取当前用户已经加入的群列表
直播群(AVChatRoom)不支持该 API
该接口有频限检测,SDK 限制调用频率为 1 秒 10 次,超过限制后会报 ERR_SDK_COMM_API_CALL_FREQUENCY_LIMIT (7008)错误
Declaration
public void getJoinedGroupList()
initGroupAttributes(String, Dictionary<String, String>)
初始化群属性,会清空原有的群属性列表
attributes 的使用限制如下:
目前只支持 AVChatRoom
value 长度限制为4k
总的 attributes(包括 key 和 value)限制为16k
initGroupAttributes、setGroupAttributes、deleteGroupAttributes 接口合并计算, SDK 限制为5秒10次,超过后回调8511错误码;后台限制1秒5次,超过后返回10049错误码
getGroupAttributes 接口 SDK 限制5秒20次
Declaration
public void initGroupAttributes(string groupID, Dictionary<string, string> attributes)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | |
Dictionary<System.String, System.String> | attributes |
inviteUserToGroup(String, String[])
邀请他人入群
请注意不同类型的群有如下限制:
工作群(Work):群里的任何人都可以邀请其他人进群。
会议群(Meeting)和公开群(Public):管理员身份才可以邀请其他人进群。
直播群(AVChatRoom):不支持此功能。
Declaration
public void inviteUserToGroup(string groupID, string[] userList)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String[] | userList | 用户ID列表 |
joinGroup(String, String)
加入群组
工作群(Work):不能主动入群,只能通过群成员调用 V2TIMManager+Group.h -> inviteUserToGroup 接口邀请入群
公开群(Public):申请入群后,需要管理员审批,管理员在收到 V2TIMGroupListener -> onReceiveJoinApplication 回调后调用 V2TIMManager+Group.h -> getGroupApplicationList 接口处理加群请求
其他群,可以直接进群
Declaration
public void joinGroup(string groupID, string message)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | message | 申请信息 |
kickGroupMember(String, String[], String)
踢人
请注意不同类型的群有如下限制:
工作群(Work):只有群主或 APP 管理员可以踢人。
公开群(Public)、会议群(Meeting):群主、管理员和 APP 管理员可以踢人
直播群(AVChatRoom):只支持禁言(muteGroupMember),不支持踢人。
Declaration
public void kickGroupMember(string groupID, string[] memberList, string reason)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String[] | memberList | 用户ID列表 |
System.String | reason | 理由 |
muteGroupMember(String, String, Int32)
禁言(只有管理员或群主能够调用)
Declaration
public void muteGroupMember(string groupID, string userID, int seconds)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | userID | 用户ID |
System.Int32 | seconds | 禁言时间 |
quitGroup(String)
退出群组
在公开群(Public)、会议(Meeting)和直播群(AVChatRoom)中,群主是不可以退群的,群主只能调用 dismissGroup 解散群组
Declaration
public void quitGroup(string groupID)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
refuseGroupApplication(String, String, String)
拒绝某一条加群申请
Declaration
public void refuseGroupApplication(string groupID, string fromUser, string reason)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | fromUser | 用户ID |
System.String | reason | 理由 |
setGroupApplicationRead()
标记申请列表为已读
Declaration
public void setGroupApplicationRead()
setGroupAttributes(String, Dictionary<String, String>)
设置群属性,已有该群属性则更新其 value 值,没有该群属性则添加该群属性
Declaration
public void setGroupAttributes(string groupID, Dictionary<string, string> attributes)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
Dictionary<System.String, System.String> | attributes | 熟悉列表 |
setGroupInfo(String, String, String, String, String, String, Boolean, GroupAddOptType)
修改群资料
Declaration
public void setGroupInfo(string groupID, string groupType, string groupName, string notification, string introduction, string faceUrl, bool isAllMuted, GroupAddOptType groupAddOpt)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | groupType | 群类型 |
System.String | groupName | 群名 |
System.String | notification | 群公告 |
System.String | introduction | 群简介 |
System.String | faceUrl | 群头像 |
System.Boolean | isAllMuted | 是否全员禁言 |
GroupAddOptType | groupAddOpt | 加群是否需要管理员审批,工作群(Work)不能主动加入,不支持此设置项 |
setGroupMemberInfo(String, String, String, Dictionary<String, String>)
修改指定的群成员资料
Declaration
public void setGroupMemberInfo(string groupID, string userID, string nameCard, Dictionary<string, string> customInfo)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | userID | 用户ID |
System.String | nameCard | 用户名片 |
Dictionary<System.String, System.String> | customInfo |
setGroupMemberRole(String, String, GroupMemberRoleType)
切换群成员的角色
请注意不同类型的群有如下限制:
公开群(Public)和会议群(Meeting):只有群主才能对群成员进行普通成员和管理员之间的角色切换
其他群不支持设置群成员角色。
转让群组请调用 transferGroupOwner 接口
Declaration
public void setGroupMemberRole(string groupID, string userID, GroupMemberRoleType role)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | userID | 用户ID |
GroupMemberRoleType | role | 用户角色 |
setGroupReceiveMessageOpt(String, GroupReceiveMessageOpt)
修改群消息接收选项
Declaration
public void setGroupReceiveMessageOpt(string groupID, GroupReceiveMessageOpt opt)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
GroupReceiveMessageOpt | opt | 群消息接受选项 |
transferGroupOwner(String, String)
转让群主
请注意不同类型的群有如下限制:
普通类型的群(Work、Public、Meeting):只有群主才有权限进行群转让操作。
直播群(AVChatRoom):不支持转让群主。
Declaration
public void transferGroupOwner(string groupID, string userID)
Parameters
Type | Name | Description |
---|---|---|
System.String | groupID | 群ID |
System.String | userID | 用户ID |