设置群/频道默认免打扰
超级群业务支持为指定的群,或群频道设置默认免打扰逻辑。默认免打扰逻辑对所有群成员生效,一般由超级群的管理员进行设置。
如果您希望从 App 服务端控制指定超级群,或指定群频道默认免打扰逻辑,可参考服务端 API 文档设置超级群/频道默认免打扰。
注意事项
-
在融云服务端判断是否需要推送超级群消息时,指定的超级群,或群频道的默认免 打扰配置优先级均低于用户级别配置。如果存在任何用户级别的免打扰配置,则优先以用户级别免打扰配置为准进行判断。
提示即时通讯业务免打扰功能的 用户级别设置 支持控制指定的单聊会话、群聊会话、超级群会话、超级群频道的免打扰级别,并可设置全局免打扰的时间段与级别。用户级别设置优先级如下:全局免打扰 > 按频道设置的免打扰 > 按会话设置的免打扰 > 按会话类型设置的免打扰。详见「会话管理」下的免打扰功能概述。
-
为指定的超级群设置的默认免打扰逻辑,自动适用于群下的所有频道。如果针对频道另行设置了默认免打扰逻辑,则以该频道的默认设置为准。
支持的免打扰级别
指定超级群或群频道的默认免打扰级别可设置为以下任一级别:
枚举值 | 说明 |
---|---|
allMessage | 所有消息均可进行通知。 |
none | 未设置。未设置时均为此初始状态。 注意:在此状态下,如果超级群与群频道均为未设置,则认为超级群与频道的默认免打扰级别为全部消息都通知。 |
mention | 仅针对 @ 消息进行通知,包括 @指定用户 和 @所有人 |
mentionUsers | 仅针对 @ 指定用户消息进行通知,且仅针对被 @ 的指定的用户进行通知。 如:@张三,则张三可以收到推送; @所有人不会触发推送通知。 |
mentionAll | 仅针对 @群全员进行通知,即只接收 @所有人的推送信息。 |
blocked | 不接收通知,即使为 @ 消息也不推送通知。 |
设置指定超级群的默认免打扰级别
方法
int changeUltraGroupDefaultNotificationLevel(
string targetId,
RCIMPushNotificationLevel level
)
参数说明
参数 | 类型 | 说明 |
---|---|---|
targetId | string | 会话 ID |
level | RCIMPushNotificationLevel | 消息通知级别 |
返回值
返回值 | 描述 |
---|---|
int | 当次接口操作状态码,并不代表最终操作结果,状态码详细信息 |
代码示例
int code = engine.changeUltraGroupDefaultNotificationLevel(
targetId,
level
);
回调方法
- onUltraGroupDefaultNotificationLevelChanged
delegate void OnUltraGroupDefaultNotificationLevelChangedDelegate(int code,
string targetId,
RCIMPushNotificationLevel level);
OnUltraGroupDefaultNotificationLevelChangedDelegate onUltraGroupDefaultNotificationLevelChanged;
参数说明
参数 | 类型 | 说明 |
---|---|---|
code | int | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
targetId | string | 会话 ID |
level | RCIMPushNotificationLevel | 消息通知级别 |
代码示例
engine.onUltraGroupDefaultNotificationLevelChanged = delegate(
int code,
string targetId,
RCIMPushNotificationLevel level
)
{
}
查询指定超级群的默认免打扰级别
方法
int loadUltraGroupDefaultNotificationLevel(
string targetId
)
参数说明
参数 | 类型 | 说明 |
---|---|---|
targetId | string | 会话 ID |
返回值
返回值 | 描述 |
---|---|
int | 当次接口操作状态码,并不代表最终操作结果,状态码详细信息 |
代码示例
int code = engine.loadUltraGroupDefaultNotificationLevel(
targetId
);
回调方法
- onUltraGroupDefaultNotificationLevelLoaded
delegate void OnUltraGroupDefaultNotificationLevelLoadedDelegate(int code,
string targetId,
RCIMPushNotificationLevel level);
OnUltraGroupDefaultNotificationLevelLoadedDelegate onUltraGroupDefaultNotificationLevelLoaded