Android&iOS&Windows&Mac

最近更新时间:2023-11-03 13:01:06

我的收藏

功能描述

清空消息分为两种:清空单聊消息、清空群聊消息。 清空消息会同时清空当前会话内所有的消息,包含本地和云端消息,但不会删除会话本身。
说明
如果不想清空云端消息,请不要使用本接口。
5.4.666 及以上版本支持。
清空消息后,会话的 lastMessage 会变为空,那么:
如果您的 SDK 版本是 5.5.892 之前,使用了 lastMesasge 进行排序,此时会影响您的会话列表顺序。
如果您的 SDK 版本是 5.5.892 及以后,并且采用了 orderKey 进行排序,此时不影响您的会话列表顺序。 详情请参考 会话列表

清空单聊消息

您可以调用 clearC2CHistoryMessage (Android / iOS & Mac / Windows) 清空单聊消息。
示例代码如下:
Android
iOS & Mac
Windows
V2TIMManager.getMessageManager().clearC2CHistoryMessage(userID, new V2TIMCallback() {
@Override
public void onSuccess() {
// 清空单聊消息成功
}

@Override
public void onError(int code, String desc) {
// 清空单聊消息失败
}
});
[V2TIMManager.sharedInstance clearC2CHistoryMessage:userID
succ:^{
NSLog(@"清空单聊消息成功");
} fail:^(int code, NSString *desc) {
NSLog(@"清空单聊消息失败, code: %d, desc: %@", code, desc);
}];
class Callback final : public V2TIMCallback {
public:
using SuccessCallback = std::function<void()>;
using ErrorCallback = std::function<void(int, const V2TIMString&)>;

Callback() = default;
~Callback() override = default;

void SetCallback(SuccessCallback success_callback, ErrorCallback error_callback) {
success_callback_ = std::move(success_callback);
error_callback_ = std::move(error_callback);
}

void OnSuccess() override {
if (success_callback_) {
success_callback_();
}
}
void OnError(int error_code, const V2TIMString& error_message) override {
if (error_callback_) {
error_callback_(error_code, error_message);
}
}

private:
SuccessCallback success_callback_;
ErrorCallback error_callback_;
};

auto callback = new Callback;
callback->SetCallback(
[=]() {
// 清空单聊消息成功
delete callback;
},
[=](int error_code, const V2TIMString& error_message) {
// 清空单聊消息失败
delete callback;
});

清空群聊消息

您可以调用 clearGroupHistoryMessage (Android / iOS & Mac / Windows) 清空群聊消息。
示例代码如下:
Android
iOS & Mac
Windows
V2TIMManager.getMessageManager().clearGroupHistoryMessage(GroupID, new V2TIMCallback() {
@Override
public void onSuccess() {
// 清空群聊消息成功
}

@Override
public void onError(int code, String desc) {
// 清空群聊消息失败
}
});
[[V2TIMManager sharedInstance] clearGroupHistoryMessage:groupID
succ:^{
NSLog(@"清空群聊消息成功");
} fail:^(int code, NSString *desc) {
NSLog(@"清空群聊消息失败, code: %d, desc: %@", code, desc);
}];
class Callback final : public V2TIMCallback {
public:
using SuccessCallback = std::function<void()>;
using ErrorCallback = std::function<void(int, const V2TIMString&)>;

Callback() = default;
~Callback() override = default;

void SetCallback(SuccessCallback success_callback, ErrorCallback error_callback) {
success_callback_ = std::move(success_callback);
error_callback_ = std::move(error_callback);
}

void OnSuccess() override {
if (success_callback_) {
success_callback_();
}
}
void OnError(int error_code, const V2TIMString& error_message) override {
if (error_callback_) {
error_callback_(error_code, error_message);
}
}

private:
SuccessCallback success_callback_;
ErrorCallback error_callback_;
};

auto callback = new Callback;
callback->SetCallback(
[=]() {
// 清空群聊消息成功
delete callback;
},
[=](int error_code, const V2TIMString& error_message) {
// 清空群聊消息失败
delete callback;
});

V2TIMManager::GetInstance()->GetMessageManager()->ClearGroupHistoryMessage(groupID, callback);