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 配置协同实现。
这个页面有帮助吗?