黑名单

更新时间: 2025/03/19 14:33:09

本文将介绍如何使用 NERoom SDK 实现添加指定成员到黑名单。黑名单内的成员被移除出房间且无法重新加入。

管理员无法将房间创建者或其他管理员添加到黑名单。

准备工作

根据本文操作前,请确保您已经在 网易云信控制台 为指定成员配置房间黑名单管理权限。关于如何设置角色权限,参考 如何修改角色的权限

添加黑名单

房间创建者或管理员可以通过 addToBlacklist 接口将房间内特定成员添加到黑名单。黑名单内的成员将被移除出房间且无法重新加入房间。

如果已调用 addRoomListener 接口添加了加入黑名单的事件回调,成员被加入黑名单后会触发 onMemberAddToBlacklist 事件回调。

示例代码如下:

JavaNERoomContext roomContext = NERoomKit.getInstance().getRoomService().getRoomContext(roomUuid);
              if (roomContext==null){
                  return;
              }
              roomContext.addRoomListener(new NERoomListenerAdapter(){
                  @Override
                  public void onMemberAddToBlacklist(@NonNull String userUuid, @Nullable String notifyExt, @Nullable NERoomMember operateBy) {
                      super.onMemberAddToBlacklist(userUuid, notifyExt, operateBy);
                  }
              });
              String targetUserUuid = "userUuid";
              String notifyExt = "notifyExt";
              roomContext.addToBlacklist(
                      targetUserUuid,
                      notifyExt,
                new NECallback2<Unit>() {
                  @Override
                  public void onSuccess(@Nullable Unit data) {
                    super.onSuccess(data);
                  }

                  @Override
                  public void onError(int code, @Nullable String message) {
                    super.onError(code, message);
                  }
                });

移除黑名单

调用 removeFromBlacklist 将某用户从黑名单中移除,移除后用户可正常加入房间。

如果已调用 addRoomListener 接口添加了移除黑名单的事件回调,成员被移除出黑名单后会触发 onMemberRemoveFromBlacklist 回调。

示例代码如下:

JavaNERoomContext roomContext = NERoomKit.getInstance().getRoomService().getRoomContext(roomUuid);
            if (roomContext==null){
                return;
            }
            roomContext.addRoomListener(new NERoomListenerAdapter(){
                @Override
                public void onMemberRemoveFromBlacklist(@NonNull String userUuid, @Nullable String notifyExt, @Nullable NERoomMember operateBy) {
                    super.onMemberRemoveFromBlacklist(userUuid, notifyExt, operateBy);
                }
            });
            String targetUserUuid = "userUuid";
            String notifyExt = "notifyExt";
            roomContext.removeFromBlacklist(
                    targetUserUuid,
                    notifyExt,
              new NECallback2<Unit>() {
                @Override
                public void onSuccess(@Nullable Unit data) {
                  super.onSuccess(data);
                }

                @Override
                public void onError(int code, @Nullable String message) {
                  super.onError(code, message);
                }
              });

获取黑名单列表

调用 getBlacklist 接口可获取房间黑名单成员列表。

示例代码如下:

JavaNERoomContext roomContext = NERoomKit.getInstance().getRoomService().getRoomContext(roomUuid);
              if (roomContext==null){
                  return;
              }
              int pageNum=1;
              int pageSize=20;
              roomContext.getBlacklist(pageNum, pageSize, new NECallback2<List<NERoomBlacklistMember>>() {
                  @Override
                  public void onSuccess(@Nullable List<NERoomBlacklistMember> data) {
                      super.onSuccess(data);
                  }

                  @Override
                  public void onError(int code, @Nullable String message) {
                      super.onError(code, message);
                  }
              });
此文档是否对你有帮助?
有帮助
去反馈
  • 准备工作
  • 添加黑名单
  • 移除黑名单
  • 获取黑名单列表