getGroupMessageReadMemberList

功能介绍

获取群消息已读或未读群成员列表

该功能需要购买旗舰版套餐包,购买 旗舰版套餐包 后可使用。

3.9.3及以上版本支持

需要到控制台开启,且只支持Work、Public、Meeting群组。且不支持群定向消息。

参数详解

参数名称 参数类型 是否必填 平台 描述
messageID String 全部 需要查询的消息的id
filter GetGroupMessageReadMemberListFilter 全部 已读或未读的类型
nextSeq int 全部 分页拉取标志
count int 全部 拉取数量

返回模板

V2TimValueCallback<V2TimGroupMessageReadMemberList>

{
    code : int
    desc : String
    data : {
        isFinished : bool
        memberInfoList : V2TimGroupMemberInfo
        nextSeq : int
    }
}

返回值详解

名称 数值类型 描述
code int 请求结果错误码
desc String 请求结果描述
data [V2TimGroupMessageReadMemberList] 群消息已读或未读群成员列表

代码示例

    // 先创建消息
    V2TimValueCallback<V2TimMsgCreateInfoResult> target =
        await TencentImSDKPlugin.v2TIMManager
            .getMessageManager()
            .createTextMessage(text: "test");
    String? groupTargetdId = target.data?.id;

    V2TimValueCallback<V2TimMessage> sendMessageRes =
        await TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
            id: groupTargetdId!,
            receiver: "",
            needReadReceipt: true,
            groupID: "");

    // 查询消息已读回执
    V2TimValueCallback<List<V2TimMessageReceipt>> getMessageReadReceipts =
        await TencentImSDKPlugin.v2TIMManager
            .getMessageManager()
            .getMessageReadReceipts(
                messageIDList: [sendMessageRes.data!.msgID!]); // 需要查询的的消息id列表
    if (getMessageReadReceipts.code == 0) {
      getMessageReadReceipts.data?.forEach((element) {
        // 解析群消息已读回执
        element.groupID; // 消息的群组id
        element.msgID; // 消息的id
        element.readCount; // 群消息已读人数
        element.timestamp;
        element.unreadCount; // 群消息未读人数
        element.userID; // 发送此消息的用户id
      });
    }
    //需要先调用查询消息已读回执 才能 获取群消息已读或未读群成员列表
    V2TimValueCallback<V2TimGroupMessageReadMemberList>
        getGroupMessageReadMemberList = await TencentImSDKPlugin.v2TIMManager
            .getMessageManager()
            .getGroupMessageReadMemberList(
              nextSeq: 0, // 分页拉取标志,第一次填0,回调成功时若不为0则需要分页,再次传入拉去直到为0
              count: 100, // 拉取数量
              messageID: sendMessageRes.data!.msgID!, // 查询的消息id
              filter: GetGroupMessageReadMemberListFilter
                  .V2TIM_GROUP_MESSAGE_READ_MEMBERS_FILTER_UNREAD, // 已读或未读的类型
            );
    if (getGroupMessageReadMemberList.code == 0) {
      // 获取群消息已读未读群成员列表
      getGroupMessageReadMemberList.data?.isFinished; // 是否拉去完
      getGroupMessageReadMemberList.data?.memberInfoList; // 已读或未读的成员列表
      getGroupMessageReadMemberList.data?.nextSeq; // 分页拉取的 seq 如果为 0 表示拉取结束
    }

results matching ""

    No results matching ""