iOS

消息更新

更新时间: 2024/03/14 17:08:37

网易云信 NIM iOS SDK 支持更新消息。为了保证存储消息的完整性,只支持更新消息的本地扩展字段 LocalExt 和自定义消息的附件对象 NIMCustomObject

请不要对通知消息进行更新。

前提条件

已调用 addDelegate: 方法添加委托,注册“消息发送完成回调”函数(sendMessage:didCompleteWithError: ),且已通过该回调函数判断消息已发送完成。

实现方法

uml diagram

调用updateMessage:forSession:completion:方法更新消息的本地扩展字段 LocalExt 和自定义消息的附件对象 NIMCustomObject

该方法为异步写入,您无需在应用上层单独开线程,直接在当前线程调用即可。

  • API 原型

    objc@protocol NIMConversationManager <NSObject>
    - (void)updateMessage:(NIMMessage *)message
            forSession:(NIMSession *)session
            completion:(nullable NIMUpdateMessageBlock)completion;
    @end
    

    参数说明:

    参数 类型 说明
    message NIMMessage 需要被更新的消息,支持的更新属性见上文
    session NIMSession 消息所在的会话
    completion NIMUpdateMessageBlock 完成后的回调
  • 示例代码

    //消息打上拉黑拒收标记,方便 UI 显示
    message.localExt = @{NTESMessageRefusedTag:@(true)};
    [[NIMSDK sharedSDK].conversationManager updateMessage:message forSession:message.session completion:nil];
    
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 实现方法