• UIKit
  • SDK
  • 服务端 API
Chat/
SDK/
Unity(Game Solution)/
消息/
SDK
  • 跑通Demo
  • SDK 集成
  • 初始化
  • 登录和注销
  • 消息
    • 消息概述
    • 发送消息
    • 接收消息
    • 历史消息
    • 转发消息
    • 修改消息
    • 删除消息
    • 清空消息
    • 撤回消息
    • 在线消息
    • 已读回执
    • 查询消息
    • 群 @ 消息
    • 定向群消息
    • 通知免打扰
    • 消息扩展
  • 会话
    • 会话概述
    • 会话列表
    • 获取会话
    • 未读会话数
    • 置顶会话
    • 删除会话
    • 会话草稿
    • 会话标记
    • 会话组
  • 群组
    • 群组概述
    • 群组管理
    • 群资料
    • 群成员管理
    • 群成员资料
    • 自定义群属性
    • 群计数器
  • 用户
    • 用户资料
    • 用户状态
    • 好友管理
    • 好友列表
    • 黑名单
  • Changelog
  • 开发指引
  • 控制台指南
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • 购买指南
    • 计费概述
    • 价格中心
  • 错误码

撤回消息

功能描述

撤回消息方法为 MsgRevoke (Details) 。
通过 SetMsgRevokeCallback (Details) 监听消息撤回通知。

撤回消息

发送方可以撤回一条已经发送成功的消息。
默认情况下,发送者只能撤回2分钟以内的消息,您可以按需更改消息撤回时间限制,具体操作请参见 消息撤回设置
消息的撤回同时需要接收方 UI 代码的配合:当发送方撤回一条消息后,接收方会收到消息撤回通知 MsgRevokeCallback。通知中包含了撤回消息的 msgID,您可以根据这个 msgID 判断 UI 层是哪一条消息撤回了,然后把对应的消息气泡切换成 "消息已被撤回" 状态。

发送方撤回一条消息

调用 MsgRevoke (Details) 撤回一条消息。
示例代码如下:
Message message = new Message(); // 这里的消息可以是其他接口返回的实例,如消息列表接口

TIMResult res = TencentIMSDK.MsgRevoke(conv_id, TIMConvType.kTIMConv_C2C, message, (int code, string desc, string user_data) => {
// 处理回调逻辑
});

接收方感知消息被撤回

通过 SetMsgRevokeCallback (Details) 接收消息撤回通知。
示例代码如下:
TencentIMSDK.SetMsgRevokeCallback((List<MsgLocator> msg_locator, string user_data) => {
// 在本地维护的消息中处理被对方撤回的消息
});