Update time: 2023/02/09 06:12:49

NIM SDK allows you to create standard groups and advanced groups.

The standard group is deprecated, and the SDK does not support the creation and use of standard groups. Only advanced groups are available. The group concepts are related to advanced groups.

Advanced groups has a complete member permission system and management functionalities. All members the group are categorized into group owners, administrators, and group members by permission.

Group features

Advanced groups have the following features:

Feature Description
Group capacity IM Pro supports 200 people/group. You can extend the capacity up to 5000 people/group.
Create groups You can create advanced groups. One account can create up to 100 groups (50 groups/account for the free tier). 5,000 groups/user is supported (Add-on))
Dismissed groups are not counted.
Group profile Group name, avatar, description, announcement, and extension fields.
The verification mode for requests to join a group, the inviter mode, the invitee mode.
Group profile edit permissions, group extension fields edit permissions, and all mute mode
Invitation Options for this setting: only admins can invite or everyone can invite.
Approval mode Options: Approval is required or not required by invitees
Request to join a group A user can join 5000 groups.
Verification Options: approval by admins required or not required; Do not approve all requests.
Member types Group owner, admin, regular member.
Admin settings Group owner can assign or revoke administrator roles.
Edit permission for group profiles Options: Only admins can edit the group profile; All group members can edit the group profile.
Edit the nickname of a group member Only the group owner can edits the nickname of all members
Edit the nickname of the current user Supported
Message types Include basic message types
Notification alert Enable alerts; only admins can receive alerts; disable alerts.
Message history Support cloud-based message history. IM Pro allows users to get the message history for the last year
A maximum of up to 3 years of message history can be retrieved.
offline messages Up to 100 offline messages per group chat can be delivered.
Roaming messages Automatic roaming for 7 days, the most recent 100 messages for each conversation
Force push for specified members Supported
Removing members Group owners or admins can remove one or more members from a group. Admins cannot remove group owners or other admins from a group.
Leaving a group Except the group owner, all other members can leave a group.
A group owner can transfer the ownership of a group to one of group members and leave the group.
Mute members The group owner can mute or unmute group members
Options: mute all members including the group owner and administrators, or only ordinary members.
Transfer the ownership of a group The group owner can transfer the ownership of a group to other members in the group.The member granted the ownership becomes the new group owner, and the original group owner becomes a regular member.
. The original group owner can transfer the group and leave the group directly.
Dismissing a group The group owner can dismiss a group
Read receipt for group messages View the read receipt for a group message (add-on feature)
Read receipt for group messages is supported by groups with members less than 100 people. If a group has more than 100 members, the read receipt is not supported.

For information about billing of add-on features, see Billing.

Group object

  • For information about the group class, see NIMTeam.

NIMTeam members

Type Member Description
NSString teamId Group ID
NIMTeamType type Group type. NIMTeamTypeAdvanced indicates an advanced group.
NSString teamName Group name
NSString avatarUrl URL of a profile picture for a group.
NSString thumbAvatarUrl Thumbnail of the profile picture of a group. The parameter is valid if the picture is uploaded using the NOS service. Otherwise, the parameter is invalid.
NSString owner The owner of a group.
NSString intro The introduction of a group.
NSString announcement The announcement of a group.
NSInteger memberNumber The number of members in a group.
NSInteger level The maximum number of members in a group.
NSTimeInterval createTime The time when a group is created
NIMTeamAllMuteMode allMuteMode The mute mode of a group
MuteAll: Mute all members including the group owner and administrator
MuteNormal: Mute all regular members, excluding the group owner and administrator< /br>Cancel: unmute all members.
NIMTeamJoinMode joinMode Joining method
NoAuth : No authentication required
NeedAuth: Authentication by the group owner or administrator is required to join this group
RejectAll: Reject all join requests.
NIMTeamBeInviteMode beInviteMode acceptance mode
NoAuth: No verification required
NeedAuth: The verification from the invited people is required.
NIMTeamInviteMode inviteMode The permission to invite people to join a group.
Manager: only the group owner and administrators can invite people to join a group.
All: everyone in the group can invite people to join the group.
NIMTeamUpdateInfoMode updateInfoMode The permission to edit group information.
Manager: Only the group owner and administrators can edit the group information
All: Everyone can edit the group information.
NIMTeamUpdateClientCustomMode updateClientCustomMode The permission to edit custom fields of groups on the client.
Manager: only group owners and administrators have the permission
All: all members have the permission
NSString serverCustomInfo Custom information of a group on the server. You can customize this field. App users can not edit the field on the clients.
NSString clientCustomInfo Custom information of a group on the client. You can customize this field. App users can edit the field on the clients.
NIMTeamNotifyState notifyStateForNewMsg The options for receiving group notifications, The setting may affect the APNs service.
BOOL inAllMuteMode Whether all members are muted.

Members of the NIMTeamMember class:

Type Member Description
NSString teamId Group ID
NSString userId Group member ID
NSString inviter The ID of an inviter. The field is valid when the inviter is the current user. You cannot view the inviters of other group members
NSString inviterAccid The accid of an inviter. If the value is empty or the accid of the current user, the current user is not invited but actively join the group. If the value is set to nil, you must call the interface to get the value.
NIMTeamMemberType type group member type
Normal: regular member
Owner: group owner
Manager: administrator
NSString nickname The nickname in the group
BOOL isMuted Whether a member is muted.
NSTimeInterval createTime The timestamp when a member joins a group.
NSString customInfo Custom information of a member.

Groups API Overview

The NIMTeamManager protocol offers methods used to perform group operations. The NIMTeamManagerDelegate delegate protocal contains callbacks for group events.


  • The maximum number of people in each advanced group is 200 by default. IM Pro allows you to increase the capacity in the CommsEase console or you can contact the sales for help. For groups created before capacity increases, the upper limit of the number of people is still 200. If you want to change the upper limit of the capacity of an advanced group, you can call the corresponding API to edit group information for the capacity.
  • If the number of people invited to the group at a time is greater than the maximum capacity of a group minus the number of people already in the group", an error code 801 will be returned. All the accounts invited this time cannot join the group.
Was this page helpful?
  • Group features
  • Group object
  • Groups API Overview
  • FAQ