监听频道状态变更
客户端可设置监听,在超级群频道发生类型变更(仅适用于私有频道)、成员变更、频道删除等情况时收到取对应通知。
- 由于频道类型、用户是否在私有频道成员列表等差异,通知用户的范围会有差异。
- 客户端 SDK 接收到频道删除(解散)、 私有频道成员列表变更通知后,会根据具体变化清理本地数据。
设置频道状态变化通知
-
需要首先实现
RCUltraGroupChannelDelegate
协议,包括私有频道成员变更通知,频道类型变更通知,频道解散通知。/// 频道类型变更的通知
- (void)ultraGroupChannelTypeDidChanged:(NSArray<RCUltraGroupChannelChangeTypeInfo *> *)infoList;
/// 频道已删除(解散)的通知
- (void)ultraGroupChannelDidDisbanded:(NSArray<RCUltraGroupChannelDisbandedInfo *> *)infoList;
/// 私有频道用户列表变更的通知
- (void)ultraGroupChannelUserDidKicked:(NSArray<RCUltraGroupChannelUserKickedInfo *> *)infoList; -
通过调用
[[RCChannelClient sharedChannelManager] setUltraGroupChannelDelegate:代理]
方法,添加频道变更代理:- (void)setUltraGroupChannelDelegate:(id<RCUltraGroupChannelDelegate>)delegate;
频道类型变更的通知
超级群的频道按类型区分为公有频道与私有频道。超级群频道类型变更仅可通过 App 服务端调用服务端 API 实现。客户端 SDK 不提供接口。
频道类型发生变更时,SDK 通过以下方法通知 App:
- (void)ultraGroupChannelTypeDidChanged:(NSArray<RCUltraGroupChannelChangeTypeInfo *> *)infoList;
-
参数说明
返回值 返回类型 说明 infoList RCUltraGroupChannelChangeTypeInfo 频道变更信息 -
频道变更类型说明
枚举值 数值 说明 RCUltraGroupChannelChangeTypePublicToPrivate 2
超级群公有频道变成了私有频道 RCUltraGroupChannelChangeTypePrivateToPublic 3
超级群私有频道变成了公有频道 RCUltraGroupChannelChangeTypePublicToPrivateUserNotIn 6
超级群公有频道变成了私有频道,但是当前用户不在该私有频道中