功能描述
已读回执(Read Receipt)用于通知发送人“接收人已经阅读了发送的消息”。当接收人阅读消息后,上报消息已读,后台系统会生成一条通知,并将其发送给发送人,以告知消息已被查看。
在即时通讯工具(WhatsApp、微信等)中,当接收人查看消息时,发送人会看到消息旁边的已读标记,例如蓝色的对勾或“已读”字样。
说明:
“回执”的含义是“回复的收据”,它代表了一种确认接收的凭证。当您发送一条消息,并请求一个回执,您实际上是在请求对方“我想确认你们是否接收并阅读了我的消息”。这个确认就像是一张“收据”,证明您的消息已经被接收。
已读回执有助于确保重要信息已被查看,但也可能引发心理压力和隐私问题,因此我们支持用户关闭已读回执功能。
开启“消息已读回执”功能后,TUIChat 组件会监听消息的滚动,当未读消息出现在接收方聊天窗口的可视区域内时,将自动触发向发送方发送已读回执,精确监控每一条消息的阅读状态。
注意:
如何开启消息已读回执
设置支持已读回执的群类型
注意:
直播群(AVChatRoom)或社群(Community)不支持已读回执功能。
用户侧控制开启\\关闭已读回执
说明:
在控制台进行群聊的已读回执配置后,已经默认开启已读回执能力,如无特殊需求,无需在用户侧操作开关。
在用户侧也支持手动开启\\关闭已读回执能力(该项默认是开启的),但如果关闭,他人无法看到自己是否已读(即不会发送已读回执),同时自己也看不到他人是否阅读自己的消息(不展示自己发送消息的已读状态)。
在登录成功后,利用
TUIUserService.switchMessageReadStatus(isDisplay: boolean)
Api 来控制该开关。import { TUIUserService } from "@tencentcloud/chat-uikit-engine";TUIUserService.switchMessageReadStatus(true); // 开启TUIUserService.switchMessageReadStatus(false); // 关闭
扩展资料
说明:
以下内容仅为辅助阅读资料,已读回执功能已在旗舰版 TUIKit 中包含,不需要用户手动实现。
群聊和单聊的已读回执规则
开启已读回执功能后,发送的
Message
的 needReadReceipt
字段默认为 true
,当消息处于对方消息列表的可视位置时,对方会发送已读回执。但要注意的是:单聊和群聊在开启已读回执功能前后的规则有所不同。群聊的已读回执规则
1. 群聊开启已读回执之前:
不展示已读状态。
2. 群聊开启已读回执之后:
根据
Message
的 readReceiptInfo
获得已读数和未读数。已读数为0:展示“未读”。
未读数为0:展示“全部已读”。
否则展示“x 人已读”,其中 x 为已读数。
单聊的已读回执规则
1. 单聊开启已读回执之前:
展示已读状态,但属于全量已读,当用户点击进入会话时,无论是否看到消息,所有未读消息会全部置为已读。根据
Message
的 isPeerRead
判断消息是已读或未读。2. 单聊开启已读回执之后:
根据单条消息
Message
的 readReceiptInfo.isReceiptPeerRead
字段(布尔值)获取是否已读,从而判断处于“已读”、“未读”中的一种状态。常见问题
Error: 套餐包不支持该接口的使用,请升级到旗舰版套餐
如何关闭已读功能?
请参考本文档 2.2 节的内容,通过
TUIUserService.switchMessageReadStatus(isDisplay: boolean)
关闭已读功能。import { TUIUserService } from "@tencentcloud/chat-uikit-engine";TUIUserService.switchMessageReadStatus(false);