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.
V2TIMGroupListenerabstract
Swift - V2TIMGroupListener
Swift

Protocol V2TIMGroup​Listener

public protocol V2TIMGroupListener : AnyObject  

Definition of V2TIMGroupListener

V2TIMGroupListener V2TIMGroupListener AnyObject AnyObject V2TIMGroupListener->AnyObject

Conforms To

AnyObject

Requirements

on​Member​Enter(group​ID:​member​List:​)

func onMemberEnter(groupID: String, memberList: Array<V2TIMGroupMemberInfo>) 

Notification about group member

Users joined the group (received by all members) By default, meeting groups do not trigger this callback. If you want to receive this callback for meeting groups too, please configure it in the console (Configuration -> Group configuration -> Group system notification configuration -> Notification of group member change).

on​Member​Leave(group​ID:​member:​)

func onMemberLeave(groupID: String, member: V2TIMGroupMemberInfo) 

Users left the group (received by all members).

By default, meeting groups do not trigger this callback. If you want to receive this callback for meeting groups too, please configure it in the console (Configuration -> Group configuration -> Group system notification configuration -> Notification of group member change).

on​Member​Invited(group​ID:​op​User:​member​List:​)

func onMemberInvited(groupID: String, opUser: V2TIMGroupMemberInfo, memberList: Array<V2TIMGroupMemberInfo>) 

Users are added to a group by others (received by all members)

on​Member​Kicked(group​ID:​op​User:​member​List:​)

func onMemberKicked(groupID: String, opUser: V2TIMGroupMemberInfo, memberList: Array<V2TIMGroupMemberInfo>) 

Users are removed from a group by others (received by all members)

on​Member​Info​Changed(group​ID:​change​Info​List:​)

func onMemberInfoChanged(groupID: String, changeInfoList: Array<V2TIMGroupMemberChangeInfo>) 

Group member information modified (received by all members). This callback is triggered only when a group member is muted.

By default, meeting groups and AVChatRoom groups do not trigger this callback. If you want to receive this callback for those groups too, please configure it in the console (Configuration -> Group configuration -> Group system notification configuration -> Notification of group member profile change).

on​All​Group​Members​Muted(group​ID:​is​Mute:​)

func onAllGroupMembersMuted(groupID: String, isMute: Bool) 

All group members are muted or unmuted (received by all members).

To receive this callback, you need to turn on the corresponding feature in the console (Configuration -> Group configuration -> Group system notification configuration -> Notification of group profile change -> Notification of muting all change). Supported only in 7.5 and later versions.

on​Member​Mark​Changed(group​ID:​member​IDList:​mark​Type:​enable​Mark:​)

func onMemberMarkChanged(groupID: String, memberIDList: Array<String>, markType: Int, enableMark: Bool) 

Some group members are marked (received by all members).

This callback is only triggered by community groups. This is only supported in 7.5 and later versions of the Premium Edition.

on​Group​Created(group​ID:​)

func onGroupCreated(groupID: String) 

Notification about group lifecycle

Group created (used for multi-device synchronization)

on​Group​Dismissed(group​ID:​op​User:​)

func onGroupDismissed(groupID: String, opUser: V2TIMGroupMemberInfo) 

Group deleted (received by all members)

on​Group​Recycled(group​ID:​op​User:​)

func onGroupRecycled(groupID: String, opUser: V2TIMGroupMemberInfo) 

Group repossessed (received by all members)

on​Group​Info​Changed(group​ID:​change​Info​List:​)

func onGroupInfoChanged(groupID: String, changeInfoList: Array<V2TIMGroupChangeInfo>) 

Group information modified (received by all members).

This callback may be triggered if the following fields are changed: groupName, introduction, notification, faceUrl, owner, allMute, custom. You can limit notifications or roaming to specific fields in the console (Configuration -> Group configuration -> Group system notification configuration -> Notification of group profile change).

on​Group​Attribute​Changed(group​ID:​attributes:​)

func onGroupAttributeChanged(groupID: String, attributes: Dictionary<String, String>) 

Group attributes changed(received by all members)

on​Group​Counter​Changed(group​ID:​key:​new​Value:​)

func onGroupCounterChanged(groupID: String, key: String, newValue: Int) 

Group counter update notification with the newest counters which have been modified(received by all members).

on​Receive​Join​Application(group​ID:​member:​op​Reason:​)

func onReceiveJoinApplication(groupID: String, member: V2TIMGroupMemberInfo, opReason: String?) 

Notification about group join request

New group joining request (received only by the group owner and admin)

on​Application​Processed(group​ID:​op​User:​is​Agree​Join:​op​Reason:​)

func onApplicationProcessed(groupID: String, opUser: V2TIMGroupMemberInfo, isAgreeJoin: Bool, opReason: String?) 

The request to join the group or invite has been processed by the group owner or administrator. (received only by the applicant)

on​Grant​Administrator(group​ID:​op​User:​member​List:​)

func onGrantAdministrator(groupID: String, opUser: V2TIMGroupMemberInfo, memberList: Array<V2TIMGroupMemberInfo>) 

Other notifications

Some users are made admins.

on​Revoke​Administrator(group​ID:​op​User:​member​List:​)

func onRevokeAdministrator(groupID: String, opUser: V2TIMGroupMemberInfo, memberList: Array<V2TIMGroupMemberInfo>) 

Some users are removed as admin.

on​Quit​From​Group(group​ID:​)

func onQuitFromGroup(groupID: String) 

You quit a group. (mainly used for multi-device synchronization)

on​Receive​RESTCustom​Data(group​ID:​data:​)

func onReceiveRESTCustomData(groupID: String, data: Data?) 

Received a custom system message delivered via the RESTful API

on​Topic​Created(group​ID:​topic​ID:​)

func onTopicCreated(groupID: String, topicID: String) 

Notification about topic

Topic created

on​Topic​Deleted(group​ID:​topic​IDList:​)

func onTopicDeleted(groupID: String, topicIDList: Array<String>) 

Topic deleted

on​Topic​Changed(group​ID:​topic​Info:​)

func onTopicChanged(groupID: String, topicInfo: V2TIMTopicInfo) 

Topic information modified (received by all members)