黑名单

更新时间: 2023/11/13 06:19:58

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

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

前提条件

  • 已在控制台为指定成员配置房间黑名单管理权限。关于如何设置角色权限,参见 如何修改角色的权限

添加黑名单

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

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

示例代码如下:

java  NERoomContext 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 回调。

示例代码如下:

java    NERoomContext 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 接口可获取房间黑名单成员列表。

示例代码如下:

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