public class TIMGroupManager
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static class |
TIMGroupManager.CreateGroupParam
创建群组时的参数类
|
static class |
TIMGroupManager.DeleteMemberParam
删除群成员参数类
|
static class |
TIMGroupManager.ModifyGroupInfoParam
修改群资料参数类
|
static class |
TIMGroupManager.ModifyMemberInfoParam
修改群成员资料参数类
|
限定符和类型 | 方法和说明 |
---|---|
void |
applyJoinGroup(java.lang.String groupId,
java.lang.String reason,
TIMCallBack cb)
申请加群
1.
|
void |
createGroup(TIMGroupManager.CreateGroupParam param,
TIMValueCallBack<java.lang.String> cb)
创建群组
群组类型形态请参考官网文档 https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E7.BB.84.E5.BD.A2.E6.80.81.E4.BB.8B.E7.BB.8D
|
void |
deleteGroup(java.lang.String groupId,
TIMCallBack cb)
解散群组
1.
|
void |
deleteGroupMember(TIMGroupManager.DeleteMemberParam param,
TIMValueCallBack<java.util.List<TIMGroupMemberResult>> cb)
删除群成员
1.
|
void |
getGroupInfo(java.util.List<java.lang.String> groupIdList,
TIMValueCallBack<java.util.List<TIMGroupDetailInfoResult>> cb)
获取服务器存储的群组信息
1.
|
void |
getGroupList(TIMValueCallBack<java.util.List<TIMGroupBaseInfo>> cb)
获取群列表
获取自己所加入的群列表。
|
void |
getGroupMembers(java.lang.String groupId,
TIMValueCallBack<java.util.List<TIMGroupMemberInfo>> cb)
获取群成员列表
设置默认拉取的群成员资料,如果想要拉取自定义字段,要通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群成员维度自定义字段配置对应的 "自定义字段" 和用户操作权限,控制台配置之后 5 分钟后才会生效。
|
void |
getGroupMembersByFilter(java.lang.String groupId,
long flags,
TIMGroupMemberRoleFilter filter,
java.util.List<java.lang.String> custom,
long nextSeq,
TIMValueCallBack<TIMGroupMemberSucc> cb)
获取指定类型的成员列表(支持按字段拉取,分页)
|
void |
getGroupMembersInfo(java.lang.String groupId,
java.util.List<java.lang.String> userIDs,
TIMValueCallBack<java.util.List<TIMGroupMemberInfo>> cb)
获取群组指定成员的信息
获取群组指定成员的信息,需要设置群成员 userIDs,其他限制参考 getGroupMembers
|
void |
getGroupOnlineMemberCount(java.lang.String groupId,
TIMValueCallBack<java.lang.Integer> cb)
获取指定群组在线人数
|
void |
getGroupPendencyList(TIMGroupPendencyGetParam param,
TIMValueCallBack<TIMGroupPendencyListGetSucc> cb)
获取群组未处理请求列表
1.
|
static TIMGroupManager |
getInstance()
获取群管理器实例
|
void |
getSelfInfo(java.lang.String groupId,
TIMValueCallBack<TIMGroupSelfInfo> cb)
获取本人在群组内的成员信息
p默认拉取基本资料,如果想要拉取自定义字段,请参考 getGroupMembers
|
void |
inviteGroupMember(java.lang.String groupId,
java.util.List<java.lang.String> memList,
TIMValueCallBack<java.util.List<TIMGroupMemberResult>> cb)
邀请好友入群
1.
|
void |
modifyGroupInfo(TIMGroupManager.ModifyGroupInfoParam param,
TIMCallBack cb)
修改群组基本信息
|
void |
modifyGroupOwner(java.lang.String groupId,
java.lang.String userID,
TIMCallBack cb)
转让群给新群主
|
void |
modifyMemberInfo(TIMGroupManager.ModifyMemberInfoParam param,
TIMCallBack cb)
修改群成员资料
|
TIMGroupDetailInfo |
queryGroupInfo(java.lang.String groupId)
获取本地存储的群组信息
1.
|
void |
quitGroup(java.lang.String groupId,
TIMCallBack cb)
主动退出群组
1.
|
void |
reportGroupPendency(long timestamp,
TIMCallBack cb)
群未处理列表已读上报
对于未处理信息,SDK 可对其和之前的所有未处理请求上报已读。
|
public static final int TIM_GET_GROUP_MEM_INFO_FLAG_JOIN_TIME
public static final int TIM_GET_GROUP_MEM_INFO_FLAG_MSG_FLAG
public static final int TIM_GET_GROUP_MEM_INFO_FLAG_ROLE_INFO
public static final int TIM_GET_GROUP_MEM_INFO_FLAG_SHUTUP_TIME
public static final int TIM_GET_GROUP_MEM_INFO_FLAG_NAME_CARD
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_NAME
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_CREATE_TIME
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_OWNER_UIN
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_SEQ
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_TIME
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_NEXT_MSG_SEQ
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_LAST_MSG_TIME
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_APP_ID
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_MEMBER_NUM
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_MAX_MEMBER_NUM
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_NOTIFICATION
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_INTRODUCTION
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_FACE_URL
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_ADD_OPTION
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_GROUP_TYPE
public static final int TIM_GET_GROUP_BASE_INFO_FLAG_LAST_MSG
public static TIMGroupManager getInstance()
public void createGroup(@NonNull TIMGroupManager.CreateGroupParam param, TIMValueCallBack<java.lang.String> cb)
群组类型形态请参考官网文档 https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E7.BB.84.E5.BD.A2.E6.80.81.E4.BB.8B.E7.BB.8D
param
- 创建群组需要的信息集, 详见TIMGroupManager.CreateGroupParam
cb
- 回调,OnSuccess函数的参数中将返回创建成功的群组Idpublic void deleteGroup(@NonNull java.lang.String groupId, TIMCallBack cb)
1. 私有群:任何人都无法解散群组
2. 公开群、聊天室、直播大群:群主可以解散群组。
groupId
- 群组idcb
- 回调public void applyJoinGroup(@NonNull java.lang.String groupId, java.lang.String reason, TIMCallBack cb)
1. 私有群:不能由用户主动申请入群。
2. 公开群、聊天室:可以主动申请进入。
3. 直播大群:可以任意加入群组。
4. 如果群组设置为需要审核,申请入群后管理员和群主会收到申请入群系统消息 TIMGroupSystemElem,判断 TIMGroupSystemElem 的 Type 类型如果是 TIM_GROUP_SYSTEM_ADD_GROUP_REQUEST_TYPE ,
调用消息的 accept 接口同意入群,申请人会收到同意入群的消息 TIMGroupSystemElem(Type:TIM_GROUP_SYSTEM_ADD_GROUP_ACCEPT_TYPE),调用 refuse 接口拒绝入群,
申请人会收到拒绝入群的消息 TIMGroupSystemElem(Type:TIM_GROUP_SYSTEM_ADD_GROUP_REFUSE_TYPE)。
5. 如果群主设置为任何人可加入,则直接入群成功。
groupId
- 群组idreason
- 申请理由(选填)cb
- 回调public void quitGroup(@NonNull java.lang.String groupId, TIMCallBack cb)
1. 私有群:全员可退出群组。
2. 公开群、聊天室、直播大群:群主不能退出。
3. 当用户主动退出群组时,该用户会收到退群消息 TIMGroupSystemElem(Type:TIM_GROUP_SYSTEM_QUIT_GROUP_TYPE),只有退群的用户自己可以收到。
当用户调用 QuitGroup 时成功回调返回,表示已退出成功,此消息主要为了多终端同步,其他终端可以作为更新群列表的时机,本终端可以选择忽略。
groupId
- 群组Idcb
- 回调public void inviteGroupMember(@NonNull java.lang.String groupId, @NonNull java.util.List<java.lang.String> memList, TIMValueCallBack<java.util.List<TIMGroupMemberResult>> cb)
1. 只有私有群可以邀请用户入群
2. 公开群,聊天室不能邀请用户入群,但在创建群时可以直接拉人入群
3. 音视频聊天室不能拉用户入群,也不能在创建群时拉人入群,只能用户主动进群
groupId
- 群组idmemList
- 待加入群组的用户 id 列表cb
- 回调,OnSuccess 函数的参数中返回成功加入群组的用户帐号public void deleteGroupMember(@NonNull TIMGroupManager.DeleteMemberParam param, TIMValueCallBack<java.util.List<TIMGroupMemberResult>> cb)
param
- 删除群成员参数cb
- 回调,OnSuccess函数的参数中返回成功删除的群成员列表public void getGroupList(TIMValueCallBack<java.util.List<TIMGroupBaseInfo>> cb)
获取自己所加入的群列表。
cb
- 回调,OnSuccess函数的参数中返回已加入的群组信息
请注意:该接口有频限检测,SDK 限制调用频率为1 秒 10 次,超过限制后会报 ERR_SDK_COMM_API_CALL_FREQUENCY_LIMIT (7008)错误
public void getGroupInfo(@NonNull java.util.List<java.lang.String> groupIdList, TIMValueCallBack<java.util.List<TIMGroupDetailInfoResult>> cb)
1. 无论是公开群还是私有群,群成员均可以拉到群组信息。
2. 如果是公开群,非群组成员可以拉到
groupId\groupName\groupOwner\groupType\createTime\memberNum\maxMemberNum\onlineMemberNum\groupIntroduction\groupFaceUrl\addOption\custom 这些字段信息。
如果是私有群,非群组成员拉取不到群组信息。
3. 设置默认拉取的群组资料,如果想要拉取自定义字段,要通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群维度自定义字段配置对应的 "自定义字段" 和用户操作权限,控制台配置之后 5 分钟后才会生效。
groupIdList
- 需要拉取详细信息的群组Id列表,一次最多50个cb
- 回调,OnSuccess函数的参数中返回群组信息TIMGroupDetailInfoResult
列表public void getGroupOnlineMemberCount(@NonNull java.lang.String groupId, TIMValueCallBack<java.lang.Integer> cb)
groupId
- 指定群IDcb
- 回调,OnSuccess函数的参数中返回群组在线人数
请注意:
1. 目前只支持:直播群(AVChatRoom)。
2. 该接口有频限检测,SDK 限制调用频率为60秒1次。
public TIMGroupDetailInfo queryGroupInfo(@NonNull java.lang.String groupId)
1. 无论是公开群还是私有群,群成员均可以拉到群组信息。
2. 如果是公开群,非群组成员可以拉到
groupId\groupName\groupOwner\groupType\createTime\memberNum\maxMemberNum\onlineMemberNum\groupIntroduction\groupFaceUrl\addOption\custom 这些字段信息。
如果是私有群,非群组成员拉取不到群组信息。
3. 默认拉取基本资料,如果想要拉取自定义字段,请参考 getGroupInfo。
groupId
- 需要拉取详细信息的群组Idpublic void getGroupMembers(@NonNull java.lang.String groupId, TIMValueCallBack<java.util.List<TIMGroupMemberInfo>> cb)
设置默认拉取的群成员资料,如果想要拉取自定义字段,要通过 [IM 控制台](https://console.cloud.tencent.com/avc) -> 功能配置 -> 群成员维度自定义字段配置对应的 "自定义字段" 和用户操作权限,控制台配置之后 5 分钟后才会生效。
groupId
- 群组Idcb
- 回调,OnSuccess函数的参数中返回群组成员列表public void getSelfInfo(@NonNull java.lang.String groupId, TIMValueCallBack<TIMGroupSelfInfo> cb)
groupId
- 群组Idcb
- 回调, 在OnSuccess函数的参数中返回自身信息public void getGroupMembersInfo(@NonNull java.lang.String groupId, @NonNull java.util.List<java.lang.String> userIDs, TIMValueCallBack<java.util.List<TIMGroupMemberInfo>> cb)
groupId
- 指定群IDuserIDs
- 指定群成员 userID,一次最多50个cb
- 回调,OnSuccess函数的参数中返回群组成员列表public void getGroupMembersByFilter(@NonNull java.lang.String groupId, long flags, @NonNull TIMGroupMemberRoleFilter filter, java.util.List<java.lang.String> custom, long nextSeq, TIMValueCallBack<TIMGroupMemberSucc> cb)
groupId
- 群组Idflags
- 拉取资料标志, 如TIM_GET_GROUP_MEM_INFO_FLAG_NAME_CARD
等标志的或组合位图filter
- 角色过滤类型,详见TIMGroupMemberRoleFilter
custom
- 要获取的自定义key列表nextSeq
- 分页拉取标志,第一次拉取填0,回调成功如果不为零,需要分页,传入再次拉取,直至为0cb
- 回调public void modifyGroupInfo(@NonNull TIMGroupManager.ModifyGroupInfoParam param, TIMCallBack cb)
param
- 参数类cb
- 回调public void modifyGroupOwner(@NonNull java.lang.String groupId, @NonNull java.lang.String userID, TIMCallBack cb)
groupId
- 群组IDuserID
- 新群主的userIDcb
- 回调public void modifyMemberInfo(@NonNull TIMGroupManager.ModifyMemberInfoParam param, TIMCallBack cb)
param
- 修改群成员资料参数cb
- 回调public void getGroupPendencyList(@NonNull TIMGroupPendencyGetParam param, TIMValueCallBack<TIMGroupPendencyListGetSucc> cb)
1. 群未处理请求泛指所有需要审批的群相关的操作(例如:加群待审批,拉人入群待审批等等)。即便审核通过或者拒绝后,该条信息也可通过此接口拉回,拉回的信息中有已处理标志
2. 审批人:有权限拉取相关信息,如果 UserA 申请加入群 GroupA,则群管理员可获取此未处理相关信息,UserA 因为没有审批权限,不需要拉取未处理信息。如果 AdminA 拉 UserA 进去 GroupA,则 UserA 可以拉取此未处理相关信息,因为该未处理信息待 UserA 审批。
param
- 获取群未决请求列表参数类,详见TIMGroupPendencyGetParam
cb
- 回调,在onSuccess的参数中返回群未决的列表及元数据,详见TIMGroupPendencyItem
public void reportGroupPendency(long timestamp, TIMCallBack cb)
对于未处理信息,SDK 可对其和之前的所有未处理请求上报已读。上报已读后,仍然可以拉取到这些未决信息,但可通过对已读时戳的判断判定未决信息是否已读。
timestamp
- 已读时间戳(单位秒),此时间戳以前的群未决请求都将置为已读cb
- 回调