跳到主要内容

黑名单管理

将用户加入黑名单之后,将不再收到对方发来的任何单聊消息。

  • 加入黑名单为单向操作,例如:用户 A 拉黑用户 B,代表 B 无法给 A 发消息(错误码 405)。但 A 向 B 发消息,B 仍然能正常接收。
  • 单个用户的黑名单总人数存在上限,具体与计费套餐有关。IM 旗舰版与 IM 尊享版上限为 3000 人,其他套餐详见功能对照表中的服务限制
  • 调用服务端 API 发送单聊消息默认不受黑名单限制。如需启用限制,请在调用 API 时设置 verifyBlacklist1

加入黑名单

将某个用户加入黑名单。

方法

Dart
Future<int> addToBlacklist(String userId, {IRCIMIWAddToBlacklistCallback? callback});

参数说明

参数名参数类型描述
userIdString用户 Id
callbackIRCIMIWAddToBlacklistCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Future<int>当次接口操作的状态码。0 代表接口调用成功,具体业务结果需要从接口回调获取,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

Dart
IRCIMIWAddToBlacklistCallback? callback = IRCIMIWAddToBlacklistCallback(
onBlacklistAdded: (int? code,String? userId) {
//...
});

int? ret = await engine?.addToBlacklist(userId, callback);

移除黑名单

将某个用户从黑名单中移出。

方法

Dart
Future<int> removeFromBlacklist(String userId, {IRCIMIWRemoveFromBlacklistCallback? callback});

参数说明

参数名参数类型描述
userIdString用户 Id
callbackIRCIMIWRemoveFromBlacklistCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Future<int>当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

Dart
IRCIMIWRemoveFromBlacklistCallback? callback = IRCIMIWRemoveFromBlacklistCallback(
onBlacklistRemoved: (int? code,String? userId) {
//...
});

int? ret = await engine?.removeFromBlacklist(userId, callback);

查询用户是否在黑名单中

获取某用户是否在黑名单中。

方法

Dart
Future<int> getBlacklistStatus(String userId, {IRCIMIWGetBlacklistStatusCallback? callback});

参数说明

参数名参数类型描述
userIdString用户 Id
callbackIRCIMIWGetBlacklistStatusCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Future<int>当次接口操作的状态码。0 代表接口调用成功,具体业务结果需要从接口回调获取,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

Dart
IRCIMIWGetBlacklistStatusCallback? callback = IRCIMIWGetBlacklistStatusCallback(
onSuccess : (RCIMIWBlacklistStatus? tstatus) {
//...
},
onError : (int? code) {
//...
});

int? ret = await engine?.getBlacklistStatus(userId, callback);

获取黑名单列表

获取当前用户设置的黑名单列表。

方法

Dart
Future<int> getBlacklist({IRCIMIWGetBlacklistCallback? callback});

返回值

参数名参数类型描述
callbackIRCIMIWGetBlacklistCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Future<int>当次接口操作的状态码。0 代表接口调用成功,具体业务结果需要从接口回调获取,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

Dart
IRCIMIWGetBlacklistStatusCallback? callback = IRCIMIWGetBlacklistStatusCallback(
onSuccess : (List<String>? userIds) {
//...
},
onError : (int? code) {
//...
});

int? ret = await engine?.getBlacklist(userId, callback);