tencent cloud

文档反馈

Android & iOS & Mac

最后更新时间:2022-09-08 18:39:11

    功能描述

    对于会话里已经发送成功的消息,会话参与者可以对消息做二次修改,修改成功后会同步给会话的所有参与者。

    说明:

    消息变更功能仅增强版 6.2 及以上版本支持。

    变更消息

    会话参与者可以调用 modifyMessage(Android / iOS & Mac) 接口对会话里的消息做二次修改。
    修改消息时,IM SDK 仅限制了会话参与者才能修改,如果您需要更多限制,例如限制只有消息发送者才能修改,可以自行在业务层处理。

    目前消息支持修改的信息如下:

    示例代码如下:

    // 会话里面原始消息对象为 originMessage
    // 修改消息对的 cloudCustomData 信息
    originMessage.setCloudCustomData("modify_cloud_custom_data".getBytes());
    // 如果是文本消息,修改文本消息内容
    if (V2TIMMessage.V2TIM_ELEM_TYPE_TEXT == originMessage.getElemType()) {
     originMessage.getTextElem().setText("modify_text");
    }
    V2TIMManager.getMessageManager().modifyMessage(originMessage, new V2TIMCompleteCallback<V2TIMMessage>() {
     @Override
     public void onComplete(int code, String desc, V2TIMMessage message) {
       // 修改消息完成,message 为修改之后的消息对象
     }
    });
    

    监听消息变更回调

    会话的参与者调用 addAdvancedMsgListener (Android / iOS & Mac) 添加高级消息监听器。

    当会话里的消息被修改后,会话的参与者都会收到 onRecvMessageModified(Android / iOS & Mac) 回调,回调里面会携带修改之后的消息对象。

    示例代码如下:

    V2TIMAdvancedMsgListener advancedMsgListener = new V2TIMAdvancedMsgListener() {
     // 消息内容被修改通知
     @Override
     public void onRecvMessageModified(V2TIMMessage msg) {
         // msg 为被修改之后的消息对象
     }
    };
    // 添加消息监听
    V2TIMManager.getMessageManager().addAdvancedMsgListener(advancedMsgListener);
    

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持