Overview
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. |
- For the group member class, see
NIMTeamMember
.
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.
FAQ
- 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.