IMSDK
IM features a comprehensive suite of solutions including global access, one-to-one chat, group chat, message push, profile and relationship chain hosting, and account authentication. It also provides complete app access and backend management APIs.
V2TIMGroupManagerabstract

Public Member Functions

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 searchGroups (V2TIMGroupSearchParam searchParam, V2TIMValueCallback< List< V2TIMGroupInfo >> callback)
 
abstract void setGroupInfo (V2TIMGroupInfo info, 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 getGroupOnlineMemberCount (String groupID, V2TIMValueCallback< Integer > 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 searchGroupMembers (V2TIMGroupMemberSearchParam param, V2TIMValueCallback< HashMap< String, 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)
 

Detailed Description

Advanced group APIs, including APIs for advanced group features such as group member invitation and group joining request

Member Function Documentation

◆ createGroup()

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

1.1 Create a custom group (the advanced version API allows you to specify initial group members)

Parameters
infoCustom group information, including the groupID, groupType, groupName, notification, introduction, and faceURL fields
memberListSpecify initial group members (Audio-video groups do not support specifying initial group members. Pass in null for memberList.)
Attention
For other limits, please see V2TIMManager.createGroup remarks.

◆ getJoinedGroupList()

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

1.2 Get the list of groups that the current user has joined

Attention
  • Audio-video groups (AVChatRoom) do not support this API.
  • This API implements frequency limit checks. It can be called by the SDK for up to 10 times per second. When the limit is exceeded, the error ERR_SDK_COMM_API_CALL_FREQUENCY_LIMIT (7008) is reported.

◆ getGroupsInfo()

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

2.1 Pull group profiles

Parameters
groupIDListList of group IDs

◆ searchGroups()

abstract void searchGroups ( V2TIMGroupSearchParam  searchParam,
V2TIMValueCallback< List< V2TIMGroupInfo >>  callback 
)
abstract

2.2 Search for group profiles (supported only in 5.4.666 and later versions and need to buy Flagship Edition)

Parameters
searchParamSearch parameters

◆ setGroupInfo()

abstract void setGroupInfo ( V2TIMGroupInfo  info,
V2TIMCallback  callback 
)
abstract

2.3 Modify group profiles

◆ initGroupAttributes()

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

2.4 Initialize group attributes (this operation will clear the existing group attribute list)

Attention
Use limits of attributes:
  • Currently, attributes are supported by audio-video groups (AVChatRoom) only.
  • Up to 16 keys are supported, with a length limit of 32 bytes.
  • The length limit for value is 4 KB.
  • The total length limit for attributes (including keys and values) is 16 KB.
  • The initGroupAttributes, setGroupAttributes, and deleteGroupAttributes APIs each can be called by the SDK for up to 10 times per 5 seconds, and the 8511 error code will be called back if the limit is exceeded. The APIs each can be called by the backend for up to 5 times per second, and the 10049 error code will be called back if the limit is exceeded.
  • The getGroupAttributes API can be called by the SDK for up to 20 times per 5 seconds.
  • Starting from version 5.6, when you modify group attributes for the first time after the app is started, please call getGroupAttributes to pull the latest group attributes before you initiate the modification operation.
  • Starting from version 5.6, when multiple users modify the same group attributes at the same time, only the first user can execute successfully, and other users will receive the 10056 error code. After receiving this error code, please call getGroupAttributes to update the locally stored group attributes to the latest before you initiate the modification operation.

◆ setGroupAttributes()

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

2.5 Set group attributes. (If the group attributes already exist, their values are updated. Otherwise, the group attributes are added.)

Attention
  • Currently, attributes are supported by audio-video groups (AVChatRoom) only.

◆ deleteGroupAttributes()

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

2.6 Delete specified group attributes (If null is passed in for keys, all group attributes are cleared.)

Attention
  • Currently, attributes are supported by audio-video groups (AVChatRoom) only.

◆ getGroupAttributes()

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

2.7 Get specified group attributes (If null is passed in for keys, all group attributes are obtained.)

Attention
  • Currently, attributes are supported by audio-video groups (AVChatRoom) only.

◆ getGroupOnlineMemberCount()

abstract void getGroupOnlineMemberCount ( String  groupID,
V2TIMValueCallback< Integer >  callback 
)
abstract

2.8 Get the number of online members of a group

Attention
Notes:
  • Currently, this API is supported only by audio-video groups (AVChatRoom).
  • This API implements frequency limit checks. It can be called by the SDK for up to once per 60 seconds.

◆ getGroupMemberList()

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

3.1 Get the group member list

Parameters
filterSpecify the group member type
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_ALL: all types
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_OWNER: group owner
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_ADMIN: group admin
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_COMMON: common group member
nextSeqPulling-by-page flag. It is set to 0 when the information is pulled for the first time. If the callback succeeds and nextSeq is not 0, pagination is needed. The value of this field is passed in for the next pull until the value becomes 0.
Attention
Special restrictions for audio-video groups (AVChatRoom):
  • The admin role cannot be pulled. The maximum number of group members supported is 31 (new members will be placed at the top of the list). After the app is restarted, please join the group again. Otherwise, the 10007 error code will be reported when you pull the group member list.
  • Only the following fields can be modified in group member profiles: userID, nickName, faceURL, and role.
  • The filter field does not support the admin role. If your business logic relies on the admin role, use the custom group field groupAttributes to manage the admin role.

◆ getGroupMembersInfo()

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

3.2 Get the profiles of specified group members

◆ searchGroupMembers()

abstract void searchGroupMembers ( V2TIMGroupMemberSearchParam  param,
V2TIMValueCallback< HashMap< String, List< V2TIMGroupMemberFullInfo >>>  callback 
)
abstract

3.3 Search for group members (supported only in 5.4.666 and later versions and need to buy Flagship Edition)

Parameters
paramSearch parameters

◆ setGroupMemberInfo()

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

3.4 Modify the profiles of specified group members

◆ muteGroupMember()

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

3.5 Mute (this API can be called by the admin or group owner)

◆ inviteUserToGroup()

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

3.6 Invite users to a group

Attention
The limits for different types of groups are as follows:
  • Work group (Work): anyone in the group can invite others to the group.
  • Meeting group (Meeting) and public group (Public): only the app admin can invite others to the group via the RESTful API.
  • Audio-video group (AVChatRoom): inviting users to a group is not supported.

◆ kickGroupMember()

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

3.7 Remove a member from a group

Attention
The limits for different types of groups are as follows:
  • Work group (Work): only the group owner or app admin can remove a member from a group.
  • Meeting group (Meeting) and public group (Public): the group owner, group admin, and app admin can remove a member from a group.
  • Audio-video group (AVChatRoom): only muting (muteGroupMember) is supported. Removing a member from a group is not supported.

◆ setGroupMemberRole()

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

3.8 Set the role of a group member

Attention
The limits for different types of groups are as follows:
  • Meeting group (Meeting) and public group (Public): only the group owner can switch the role of a group member between common member and admin.
  • Other types of groups do not support group member role setting.
  • To transfer a group, please call the transferGroupOwner API.
  • For a meeting group (Meeting), after a group member role is set, there will be no onGrantAdministrator or onRevokeAdministrator callback.
  • Roles that can be set are common member (V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_MEMBER) and admin (V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_ADMIN).

◆ transferGroupOwner()

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

3.9 Change the group owner

Attention
The limits for different types of groups are as follows:
  • Common groups (Work, Public, and Meeting): only the group owner has the permission to change the group owner.
  • Audio-video group (AVChatRoom): changing the group owner is not supported.

◆ getGroupApplicationList()

abstract void getGroupApplicationList ( V2TIMValueCallback< V2TIMGroupApplicationResult callback)
abstract

4.1 Get the group joining request list

◆ acceptGroupApplication()

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

4.2 Approve a group joining request

◆ refuseGroupApplication()

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

4.3 Reject a group joining request

◆ setGroupApplicationRead()

abstract void setGroupApplicationRead ( V2TIMCallback  callback)
abstract

4.4 Mark the group joining request list as read