Unity

最近更新时间:2024-10-10 17:01:39

我的收藏

功能描述

删除消息分为两种:删除本地消息和删除云端消息。 删除云端消息会在删除本地消息的基础上,同步删除云端存储的消息,且无法恢复
如果删除的是最后一条消息,会话的 lastMessage 会变为前一条消息。

删除本地消息

您可以调用 MsgDelete (点击查看详情) 删除本地消息。
说明
1. 删除本地历史后,SDK 会在本地把这条消息标记为已删除状态,调用 MsgGetMsgList 不能再拉取到。
2. 如果程序卸载重装,本地会失去对这条消息的删除标记,调用 MsgGetMsgList 还能再拉取到该条消息。
示例代码如下:
public static void MsgDelete()
{
string conv_id = "287646";

MsgDeleteParam message_delete_param = new MsgDeleteParam();
message_delete_param.msg_delete_param_msg = new Message(); // 需要删除的消息
message_delete_param.msg_delete_param_is_remble = false; // 删除本地消息
TIMResult res = TencentIMSDK.MsgDelete(conv_id, TIMConvType.kTIMConv_C2C, message_delete_param, (int code, string desc, string user_data) => {
// 处理回调逻辑
});
}

删除云端存储的消息

您可以调用 MsgDelete (点击查看详情) 删除云端存储的消息。
该接口会在删除本地消息的基础上,同步删除云端存储的消息,且无法恢复。
说明
1. 每次调用,最多只能删除 30 条消息。
2. 每次调用,待删除的消息必须属于同一会话。
3. 1 秒钟最多只能调用 1 次该接口。
4. 如果一个账号在某设备上拉取过这些消息,那么调用该接口删除云端消息后,这些消息仍然会保存在该设备上,即删除消息不支持多端同步。
示例代码如下:
public static void MsgDelete()
{
string conv_id = "287646";

MsgDeleteParam message_delete_param = new MsgDeleteParam();
message_delete_param.msg_delete_param_msg = new Message(); // 需要删除的消息
message_delete_param.msg_delete_param_is_remble = true; // 删除漫游消息
TIMResult res = TencentIMSDK.MsgDelete(conv_id, TIMConvType.kTIMConv_C2C, message_delete_param, (int code, string desc, string user_data) => {
// 处理回调逻辑
});
}

交流与反馈

点此进入IM社群,享有专业工程师的支持,解决您的难题