跳到主要内容

群聊消息回执

用户可以对自己发送的消息发起阅读回执请求,发起后,可以看到有多少人阅读过这条消息。

发起回执请求

发起消息已读回执请求。

方法

Future<int> sendGroupReadReceiptRequest(RCIMIWMessage message, {IRCIMIWSendGroupReadReceiptRequestCallback? callback});

参数说明

参数名参数类型描述
messageRCIMIWMessage需要请求已读回执的消息
callbackIRCIMIWSendGroupReadReceiptRequestCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Future<int>当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

IRCIMIWSendGroupReadReceiptRequestCallback? callback = IRCIMIWSendGroupReadReceiptRequestCallback(onGroupReadReceiptRequestSent: (int? code, RCIMIWMessage? message) {
//...
});

int? ret = await engine?.sendGroupReadReceiptRequest(message, callback:callback);

回调方法

  • onGroupReadReceiptRequestSent

    接口调用结果的监听

Function(int? code, RCIMIWMessage? message)? onGroupReadReceiptRequestSent;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
messageRCIMIWMessage需要请求已读回执的消息

代码示例

engine?.onGroupReadReceiptRequestSent = (int? code, RCIMIWMessage? message) {
//...
};

监听群聊回执请求

方法

Function(String? targetId, String? messageUId)? onGroupMessageReadReceiptRequestReceived;

参数说明

参数名参数类型描述
targetIdString会话 ID
messageUIdString消息的 messageUid

代码示例

engine?.onGroupMessageReadReceiptRequestReceived = (String? targetId, String? messageUId) {
//...
};

响应回执请求

收到了回执请求,接收者需要响应该请求,通知对方已阅读此消息。可以一次响应同一会话中的多条消息。

方法

Future<int> sendGroupReadReceiptResponse(String targetId, String? channelId, List<RCIMIWMessage> messages, {IRCIMIWSendGroupReadReceiptResponseCallback? callback});

参数说明

参数名参数类型描述
targetIdString会话 ID
channelIdString频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
messagesList<RCIMIWMessage>会话中需要发送已读回执的消息列表
callbackIRCIMIWSendGroupReadReceiptResponseCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Future<int>当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

示例代码

IRCIMIWSendGroupReadReceiptResponseCallback? callback = IRCIMIWSendGroupReadReceiptResponseCallback(onGroupReadReceiptResponseSent: (int? code, List<RCIMIWMessage>? message) {
//...
});

int? ret = await engine?.sendGroupReadReceiptResponse(targetId, channelId, messages, callback:callback);

回调方法

  • onGroupReadReceiptResponseSent

    接口调用结果的监听

Function(int? code, String? targetId, String? channelId, List<RCIMIWMessage>? messages)? onGroupReadReceiptResponseSent;

参数说明

参数名参数类型描述
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
targetIdString会话 ID
channelIdString频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
messagesList<RCIMIWMessage>会话中需要发送已读回执的消息列表

代码示例

engine?.onGroupReadReceiptResponseSent = (int? code, String? targetId, String? channelId, List<RCIMIWMessage>? messages) {
//...
};

监听群聊回执响应

方法

Function(String? targetId, String? messageUId, Map? respondUserIds)? onGroupMessageReadReceiptResponseReceived;

参数说明

参数名参数类型描述
targetIdString会话 ID
messageUIdString收到回执响应的消息的 messageUId
respondUserIdsMa<String, Long>会话中响应了此消息的用户列表。其中 key: 用户 id ; value: 响应时间。

代码示例

engine?.onGroupMessageReadReceiptResponseReceived = (String? targetId, String? messageUId, Map? respondUserIds) {
//...
};