黑名单
更新时间: 2023/11/13 06:26:59
本文将介绍如何使用 NERoom SDK 实现添加指定成员到黑名单。黑名单内的成员被移除出房间且无法重新加入。
管理员无法将房间创建者或其他管理员添加到黑名单。
前提条件
已在控制台为指定成员配置房间黑名单管理权限。关于如何设置角色权限,参见如何修改角色的权限。
添加黑名单
房间创建者或管理员可以通过 addToBlacklist
方法将房间内特定成员添加到黑名单。黑名单内的成员将被移除出房间且无法重新加入房间。
房间内某成员有被添加到黑名单后,将触发 onMemberAddToBlacklist
事件回调。
示例代码如下:
objective-c// self.context 是加入房间后获取到的上下文对象
// 方法调用
[self.context addToBlacklistWithUserUuid:@"userUuid"
notifyExt:@"透传消息"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:成员拉黑了");
} else {
NSLog(@"房间管理:成员拉黑失败了");
}
}];
//事件回调
objc- (void)onMemberAddToBlacklistWithUserUuid:(NSString *)userUuid
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"房间管理操作: %@", [NSString stringWithFormat:@"成员%@被拉黑了, notifyExt:%@, operateBy:%@", userUuid, notifyExt, operateBy.uuid]);
}
移除黑名单
调用 removeFromBlacklist
将某用户从黑名单中移除,移除后用户可正常加入房间。
如果已调用 addRoomListener
方法添加了移除黑名单的事件回调,成员被移除出黑名单后会触发 onMemberRemoveFromBlacklist
回调。
示例代码如下:
objective-c// self.context 是加入房间后获取到的上下文对象
// 方法调用
[self.context removeFromBlacklistWithUserUuid:@"userUuid"
notifyExt:@"透传消息"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理: 成员移出黑名单了");
} else {
NSLog(@"房间管理: 成员移出黑名单失败了");
}
}];
objective-c// 事件回调
- (void)onMemberRemoveFromBlacklistWithUserUuid:(NSString *)userUuid
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"房间管理操作: %@", [NSString stringWithFormat:@"成员 %@ 被移出黑名单了,notifyExt: %@,operateBy: %@", userUuid, notifyExt, operateBy.uuid]);
}
获取黑名单列表
调用 getBlacklist
方法获取房间黑名单成员列表。
示例代码如下:
oc// self.context 是加入房间后获取到的上下文对象
// 方法调用
[self.context getBlacklistWithPageNum:1
pageSize:10
callback:^(NSInteger code, NSString *_Nullable msg,
NSArray<NERoomBlacklistMember *> *_Nullable obj) {
for (NERoomBlacklistMember *member in obj) {
NSLog(@"房间管理操作:黑名单列表:name:%@,uuid:%@",
member.userName, member.userUuid);
}
}];
}
此文档是否对你有帮助?