功能描述
消息已读回执指的是,发送端往会话中发送消息,如果他想知道哪些人读过/还没读过这条消息,那么他就需要开启消息已读回执功能。
开启后,发送端发送消息时可以设置消息是否需要已读回执。如果设置为“需要”,接收端查看消息后才会发送自己已读给发送端。
单聊和群聊均支持消息已读回执功能,操作步骤一致。
说明
该功能需要购买旗舰版套餐包。
消息已读回执
设置支持已读回执的群类型
发送端设置消息需要已读回执
示例代码如下:
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) => {// 处理回调逻辑});
接收端发送消息已读回执
接收端收到消息后,可以通过消息对象
Message
的 message_need_read_receipt
(点击查看详情) 字段判断消息是否需要已读回执,如果需要已读回执,当用户查看消息后,调用 MsgSendMessageReadReceipts
(点击查看详情) 接口发送消息已读回执。示例代码如下:
TIMResult res = TencentIMSDK.MsgSendMessageReadReceipts(msg_array, (int code, string desc, string user_data) => {// 处理回调逻辑});
发送端监听消息已读回执通知
示例代码如下:
TIMResult res = TencentIMSDK.SetMsgReadedReceiptCallback(msg_array, (List<MessageReceipt> message_receipt, string user_data) => {// 处理回调逻辑});
发送端主动拉取消息已读回执信息
示例代码如下:
TIMResult res = TencentIMSDK.MsgGetMessageReadReceipts(msg_array, (int code, string desc, List<MessageReceipt> message_receipt, string user_data) => {// 处理回调逻辑});
发送端主动拉取群消息已读或未读成员列表
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) => {// 处理回调逻辑});