Browse SDKs · React Native
SDKsReact NativeEnterprise

Conversation group overview

Learn about conversation groups in the OpenIM React Native SDK.

Copy

Conversation groups classify the current account's conversation list by business scenario, such as work, pending tasks, or custom categories.

Group types

ConversationGroupType contains these values:

Enum valueNumeric valueDescription
ConversationGroupType.ConversationGroupTypeNormal0Normal custom group.
ConversationGroupType.ConversationGroupTypeFilter1Group filtered by rules.
ConversationGroupType.ConversationGroupTypeAll2Query all group types.

Group fields

ConversationGroup uses conversationGroupID as its identifier:

FieldTypeDescription
conversationGroupIDstringConversation-group ID.
namestringGroup name.
serialnumberGroup sort value.
versionnumberGroup data version.
conversationGroupTypeConversationGroupTypeGroup type.
hiddenbooleanWhether the group is hidden.
unreadCountnumberTotal unread count in the group.
conversationIDsstring[]Conversation IDs currently in the group.
exstring (optional)Application extension string.

Listen for group changes

Group operations emit events for added, updated, or deleted groups. Membership events include the group, conversation IDs, and conversation details. Event callbacks receive the entities directly, without a data field. Update groups by conversationGroupID and membership by the event's conversationIDs.

const handleGroupAdded = (groups: ConversationGroup[]) => {
  // ...
};
const handleGroupChanged = (groups: ConversationGroup[]) => {
  // ...
};
const handleGroupDeleted = (groups: ConversationGroup[]) => {
  // ...
};
const handleGroupMemberAdded = (payload: ConversationGroupMemberChangedCallbackData) => {
  // ...
};
const handleGroupMemberDeleted = (payload: ConversationGroupMemberChangedCallbackData) => {
  // ...
};

OpenIMSDK.on(OpenIMEvent.OnConversationGroupAdded, handleGroupAdded);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupChanged, handleGroupChanged);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupDeleted, handleGroupDeleted);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupMemberAdded, handleGroupMemberAdded);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupMemberDeleted, handleGroupMemberDeleted);

OpenIMSDK.off(OpenIMEvent.OnConversationGroupAdded, handleGroupAdded);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupChanged, handleGroupChanged);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupDeleted, handleGroupDeleted);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupMemberAdded, handleGroupMemberAdded);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupMemberDeleted, handleGroupMemberDeleted);

Remove the listeners when the component is destroyed, the user logs out, or the account changes.