Groups overview
Understand group profiles, members, applications, roles, and group events in the OpenIM Flutter SDK.
OpenIMSDK uses groups to hold shared profiles, memberships, and permissions for multi-user chats. groupID is the stable group identifier used to send group messages, retrieve group profiles, manage members, and handle join applications. A group conversation in the current user's chat list is still managed by conversationID; do not interchange these identifiers.
Core data types
| Type | Purpose |
|---|---|
GroupInfo | Group name, avatar, announcement, owner, verification settings, member count, and extension data. |
GroupMembersInfo | A user's nickname, role, mute state, and join information in a specified group. |
GroupApplicationInfo | A group application and its handling state. |
Group roles use GroupRoleLevel: regular member is 20, administrator is 60, and owner is 100. The client can use these values to control UI entry points, but OpenIMServer performs the final permission check.
Group profile and lifecycle
- Create a group
- Update the group name, description, and avatar
- Publish or update the group announcement
- Set group join verification
- Set member-profile visibility
- Set permission to add friends from the group
- Set the group extension field
- Apply to join a group
- Leave a group
- Dismiss a group
- Retrieve and search groups
Group members and applications
Group moderation
State updates
This page owns complete state handling for onJoinedGroupAdded, onJoinedGroupDeleted, onGroupInfoChanged, and onGroupDismissed. Register all four callbacks through the application's single OnGroupListener, and merge idempotently by groupID.
Member events belong to Retrieve group members overview, while application events belong to Group applications overview. Treat Future completion, listener arrival, and reconciliation queries as separate stages.
The OpenIM Flutter SDK group APIs manage only OpenIMSDK group profiles, memberships, and permissions. Public discovery, complex directories, and capacity governance for large groups belong to the application backend and OpenIMServer configuration; do not describe them as client group types that do not exist.
Was this page helpful?