跳到主要内容

设置群/频道默认免打扰

超级群业务支持为指定的群,或群频道设置默认免打扰逻辑。默认免打扰逻辑对所有群成员生效,一般由超级群的管理员进行设置。

如果您希望从 App 服务端控制指定超级群,或指定群频道默认免打扰逻辑,可参考服务端 API 文档设置超级群/频道默认免打扰

注意事项

  • 在融云服务端判断是否需要推送超级群消息时,指定的超级群,或群频道的默认免打扰配置优先级均低于用户级别配置。如果存在任何用户级别的免打扰配置,则优先以用户级别免打扰配置为准进行判断。

    提示

    即时通讯业务免打扰功能的 用户级别设置 支持控制指定的单聊会话、群聊会话、超级群会话、超级群频道的免打扰级别,并可设置全局免打扰的时间段与级别。用户级别设置优先级如下:全局免打扰 > 按频道设置的免打扰 > 按会话设置的免打扰 > 按会话类型设置的免打扰。详见免打扰功能概述

  • 为指定的超级群设置的默认免打扰逻辑,自动适用于群下的所有频道。如果针对频道另行设置了默认免打扰逻辑,则以该频道的默认设置为准。

支持的免打扰级别

指定超级群或群频道的默认免打扰级别可设置为以下任一级别:

枚举说明
allMessage与融云服务端断开连接后,当前用户可针对指定类型会话中的所有消息接收通知。
none未设置。未设置时均为此初始状态。
mention与融云服务端断开连接后,当前用户仅针对指定类型的会话中提及(@)当前用户和全体群成员的消息接收通知。
mentionUsers与融云服务端断开连接后,当前用户仅针对指定类型的会话中提及(@)当前用户的消息接收通知。例如:张三只会接收 “@张三 Hello” 的消息的通知。
mentionAll与融云服务端断开连接后,当前用户仅针对指定类型的会话中提及(@)全部群成员的消息接收通知。
blocked当前用户针对指定类型的会话中的任何消息都不接收推送通知。

设置指定超级群的默认免打扰级别

方法

Future<int> changeUltraGroupDefaultNotificationLevel(String targetId, RCIMIWPushNotificationLevel level, {IRCIMIWChangeUltraGroupDefaultNotificationLevelCallback? callback});

参数说明

参数名参数类型描述
targetIdString会话 ID
levelRCIMIWPushNotificationLevel消息通知级别
callbackIRCIMIWChangeUltraGroupDefaultNotificationLevelCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

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

代码示例

IRCIMIWChangeUltraGroupDefaultNotificationLevelCallback? callback = IRCIMIWChangeUltraGroupDefaultNotificationLevelCallback(onUltraGroupDefaultNotificationLevelChanged: (int? code) {
//...
});

int? ret = await engine?.changeUltraGroupDefaultNotificationLevel(targetId, level, callback:callback);

回调方法

  • onUltraGroupDefaultNotificationLevelChanged
Function(int? code, String? targetId, RCIMIWPushNotificationLevel? level)? onUltraGroupDefaultNotificationLevelChanged;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
targetIdString会话 ID
levelRCIMIWPushNotificationLevel消息通知级别

代码示例

engine?.onUltraGroupDefaultNotificationLevelChanged = (int? code, String? targetId, RCIMIWPushNotificationLevel? level) {
//...
};

查询指定超级群的默认免打扰级别

方法

Future<int> getUltraGroupDefaultNotificationLevel(String targetId, {IRCIMIWGetUltraGroupDefaultNotificationLevelCallback? callback});

参数说明

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

返回值

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

代码示例

IRCIMIWGetUltraGroupDefaultNotificationLevelCallback? callback = IRCIMIWGetUltraGroupDefaultNotificationLevelCallback(onSuccess: (RCIMIWPushNotificationLevel? t) {
//...
}, onError: (int? code) {
//...
});

int? ret = await engine?.getUltraGroupDefaultNotificationLevel(targetId, callback:callback);

回调方法

  • onUltraGroupDefaultNotificationLevelLoaded
Function(int? code, String? targetId, RCIMIWPushNotificationLevel? level)? onUltraGroupDefaultNotificationLevelLoaded;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
targetIdString会话 ID
levelRCIMIWPushNotificationLevel消息通知级别

代码示例

engine?.onUltraGroupDefaultNotificationLevelLoaded = (int? code, String? targetId, RCIMIWPushNotificationLevel? level) {
//...
};

设置指定群频道的默认免打扰级别

方法

Future<int> changeUltraGroupChannelDefaultNotificationLevel(String targetId, String? channelId, RCIMIWPushNotificationLevel level, {IRCIMIWChangeUltraGroupChannelDefaultNotificationLevelCallback? callback});

参数说明

参数名参数类型描述
targetIdString会话 ID
channelIdString频道 ID,仅支持超级群使用。
levelRCIMIWPushNotificationLevel消息通知级别
callbackIRCIMIWChangeUltraGroupChannelDefaultNotificationLevelCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

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

代码示例

IRCIMIWChangeUltraGroupChannelDefaultNotificationLevelCallback? callback = IRCIMIWChangeUltraGroupChannelDefaultNotificationLevelCallback(onUltraGroupChannelDefaultNotificationLevelChanged: (int? code) {
//...
});

int? ret = await engine?.changeUltraGroupChannelDefaultNotificationLevel(targetId, channelId, level, callback:callback);

回调方法

  • onUltraGroupChannelDefaultNotificationLevelChanged
Function(int? code, String? targetId, String? channelId, RCIMIWPushNotificationLevel? level)? onUltraGroupChannelDefaultNotificationLevelChanged;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
targetIdString会话 ID
channelIdString频道 ID,仅支持超级群使用。
levelRCIMIWPushNotificationLevel消息通知级别

代码示例

engine?.onUltraGroupChannelDefaultNotificationLevelChanged = (int? code, String? targetId, String? channelId, RCIMIWPushNotificationLevel? level) {
//...
};

查询指定群频道的默认免打扰级别

方法

Future<int> getUltraGroupChannelDefaultNotificationLevel(String targetId, String? channelId, {IRCIMIWGetUltraGroupChannelDefaultNotificationLevelCallback? callback});

参数说明

参数名参数类型描述
targetIdString会话 ID
channelIdString频道 ID,仅支持超级群使用。
callbackIRCIMIWGetUltraGroupChannelDefaultNotificationLevelCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

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

代码示例

IRCIMIWGetUltraGroupChannelDefaultNotificationLevelCallback? callback = IRCIMIWGetUltraGroupChannelDefaultNotificationLevelCallback(onSuccess: (RCIMIWPushNotificationLevel? t) {
//...
}, onError: (int? code) {
//...
});

int? ret = await engine?.getUltraGroupChannelDefaultNotificationLevel(targetId, channelId, callback:callback);

回调方法

  • onUltraGroupChannelDefaultNotificationLevelLoaded
Function(int? code, String? targetId, String? channelId, RCIMIWPushNotificationLevel? level)? onUltraGroupChannelDefaultNotificationLevelLoaded;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
targetIdString会话 ID
channelIdString频道 ID,仅支持超级群使用。
levelRCIMIWPushNotificationLevel消息通知级别

代码示例

engine?.onUltraGroupChannelDefaultNotificationLevelLoaded = (int? code, String? targetId, String? channelId, RCIMIWPushNotificationLevel? level) {
//...
};