浏览 SDKs · iOS
平台
SDKsiOS含商业版能力

群组概览

了解 iOS SDK 中群资料、群成员、群申请、角色和群组事件的关系。

复制

OpenIM 的多人聊天场景通过群组承载共享资料、成员关系与权限管控。groupID 是群组的唯一标识,无论是发送群消息、读取群资料、管理成员还是处理入群申请都需要使用它。聊天列表中的群会话仍由 conversationID 统一管理,两者不可混淆。

核心数据类型

类型用途
OIMGroupInfo群名称、头像、公告、群主、验证配置、成员数和扩展字段。
OIMGroupMemberInfo用户在指定群内的昵称、角色、禁言和入群信息。
OIMGroupApplicationInfo入群申请及处理状态。

群角色使用 OIMGroupMemberRole:普通成员为 OIMGroupMemberRoleMember(20),管理员为 OIMGroupMemberRoleAdmin(60),群主为 OIMGroupMemberRoleOwner(100)。前端可以据此控制入口,但最终权限由 OpenIMServer 校验。

群资料和生命周期

群成员和申请

群组管控

状态更新

群资料变动、当前用户加入或退出群组以及群组解散事件可在 OIMGroupListener 协议中集中监听:

- (void)startGroupEvents { [[OIMManager callbacker] addGroupListener:self]; }
- (void)stopGroupEvents { [[OIMManager callbacker] removeGroupListener:self]; }

- (void)onJoinedGroupAdded:(OIMGroupInfo *)group { [self upsertGroup:group]; }
- (void)onJoinedGroupDeleted:(OIMGroupInfo *)group { [self removeGroupID:group.groupID]; }
- (void)onGroupInfoChanged:(OIMGroupInfo *)group { [self upsertGroup:group]; }
- (void)onGroupDismissed:(OIMGroupInfo *)group { [self markDismissed:group.groupID]; }

应用应强引用稳定的 OIMGroupListener 对象,并使用同一实例添加和移除。事件按 groupID 幂等合并;成功 callback、之后到达的 delegate 和重新查询应分别处理。

成员事件归属群成员查询概览,申请事件归属入群申请概览。

OpenIM iOS SDK 的群组 API 聚焦于群资料、成员关系与权限管理。公开展现、复杂群目录和超大规模群聊的容量治理通常由业务后端与 OpenIMServer 配置协同实现。