更新时间: 2020-09-03
# 功能描述
开发者可使用此功能实现消息已读未读功能的展示。
当 A 给 B 发送了一条消息,B 在未阅读之前 A 用户显示未读,当 B 用户阅读并调用发送回执接口之后,A 用户可在监听回执中收到通知,此时可根据对应的数据内容将发送的消息显示为已读。
# 发送回执
当收到一条消息时,可以通过以下方法发送一条回执给发送方。
# 参数说明
输入参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversationType | RCConversationType | 是 | 会话类型,单聊传入 RCConversationType.Private |
targetId | String | 是 | 消息发送方的 userId |
timestamp | int | 是 | 该会话已阅读的最后一条消息的发送时间戳 |
返回参数说明
回调参数 | 回调类型 | 说明 |
---|---|---|
code | int | 错误码,0 代表成功 |
# 代码示例
RongIMClient.syncConversationReadStatus(conversationType, targetId, message.sentTime, (int code) { if (code == 0) { print('syncConversationReadStatusSuccess'); } else { print('syncConversationReadStatusFailed:code = + $code'); } });
已复制
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 接收回执
收到消息已读回执之后,会触发 onReceiveReadReceipt
回调,开发者收到这个回调之后可以更新这个会话中 messageTime 以前的消息 UI 为已读(底层数据库消息状态已经改为已读)。
# 参数说明
回调会返回 Map 对象
Map 对象的 key 值说明:
key值 | 类型 | 说明 |
---|---|---|
cType | int | 会话类型 |
messageTime | int | 已阅读的最后一条消息的sendTime |
tId | String | toId:targetId |
fId | String | fromId:发送方 id |
# 代码示例
RongIMClient.onReceiveReadReceipt = (Map map) { print("object onReceiveReadReceipt " + map.toString()); };
已复制
1
2
3
2
3