IM 即时通讯
Android
产品介绍
简介
产品优势
主要功能
功能介绍
帐号集成与登录
群组功能
聊天室功能
聊天室标签功能
圈组功能
多端登录与互踢策略
质量数据监控台
海外数据中心
IM平滑迁移方案
接口及业务限制
更新日志
IM UIKit 更新日志
NIM SDK 开发版更新日志
NIM SDK 稳定版更新日志
体验 Demo
下载 SDK 与 Demo 源码
快速开始
跑通 IM Demo 源码
实现单聊消息收发(不含 UI)
跑通圈组 Demo 源码
实现圈组消息收发(不含 UI)
含 UI 集成
什么是 IM UIKit
IM UIKit 功能概览
快速集成 IM UIKit
组件导入
初始化
界面跳转
自定义用户信息
全局配置
会话列表相关
集成会话列表界面
会话列表事件监听
自定义会话列表界面 UI
会话列表 API 概览
会话消息相关
集成会话界面
会话界面事件监听
实现音视频通话
实现地理位置消息功能(含 UI)
实现自定义消息发送(含 UI)
自定义会话界面 UI
会话消息 API 概览
通讯录相关
集成通讯录界面
自定义通讯录界面 UI
通讯录界面事件监听
通讯录 API 概览
IM UIKit 常见问题排查
IM UIKit API 概览
不含 UI 集成
集成 SDK
初始化
登录相关
登录 IM
多端登录与互踢
登出 IM
消息相关
消息概述
消息收发
自定义消息收发
消息配置选项
NOS 存储场景
广播消息收发
消息已读回执
消息撤回
消息重发与转发
消息更新
消息过滤
语音消息处理
插入本地消息
历史消息
最近会话
服务端会话服务
用户资料
用户关系
在线状态订阅
系统通知
系统通知概述
内置系统通知管理
内置系统通知未读数
自定义系统通知收发
Android 离线推送
实现离线推送
配置消息的推送属性
设置群消息强制推送
设置推送全局免打扰
设置多端推送策略
集成小米推送
集成华为推送
集成荣耀推送
集成 OPPO 推送
集成 vivo 推送
集成魅族推送
集成谷歌推送(FCM)
消息提醒
实现消息提醒
配置消息提醒功能
设置群消息强制提醒
设置消息提醒文案
定制通知栏显示信息
群组功能
群组概述
群组管理
群成员管理
群消息管理
超大群功能
聊天室
圈组功能
圈组概述
登录管理
服务器相关
服务器概述
服务器管理
服务器成员管理
游客功能
服务器未读数管理
频道相关
频道概述
频道管理
频道黑白名单
实时互动频道
频道分组
频道分组黑白名单
频道未读数管理
搜索服务器和频道
身份组相关
身份组概述
身份组应用场景
服务器身份组
频道身份组
用户定制权限
频道分组身份组
自定义权限项
成员权限查询与判定
身份组相关查询
圈组订阅机制
圈组消息相关
图解圈组消息流转
圈组消息收发
圈组消息撤回
圈组消息更新
圈组消息删除
消息正在输入
会话消息回复(Thread)
圈组快捷评论
获取频道最后一条消息
查询历史消息
查询@我的消息
圈组消息缓存
圈组消息搜索
圈组系统通知相关
圈组系统通知概述
圈组系统通知收发
圈组系统通知更新
圈组离线推送
圈组内容审核
圈组相关抄送
圈组第三方回调
圈组各端接口命名差异
反垃圾
聊天扩展
其他
最佳实践
IM 登录最佳实践
IM 应用隐私合规
聊天室重要消息投递
API 参考
Android SDK API
Android SDK 状态码
IM 控制台指南
创建应用
注册 IM 账号
升级服务
开通聊天室功能
配置应用客户端标识
常见问题
FAQ
错题集
Android 端推送问题排查
第三方推送厂商的限制说明
服务协议

圈组服务器成员管理

更新时间: 2023/01/30 18:58:36

创建Server后,可以选择邀请他人成为Server的成员或者申请成为某个Server的成员,也可以通过邀请码的形式加入某个 Server。

SDK 中用于表示Server成员的结构为 QChatServerMember,参数说明如下:

返回值 参数 说明
long getServerId() 获取服务器id
String getAccid() 获取用户Id
String getNick() 获取昵称
String getAvatar() 获取头像
String getCustom() 获取自定义扩展
QChatMemberType getType() 获取成员类型:
QChatMemberType.Normal:普通成员
QChatMemberType.Owner:所有者
long getJoinTime() 获取加入时间
String getInviter() 获取邀请人
boolean isValid() 是否有效标志:false-无效,true-有效
long getCreateTime() 获取创建时间
long getUpdateTime() 获取更新时间
void setNick(String nick) 设置昵称
void setAvatar(String avatar) 设置头像
void setCustom(String custom) 设置自定义扩展
void setType(QChatMemberType type) 设置成员类型
void setValid(boolean validFlag) 设置有效标志:false-无效,true-有效

成员邀请

  • 拥有邀请他人加入服务器的权限(INVITE_SERVER,具体权限类型请参见QChatRoleResource)的人可以向他人发起邀请,邀请别人加入圈组服务器。收到邀请通知的人可以接受或者拒绝邀请。
  • 拥有申请邀请管理权限的人也可以提前生成邀请码,其他用户可以直接使用邀请码加入圈组服务器。

邀请加入圈组服务器

接口

可以一个accid列表向多人发起加入某个圈组服务器的邀请。

/**
 * 邀请服务器成员
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<QChatInviteServerMembersResult> inviteServerMembers(QChatInviteServerMembersParam param);

其中QChatInviteServerMembersParam中传入需要邀请的accid列表以及指定的ServerId,还可以设置有效时长和邀请附言(最多5000个字符)。

示例代码

List<String> accids = new ArrayList<>();
accids.add("test");
QChatInviteServerMembersParam param = new QChatInviteServerMembersParam(943445L,accids);
param.setPostscript("邀请你加入测试服务器");
NIMClient.getService(QChatServerService.class).inviteServerMembers(param).setCallback(
        new RequestCallback<QChatInviteServerMembersResult>() {
            @Override
            public void onSuccess(QChatInviteServerMembersResult result) {
                //邀请成功,会返回因为用户服务器数量超限导致失败的accid列表
                List<String> failedAccids = result.getFailedAccids();
            }

            @Override
            public void onFailed(int code) {
                //邀请失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //邀请异常
            }
        });

接受加入圈组服务器

邀请方发送邀请请求成功后,被邀请方会收到SERVER_MEMBER_INVITE(邀请服务器成员)系统通知,收到该系统通知后,被邀请方可以调用以下接口接受加入Server邀请:

接口

/**
 * 接受邀请
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> acceptServerInvite(QChatAcceptServerInviteParam param);

其中QChatAcceptServerInviteParam中需要传入接受加入的ServerId、发起邀请的accid以及邀请唯一标识requestId。

邀请唯一标识requestId可以从邀请服务器成员(SERVER_MEMBER_INVITE)系统通知附件 或者 查询服务器下的申请邀请记录接口返回结果中获取。

示例代码

long requestId = getRequestId();
NIMClient.getService(QChatServerService.class).acceptServerInvite(new QChatAcceptServerInviteParam(943445L,"test",requestId)).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //接受邀请成功
            }

            @Override
            public void onFailed(int code) {
                //接受邀请失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //接受邀请异常
            }
        });

拒绝加入圈组服务器

接口

邀请方发送邀请请求成功后,被邀请方会收到SERVER_MEMBER_INVITE(邀请服务器成员)系统通知。收到该系统通知后,被邀请方可以调用以下接口拒绝加入Server邀请:

/**
 * 拒绝邀请
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> rejectServerInvite(QChatRejectServerInviteParam param);

其中QChatRejectServerInviteParam中传入需要拒绝加入的ServerId、发起邀请的accid以及邀请唯一标识requestId。

邀请唯一标识requestId可以从邀请服务器成员(SERVER_MEMBER_INVITE)系统通知附件 或者 查询服务器下的申请邀请记录接口返回结果中获取。

示例代码

long requestId = getRequestId();
QChatRejectServerInviteParam param = new QChatRejectServerInviteParam(943445L,"test",requestId);
param.setPostscript("拒绝邀请");
NIMClient.getService(QChatServerService.class).rejectServerInvite(param).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //拒绝邀请成功
            }

            @Override
            public void onFailed(int code) {
                //拒绝邀请失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //拒绝邀请异常
            }
        });

生成邀请码

拥有申请邀请管理权限(SERVER_APPLY_HANDLE,具体权限类型请参见QChatRoleResource)的人可以提前生成邀请码,其他用户可以直接使用提供的邀请码加入圈组服务器。

接口

您可通过以下接口生成邀请码:

/**
 * 生成邀请码
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果
 */
InvocationFuture<QChatGenerateInviteCodeResult> generateInviteCode(@NonNull QChatGenerateInviteCodeParam param);

其中 QChatGenerateInviteCodeParam 需要必须传入服务器ID,有效期可不传。

示例代码

QChatGenerateInviteCodeParam param = new QChatGenerateInviteCodeParam(311254);
            //设置过期时间为1天
            param.setTtl(24 * 60 * 60 * 1000L);
            NIMClient.getService(QChatServerService.class).generateInviteCode(param).setCallback(
                    new RequestCallback<QChatGenerateInviteCodeResult>() {
                        @Override
                        public void onSuccess(QChatGenerateInviteCodeResult result) {
                            //生成邀请码成功
                        }

                        @Override
                        public void onFailed(int code) {
                            //生成邀请码失败
                        }

                        @Override
                        public void onException(Throwable exception) {
                            //生成邀请码异常
                        }
                    });

人员申请加入

主动申请加入

接口

您可通过以下接口申请加入指定的Server:

/**
 * 申请加入服务器
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<QChatApplyServerJoinResult> applyServerJoin(QChatApplyServerJoinParam param);

其中QChatApplyServerJoinParam需要传入申请加入的ServerId,还可以设置有效时长和申请附言(最多5000个字符)。

示例代码

QChatApplyServerJoinParam param = new QChatApplyServerJoinParam(943445L);
param.setPostscript("申请加入服务器");
NIMClient.getService(QChatServerService.class).applyServerJoin(param).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //申请加入服务器成功
            }

            @Override
            public void onFailed(int code) {
                //申请加入服务器失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //申请加入服务器异常
            }
        });

接受申请

接口

有人申请加入某圈组服务器后,具有该圈组服务器管理权限的人会收到SERVER_MEMBER_APPLY(申请加入服务器)的通知。收到该系统通知后,管理者可以调用以下接口接受该申请:

/**
 * 接受申请
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> acceptServerApply(QChatAcceptServerApplyParam param);

其中QChatAcceptServerApplyParam需要传入接受加入的ServerId、发起申请的accid以及申请唯一标识requestId。

申请唯一标识requestId可以从申请加入服务器(SERVER_MEMBER_APPLY)系统通知附件 或者 查询服务器下的申请邀请记录接口返回结果中获取。

示例代码

long requestId = getRequestId();
NIMClient.getService(QChatServerService.class).acceptServerApply(new QChatAcceptServerApplyParam(943445L,"test",requestId)).setCallback(
        new RequestCallback<Void>() {
            public void onSuccess(Void param) {
                //接受申请成功
            }

            @Override
            public void onFailed(int code) {
                //接受申请失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //接受申请异常
            }
        });


拒绝申请

接口

有人申请加入某圈组服务器后,具有该服务器管理权限的人会收到SERVER_MEMBER_APPLY(申请加入服务器)的通知。收到该系统通知后,管理者可以调用以下接口拒绝申请:

/**
 * 拒绝申请
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> rejectServerApply(QChatRejectServerApplyParam param);

其中QChatRejectServerApplyParam需要传入拒绝加入的ServerId、发起申请的accid以及申请唯一标识requestId。

申请唯一标识requestId可以从申请加入服务器(SERVER_MEMBER_APPLY)系统通知附件 或者 查询服务器下的申请邀请记录接口返回结果中获取。

示例代码

long requestId = getRequestId();
QChatRejectServerApplyParam param = new QChatRejectServerApplyParam(943445L,"test",requestId);
param.setPostscript("拒绝申请");
NIMClient.getService(QChatServerService.class).rejectServerApply(param).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //拒绝邀请成功
            }

            @Override
            public void onFailed(int code) {
                //拒绝邀请失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //拒绝邀请异常
            }
        });

根据邀请码加入服务器

接口

用户可以通过收到的邀请码加入圈组服务器。

/**
 * 通过邀请码加入服务器
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果
 */
InvocationFuture<Void> joinByInviteCode(@NonNull QChatJoinByInviteCodeParam param);

其中QChatJoinByInviteCodeParam中必须传入服务器ID和邀请码。

示例代码

String inviteCode = getInviteCode();
QChatJoinByInviteCodeParam param = new QChatJoinByInviteCodeParam(311254,inviteCode);
NIMClient.getService(QChatServerService.class).joinByInviteCode(param).setCallback(new RequestCallback<Void>() {
    @Override
    public void onSuccess(Void result) {
        //通过邀请码加入服务器成功
    }

    @Override
    public void onFailed(int code) {
        //通过邀请码加入服务器失败
    }

    @Override
    public void onException(Throwable exception) {
        //通过邀请码加入服务器异常
    }
});

踢出圈组服务器成员

接口

具有踢出他人的权限的成员可以将其他成员踢出圈组服务器:

/**
 * 踢除服务器成员
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> kickServerMembers(QChatKickServerMembersParam param);

其中QChatKickServerMembersParam需要传入当前操作的ServerId和需要被踢出用户的accid列表。

示例代码

List<String> accids = new ArrayList<>();
accids.add("test");
NIMClient.getService(QChatServerService.class).kickServerMembers(new QChatKickServerMembersParam(943445L,accids)).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //踢除成员成功
            }

            @Override
            public void onFailed(int code) {
                //踢除成员失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //踢除成员异常
            }
        });

主动离开圈组服务器

接口

加入圈组服务器后如不想继续待在此服务器中,可以选择主动离开。离开后将不再接收该服务器下的消息和通知。

/**
 * 主动离开服务器
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> leaveServer(QChatLeaveServerParam param);

其中QChatLeaveServerParam需要传入离开的ServerId。

示例代码

NIMClient.getService(QChatServerService.class).leaveServer(new QChatLeaveServerParam(943445L)).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //离开Server成功
            }

            @Override
            public void onFailed(int code) {
                //离开Serve失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //离开Serve异常
            }
        });

修改成员信息

可修改自己或者他人的圈组服务器成员信息。前提是您需要拥有相应的权限,权限相关详情请参见身份组系统

修改本人成员信息

接口

如果您有权限修改自己在当前圈组服务器的成员信息,可通过如下接口进行修改:

/**
 * 修改服务器成员信息
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<QChatUpdateMyMemberInfoResult> updateMyMemberInfo(QChatUpdateMyMemberInfoParam param);

其中QChatUpdateMyMemberInfoParam需要传入对应的ServerId以及相应的修改项。支持对成员昵称、头像和自定义扩展的修改,9.1.0版本后可设置反垃圾配置QChatAntiSpamConfig。

示例代码

QChatUpdateMyMemberInfoParam param = new QChatUpdateMyMemberInfoParam(943445L);
param.setNick("昵称2");
param.setCustom("xxxxx");
QChatAntiSpamConfig antiSpamConfig = new QChatAntiSpamConfig("用户配置的对某些资料内容另外的反垃圾的业务ID");
param.setAntiSpamBusinessId(antiSpamConfig);
NIMClient.getService(QChatServerService.class).updateMyMemberInfo(param).setCallback(new RequestCallback<QChatUpdateMyMemberInfoResult>() {
    @Override
    public void onSuccess(QChatUpdateMyMemberInfoResult result) {
        //修改成员信息成功,返回最新的成员信息
        QChatServerMember member = result.getMember();
    }

    @Override
    public void onFailed(int code) {
        //修改成员信息失败,返回错误code
    }

    @Override
    public void onException(Throwable exception) {
        //修改成员信息异常
    }
});

修改他人成员信息

接口

如果您有权限修改他人在当前圈组服务器的成员信息,可通过以下接口进行修改:

/**
 * 修改其他人的服务器成员信息
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<QChatUpdateServerMemberInfoResult> updateServerMemberInfo(QChatUpdateServerMemberInfoParam param);

其中 QChatUpdateServerMemberInfoParam 需要传入对应的 ServerId、待修改成员的accid以及相应的修改项。支持修改其他成员的昵称和头像,9.1.0版本后可设置反垃圾配置 QChatAntiSpamConfig。

示例代码

QChatUpdateServerMemberInfoParam param = new QChatUpdateServerMemberInfoParam(943445L,"test");
param.setNick("昵称3");
QChatAntiSpamConfig antiSpamConfig = new QChatAntiSpamConfig("用户配置的对某些资料内容另外的反垃圾的业务ID");
param.setAntiSpamBusinessId(antiSpamConfig);
NIMClient.getService(QChatServerService.class).updateServerMemberInfo(param).setCallback(new RequestCallback<QChatUpdateServerMemberInfoResult>() {
    @Override
    public void onSuccess(QChatUpdateServerMemberInfoResult result) {
        //修改成员信息成功,返回最新的成员信息
        QChatServerMember member = result.getMember();
    }

    @Override
    public void onFailed(int code) {
        //修改成员信息失败,返回错误code
    }

    @Override
    public void onException(Throwable exception) {
        //修改成员信息异常
    }
});

查询成员信息

SDK提供两种方式查询圈组服务器成员信息,分别是按ServerId+Accid查询和按时间分页查询成员信息。

按ServerId+Accid查询Server成员信息

接口

可通过 ServerId+Accid 键值对列表(List<Pair<Long, String>>)的方式查询多个成员信息:


/**
 * 通过accid查询服务器成员
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。回调返回查询到的服务器成员
 */
InvocationFuture<QChatGetServerMembersResult> getServerMembers(QChatGetServerMembersParam param);

其中QChatGetServerMembersParam中传入需要查询的ServerId+Accid键值对列表(List<Pair<Long, String>>)。Pair.first 填 serverId,Pair.second 填 accid。

示例代码

List<Pair<Long,String>> serverIdAccidPairList = new ArrayList<>();
serverIdAccidPairList.add(new Pair<>(943445L,"test"));
QChatGetServerMembersParam param = new QChatGetServerMembersParam(serverIdAccidPairList);
NIMClient.getService(QChatServerService.class).getServerMembers(param).setCallback(new RequestCallback<QChatGetServerMembersResult>() {
    @Override
    public void onSuccess(QChatGetServerMembersResult result) {
        //查询Server成员信息成功,返回查询到的Server成员信息
        List<QChatServerMember> serverMembers = result.getServerMembers();
    }

    @Override
    public void onFailed(int code) {
        //查询Server成员信息失败,返回错误code
    }

    @Override
    public void onException(Throwable exception) {
        //查询Server成员信息异常
    }
});

按时间分页查询成员信息

接口

可以通过时间戳和查询数量分页查询指定圈组服务器的成员信息:

/**
 * 通过分页信息查询服务器成员
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。回调返回查询到的服务器成员
 */
InvocationFuture<QChatGetServerMembersByPageResult> getServerMembersByPage(QChatGetServerMembersByPageParam param);

其中 QChatGetServerMembersByPageParam 的入参内容包括 ServerId、查询锚点时间戳 timeTag 和查询数量限制 limit。

示例代码

//当前时间往前查最多100条Server成员信息
NIMClient.getService(QChatServerService.class).getServerMembersByPage(new QChatGetServerMembersByPageParam(943445L,System.currentTimeMillis(),100)).setCallback(
        new RequestCallback<QChatGetServerMembersByPageResult>() {
            @Override
            public void onSuccess(QChatGetServerMembersByPageResult result) {
                //查询Server成员信息成功,返回查询到的Server成员信息
                List<QChatServerMember> serverMembers = result.getServerMembers();
            }

            @Override
            public void onFailed(int code) {
                //查询Server成员信息失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //查询Server成员信息异常
            }
        });

查询申请/邀请的历史记录

查询服务器下的申请/邀请记录

查询服务器下的申请/邀请记录,需要拥有申请邀请历史查看权限(INVITE_APPLY_HISTORY_QUERY,具体权限类型请参见QChatRoleResource)。

接口

/**
 * 查询服务器下的申请邀请记录
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果
 */
InvocationFuture<QChatGetInviteApplyRecordOfServerResult> getInviteApplyRecordOfServer(@NonNull QChatGetInviteApplyRecordOfServerParam param);

其中QChatGetInviteApplyRecordOfServerParam必须传入服务器ID,其他值可为空。

示例代码

QChatGetInviteApplyRecordOfServerParam param = new QChatGetInviteApplyRecordOfServerParam(311254);
//设置查询开始时间,首次查询可不传
param.setFromTime(getFromTime());
//搜索查询结束时间,,首次查询可不传
param.setToTime(getToTime());
param.setLimit(100);
param.setReverse(false);
param.setExcludeRecordId(null);

NIMClient.getService(QChatServerService.class).getInviteApplyRecordOfServer(param).setCallback(
        new RequestCallback<QChatGetInviteApplyRecordOfServerResult>() {
            @Override
            public void onSuccess(QChatGetInviteApplyRecordOfServerResult result) {
                //
            }

            @Override
            public void onFailed(int code) {

            }

            @Override
            public void onException(Throwable exception) {

            }
        });

查询本人的申请/邀请记录

查询本人的申请/邀请记录,需要拥有申请邀请历史查看权限(INVITE_APPLY_HISTORY_QUERY,具体权限类型请参见QChatRoleResource)。

接口

/**
 * 查询我的申请邀请记录
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果
 */
InvocationFuture<QChatGetInviteApplyRecordOfSelfResult> getInviteApplyRecordOfSelf(@NonNull QChatGetInviteApplyRecordOfSelfParam param);

示例代码

QChatGetInviteApplyRecordOfSelfParam param = new QChatGetInviteApplyRecordOfSelfParam();
        //设置查询开始时间,首次查询可不传
        param.setFromTime(getFromTime());
        //搜索查询结束时间,,首次查询可不传
        param.setToTime(getToTime());
        param.setLimit(100);
        param.setReverse(false);
        param.setExcludeRecordId(null);

        NIMClient.getService(QChatServerService.class).getInviteApplyRecordOfSelf(param).setCallback(
                new RequestCallback<QChatGetInviteApplyRecordOfSelfResult>() {
                    @Override
                    public void onSuccess(QChatGetInviteApplyRecordOfSelfResult result) {
                        //
                    }

                    @Override
                    public void onFailed(int code) {

                    }

                    @Override
                    public void onException(Throwable exception) {

                    }
                });

封禁相关

封禁服务器成员

接口

可以通过以下接口对服务器成员进行封禁,封禁后成员直接被踢出服务器(需要有对应服务器封禁权限的人才能封禁服务器成员),某成员被封禁后,所有该服务器成员都会收到该封禁成员被踢的系统通知QChatSystemNotificationType.SERVER_MEMBER_KICK,且不能再申请加入服务器或被邀请加入服务器。

/**
 * 封禁服务器成员
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> banServerMember(QChatBanServerMemberParam param);

其中 QChatBanServerMemberParam 的入参内容包括 ServerId和需要封禁的成员accid。

示例代码

NIMClient.getService(QChatServerService.class).banServerMember(new QChatBanServerMemberParam(1607312,"test")).setCallback(
				new RequestCallback<Void>() {
					@Override
					public void onSuccess(Void param) {
						//操作成功
					}

					@Override
					public void onFailed(int code) {
						//操作失败,返回错误code
					}

					@Override
					public void onException(Throwable exception) {
						//操作异常
					}
				});

解封服务器成员

接口

可以通过以下接口对已封禁的服务器成员进行解封,解封后,该成员可正常申请加入服务器或被邀请加入服务器。

/**
 * 解封服务器成员
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<Void> unbanServerMember(QChatUnbanServerMemberParam param);

其中 QChatUnbanServerMemberParam 的入参内容包括 ServerId和需要解封的成员accid。

示例代码

NIMClient.getService(QChatServerService.class).unbanServerMember(new QChatUnbanServerMemberParam(1607312,"test")).setCallback(
				new RequestCallback<Void>() {
					@Override
					public void onSuccess(Void param) {
						//操作成功
					}

					@Override
					public void onFailed(int code) {
						//操作失败,返回错误code
					}

					@Override
					public void onException(Throwable exception) {
						//操作异常
					}
				});

分页查询服务器封禁成员列表

接口

可以通过以下接口分页查询某服务器下被封禁的成员列表。

/**
 * 查询服务器封禁成员列表(分页)
 * @param param
 * @return InvocationFuture 可设置回调函数,监听操作结果。
 */
InvocationFuture<QChatGetBannedServerMembersByPageResult> getBannedServerMembersByPage(QChatGetBannedServerMembersByPageParam param);   

其中 QChatGetBannedServerMembersByPageParam 的入参内容包括 ServerId、查询时间戳timeTag和查询数量限制limit,timeTag传0表示当前时间,limit默认100. QChatGetBannedServerMembersByPageResult返回被封禁成员QChatBannedServerMember列表。

QChatBannedServerMember参数说明如下:

返回值 参数 说明
long getServerId() 获取服务器id
String getAccid() 获取用户accid
String getCustom() 获取自定义扩展
long getBanTime() 获取封禁时间
boolean isValid() 获取有效标志:false-无效,true-有效
long getCreateTime() 获取创建时间
long getUpdateTime() 获取更新时间

示例代码

NIMClient.getService(QChatServerService.class).getBannedServerMembersByPage(new QChatGetBannedServerMembersByPageParam(1607312L,0L))
				.setCallback(new RequestCallback<QChatGetBannedServerMembersByPageResult>() {
					@Override
					public void onSuccess(QChatGetBannedServerMembersByPageResult result) {
						//操作成功
						List<QChatBannedServerMember> serverMemberBanInfoList = result.getServerMemberBanInfoList();
					}

					@Override
					public void onFailed(int code) {
						//操作失败,返回错误code
					}

					@Override
					public void onException(Throwable exception) {
						//操作异常
					}
				});
此文档是否对你有帮助?
有帮助
我要吐槽
  • 成员邀请
  • 邀请加入圈组服务器
  • 接口
  • 示例代码
  • 接受加入圈组服务器
  • 接口
  • 示例代码
  • 拒绝加入圈组服务器
  • 接口
  • 示例代码
  • 生成邀请码
  • 接口
  • 示例代码
  • 人员申请加入
  • 主动申请加入
  • 接口
  • 示例代码
  • 接受申请
  • 接口
  • 示例代码
  • 拒绝申请
  • 接口
  • 示例代码
  • 根据邀请码加入服务器
  • 接口
  • 示例代码
  • 踢出圈组服务器成员
  • 接口
  • 示例代码
  • 主动离开圈组服务器
  • 接口
  • 示例代码
  • 修改成员信息
  • 修改本人成员信息
  • 接口
  • 示例代码
  • 修改他人成员信息
  • 接口
  • 示例代码
  • 查询成员信息
  • 按ServerId+Accid查询Server成员信息
  • 接口
  • 示例代码
  • 按时间分页查询成员信息
  • 接口
  • 示例代码
  • 查询申请/邀请的历史记录
  • 查询服务器下的申请/邀请记录
  • 接口
  • 示例代码
  • 查询本人的申请/邀请记录
  • 接口
  • 示例代码
  • 封禁相关
  • 封禁服务器成员
  • 接口
  • 示例代码
  • 解封服务器成员
  • 接口
  • 示例代码
  • 分页查询服务器封禁成员列表
  • 接口
  • 示例代码