SDKsFlutter含商业版能力
删除消息
使用 Flutter SDK 删除当前账号在指定会话中的一条消息。
从本地数据库和服务端同时删除当前账号指定的一条历史消息:
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
conversationID | String | 是 | 消息所属会话 ID。 |
clientMsgID | String | 是 | 待删除消息的客户端消息 ID。 |
await OpenIM.iMManager.messageManager.deleteMessageFromLocalAndSvr(
conversationID: conversationID,
clientMsgID: clientMsgID,
);返回结果
Future 成功表示服务端与本地数据库均已完成该条消息的删除操作。本地应立即根据复合标识 conversationID:clientMsgID 从消息列表中移除该项。
该操作仅删除当前用户在各端的同步历史,不会删除其他会话成员设备上已拉取的消息副本,也不是消息撤回。
监听消息删除事件
消息删除通知 onMsgDeleted商业版 属于高级消息监听器 OnAdvancedMsgListener。当当前账号在其他登录端删除了消息时,本端会收到该通知。由于 Flutter 的 Message 模型未直接提供 conversationID 字段,客户端应先根据路由字段解析出所属会话,再基于复合标识 conversationID:clientMsgID 幂等移除本地消息。全局 listener 的注册与管理请参考事件概览。若需向所有人撤回已发出的消息,请参考撤回消息。
这个页面有帮助吗?