黑名单

更新时间: 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);
    }
}];
}
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 添加黑名单
  • 移除黑名单
  • 获取黑名单列表