tencent cloud

文档反馈

最后更新时间:2024-01-31 16:25:30

    功能描述

    消息已读回执指的是,发送端往会话中发送消息,如果他想知道哪些人读过/还没读过这条消息,那么他就需要开启消息已读回执功能。 开启后,发送端发送消息时可以设置消息是否需要已读回执。如果设置为“需要”,接收端查看消息后才会发送自己已读给发送端。
    单聊和群聊均支持消息已读回执功能,操作步骤一致。
    说明:
    该功能需要购买旗舰版。

    消息已读回执

    设置支持已读回执的群类型

    如果是群消息已读回执,需要先在 即时通信 IM 控制台 >功能配置>登录与消息>群已读消息回执配置 中设置支持已读回执消息的群类型。

    发送端设置消息需要已读回执

    示例代码如下:
    var message = new Message
    {
    message_conv_id = conv_id,
    message_conv_type = TIMConvType.kTIMConv_Group,
    message_cloud_custom_str = "unity local custom data",
    message_elem_array = new List<Elem>{new Elem
    {
    elem_type = TIMElemType.kTIMElem_Text,
    text_elem_content = Input.text
    }},
    message_need_read_receipt = true,
    };
    StringBuilder messageId = new StringBuilder(128);
    TIMResult res = TencentIMSDK.MsgSendMessage(conv_id, TIMConvType.kTIMConv_C2C, message, messageId, (int code, string desc, Message data, string user_data) => {
    // 处理回调逻辑
    });

    接收端发送消息已读回执

    接收端收到消息后,可以通过消息对象 Messagemessage_need_read_receipt(Details) 字段判断消息是否需要已读回执,如果需要已读回执,当用户查看消息后,调用 MsgSendMessageReadReceipts(Details) 接口发送消息已读回执。
    示例代码如下:
    TIMResult res = TencentIMSDK.MsgSendMessageReadReceipts(msg_array, (int code, string desc, string user_data) => {
    // 处理回调逻辑
    });

    发送端监听消息已读回执通知

    接收端发送消息已读回执后,发送端可以通过 SetMsgReadedReceiptCallback(Details) 回调监听消息已读回执通知,在通知中更新 UI,例如更新为 “2 人已读”。
    示例代码如下:
    TIMResult res = TencentIMSDK.SetMsgReadedReceiptCallback(msg_array, (List<MessageReceipt> message_receipt, string user_data) => {
    // 处理回调逻辑
    });

    发送端主动拉取消息已读回执信息

    发送端从其他界面进入消息列表后,先拉取历史消息,再调用 MsgGetMessageReadReceipts(Details) 接口拉取消息已读回执信息。
    示例代码如下:
    TIMResult res = TencentIMSDK.MsgGetMessageReadReceipts(msg_array, (int code, string desc, List<MessageReceipt> message_receipt, string user_data) => {
    // 处理回调逻辑
    });

    发送端主动拉取群消息已读或未读成员列表

    发送端在需要查看群消息已读或未读成员列表时,可以调用 GetMsgGroupMessageReadMemberList(Details) 接口分页拉取消息已读或未读群成员列表。
    TIMResult res = TencentIMSDK.MsgGetMessageReadReceipts(message, TIMGroupMessageReadMembersFilter.TIM_GROUP_MESSAGE_READ_MEMBERS_FILTER_READ, next_seq, 20, (List<GroupMemberInfo> json_group_member_array, ulong next_seq, bool is_finished, string user_data) => {
    // 处理回调逻辑
    });
    联系我们

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

    技术支持

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

    7x24 电话支持