浏览 SDKs · React Native
SDKsReact Native

群组概览

了解 React Native SDK 中的群组资料、成员、入群申请和群组事件。

复制

OpenIM 的多人聊天由群组承载。在群组相关 API 中,使用 groupID 标识目标群组,例如查询群资料、管理群成员和处理入群申请。创建群组后,可从返回的群组信息中获取 groupID。群聊会话使用 conversationID 标识,用于会话设置、消息历史和未读状态等操作。conversationIDgroupID 分别表示会话和群组,调用时不要混淆。

核心数据类型

类型用途
GroupItem群名称、头像、公告、群主、入群验证方式、成员数和扩展字段。
GroupMemberItem用户在指定群内的昵称、角色、禁言状态和入群信息。

群成员角色由 GroupMemberRole 表示:Normal 为普通成员,Admin 为管理员,Owner 为群主。

GroupItem 常用字段

字段类型说明
groupIDstring群组 ID。
groupNamestring群组名称。
notificationstring群组公告。
friendUserIDsstring群组好友用户 ID 信息。
remarkstring当前账号设置的群组备注。

GroupMemberItem 常用字段

字段类型说明
groupIDstring成员所属的群组 ID。
userIDstring成员用户 ID。
nicknamestring用户在当前群内的昵称。
faceURLstring用户在当前群内的头像地址。
roleLevelGroupMemberRole成员角色。
muteEndTimenumber禁言结束时间。
joinTimenumber加入群组的时间。
joinSourceGroupJoinSource入群来源。
inviterUserIDstring邀请该成员入群的用户 ID。
operatorUserIDstring最近操作该成员资料的用户 ID。
exstring群成员扩展字符串。

nicknamefaceURLroleLevel 均属于当前群组中的成员资料;同一用户在其他群组中可能不同。

按任务查找页面

监听群组变化

当前账号加入或退出群组、群资料变化以及群组解散时,分别触发 OnJoinedGroupAddedOnJoinedGroupDeletedOnGroupInfoChangedOnGroupDismissed。这些事件回调直接接收 GroupItem

const handleJoinedGroupAdded = (group: GroupItem) => {
  // 将 group 添加到已加入群组列表
};

const handleJoinedGroupDeleted = (group: GroupItem) => {
  // 根据 group.groupID 从已加入群组列表删除群组
};

const handleGroupInfoChanged = (group: GroupItem) => {
  // 根据 group.groupID 更新群组资料
};

const handleGroupDismissed = (group: GroupItem) => {
  // 根据 group.groupID 关闭或移除已解散的群组
};

// 设置监听
OpenIMSDK.on(OpenIMEvent.OnJoinedGroupAdded, handleJoinedGroupAdded);
OpenIMSDK.on(OpenIMEvent.OnJoinedGroupDeleted, handleJoinedGroupDeleted);
OpenIMSDK.on(OpenIMEvent.OnGroupInfoChanged, handleGroupInfoChanged);
OpenIMSDK.on(OpenIMEvent.OnGroupDismissed, handleGroupDismissed);

// 取消监听
OpenIMSDK.off(OpenIMEvent.OnJoinedGroupAdded, handleJoinedGroupAdded);
OpenIMSDK.off(OpenIMEvent.OnJoinedGroupDeleted, handleJoinedGroupDeleted);
OpenIMSDK.off(OpenIMEvent.OnGroupInfoChanged, handleGroupInfoChanged);
OpenIMSDK.off(OpenIMEvent.OnGroupDismissed, handleGroupDismissed);

退出登录、切换账号或销毁群组相关状态时,取消这些监听。群成员变化的监听见分页查询群成员,入群申请变化的监听见获取收到的入群申请