黑名单管理
将用户加入黑名单之后,将不再收到对方发来的任何单聊消息。
- 加入黑名单为单向操作,例如:用户 A 拉黑用户 B,代表 B 无法给 A 发消息(错误码
405
)。但 A 向 B 发消息,B 仍然能正常接收。 - 单个用户的黑名单总人数存在上限,具体与计费套餐有关。IM 旗舰版与 IM 尊享版上限为 3000 人,其他套餐详见功能对照表中的服务限制。
- 调用服务端 API 发送单聊消息默认不受黑名单限制。如需启用限制,请在调用 API 时设置
verifyBlacklist
为1
。
加入黑名单
将某个用户加入黑名单。
方法
Dart
Future<int> addToBlacklist(String userId, {IRCIMIWAddToBlacklistCallback? callback});
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
userId | String | 用户 Id |
callback | IRCIMIWAddToBlacklistCallback | 事件回调。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});
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
userId | String | 用户 Id |
callback | IRCIMIWRemoveFromBlacklistCallback | 事件回调。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});
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
userId | String | 用户 Id |
callback | IRCIMIWGetBlacklistStatusCallback | 事件回调。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});
返回值
参数名 | 参数类型 | 描述 |
---|---|---|
callback | IRCIMIWGetBlacklistCallback | 事件回调。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);