设置会话免打扰
功能概述
会话消息免打扰,指设置之后,SDK 在接收到当前会话的消息时,将不会进行推送通知,同时 “消息未读总数”也不会增加。

实现流程
调用 setConversationNotificationStatus 接口,传入 conversationID 指定某个会话,设置消息免打扰功能。
示例代码
// 将某个会话设置为消息免打扰状态
// 以单聊会话为例
// 设置会话类型为单聊
ZIMConversationType conversationType = ZIMConversationType.PEER;
// 设置会话为免打扰
zim.setConversationNotificationStatus(ZIMConversationNotificationStatus.DO_NOT_DISTURB, "CONV_ID", conversationType, new ZIMConversationNotificationStatusSetCallback() {
@Override
public void onConversationNotificationStatusSet(ZIMError errorInfo) {
// 设置消息免打扰的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
}
});
// 将某个会话设置为消息免打扰状态
// 以单聊会话为例
// 设置会话类型为单聊
ZIMConversationType conversationType = ZIMConversationType.PEER;
// 设置会话为免打扰
zim.setConversationNotificationStatus(ZIMConversationNotificationStatus.DO_NOT_DISTURB, "CONV_ID", conversationType, new ZIMConversationNotificationStatusSetCallback() {
@Override
public void onConversationNotificationStatusSet(ZIMError errorInfo) {
// 设置消息免打扰的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
}
});
示例代码
// 将某个会话设置成消息免打扰状态
// 以群聊会话为例
[self.zim setConversationNotificationStatus:ZIMConversationNotificationStatusDoNotDisturb conversationID:@"CONV_ID" conversationType:ZIMConversationTypeGroup callback:^(ZIMError * _Nonnull errorInfo) {
// 设置消息免打扰状态的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
}];
// 将某个会话设置成消息免打扰状态
// 以群聊会话为例
[self.zim setConversationNotificationStatus:ZIMConversationNotificationStatusDoNotDisturb conversationID:@"CONV_ID" conversationType:ZIMConversationTypeGroup callback:^(ZIMError * _Nonnull errorInfo) {
// 设置消息免打扰状态的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
}];
示例代码
// 将某个会话设置成消息免打扰状态
// 以群聊会话为例
zim->setConversationNotificationStatus(ZIMConversationNotificationStatusDoNotDisturb, "CONV_ID", ZIMConversationTypeGroup, [=](ZIMError errorInfo) {
// 设置消息免打扰的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
});
// 将某个会话设置成消息免打扰状态
// 以群聊会话为例
zim->setConversationNotificationStatus(ZIMConversationNotificationStatusDoNotDisturb, "CONV_ID", ZIMConversationTypeGroup, [=](ZIMError errorInfo) {
// 设置消息免打扰的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
});
示例代码
// 将某个群会话设置成消息免打扰状态
// 以群聊消息为例
const status = 2; // 将会话状态设置为免打扰
const conversationID = '';
const conversationType = 2; // 会话类型为群聊
zim.setConversationNotificationStatus(status, conversationID, conversationType)
.then(function(res){
// 操作成功
})
.catch(function(err){
// 操作失败
})
// 将某个群会话设置成消息免打扰状态
// 以群聊消息为例
const status = 2; // 将会话状态设置为免打扰
const conversationID = '';
const conversationType = 2; // 会话类型为群聊
zim.setConversationNotificationStatus(status, conversationID, conversationType)
.then(function(res){
// 操作成功
})
.catch(function(err){
// 操作失败
})
示例代码
// 将某个会话设置成消息免打扰状态
ZIM.GetInstance().SetConversationNotificationStatus(ZIMConversationNotificationStatus.DoNotDisturb, "CONV_ID",
ZIMConversationType.Group, (string conversationID, ZIMConversationType conversationType,
ZIMError errorInfo) =>
{
// 设置消息免打扰的结果
});
// 将某个会话设置成消息免打扰状态
ZIM.GetInstance().SetConversationNotificationStatus(ZIMConversationNotificationStatus.DoNotDisturb, "CONV_ID",
ZIMConversationType.Group, (string conversationID, ZIMConversationType conversationType,
ZIMError errorInfo) =>
{
// 设置消息免打扰的结果
});
示例代码
// 将某个会话设置成消息免打扰状态
// 以群聊会话为例
ZIM
.getInstance()
!.setConversationNotificationStatus(
ZIMConversationNotificationStatus.doNotDisturb,
'conversationID',
ZIMConversationType.group)
.then((value) => {})
.catchError((onError) {});
// 将某个会话设置成消息免打扰状态
// 以群聊会话为例
ZIM
.getInstance()
!.setConversationNotificationStatus(
ZIMConversationNotificationStatus.doNotDisturb,
'conversationID',
ZIMConversationType.group)
.then((value) => {})
.catchError((onError) {});