TencentImSDKPlugin.v2TIMManager.getMessageManager() 클래스에 있습니다.// 일대일 메시지 기록 풀링// 첫 번째 풀링에 대해 lastMsgID를 null로 설정// lastMsgID는 두 번째 풀링에 대해 반환된 메시지 목록의 마지막 메시지 id일 수 있음TencentImSDKPlugin.v2TIMManager.getMessageManager().getC2CHistoryMessageList(userID: "userId",count: 10,lastMsgID: null,);
// 그룹 메시지 기록 풀링// 첫 번째 풀링에 대해 lastMsgID를 null로 설정// lastMsgID는 두 번째 풀링에 대해 반환된 메시지 목록의 마지막 메시지 id일 수 있음TencentImSDKPlugin.v2TIMManager.getMessageManager().getGroupHistoryMessageList(groupID: "groupID",count: 10,lastMsgID: null,);
// 일대일 메시지 기록 풀링// 첫 번째 풀링에 대해 lastMsgID를 null로 설정// lastMsgID는 두 번째 풀링에 대해 반환된 메시지 목록의 마지막 메시지 id일 수 있음V2TimValueCallback<List<V2TimMessage>> getHistoryMessageListRes =await TencentImSDKPlugin.v2TIMManager.getMessageManager().getHistoryMessageList(getType: HistoryMsgGetTypeEnum.V2TIM_GET_LOCAL_OLDER_MSG, // 메시지 풀링의 소스 및 시퀀스userID: "userID", // 사용자id는 특정 사용자와 일대일 메시지를 풀링하려면 userID만 지정하면 됩니다.groupID: "groupID", // 그룹 id는 특정 그룹에서 그룹 메시지를 풀링하려면 groupID만 지정하면 됩니다.count: 10, // 데이터 수 풀링lastMsgID: null, // 시작 메시지 id 풀링// 그룹 채팅만 가능합니다.// lastMsgSeq를 메시지 풀링의 시작점으로 설정하면 반환된 메시지 목록에 해당 메시지가 포함됩니다.// lastMsg와 lastMsgSeq가 모두 지정된 경우 SDK는 lastMsg를 사용합니다.// lastMsg와 lastMsgSeq가 모두 지정되지 않은 경우 getTimeBegin 설정 여부에 따라 풀링 시작 지점이 결정됩니다. 그렇다면 설정된 범위가 시작점으로 사용됩니다. 아니오인 경우 최신 메시지가 시작점으로 사용됩니다.lastMsgSeq: -1,messageTypeList: [], // 기록 정보 속성을 필터링하는 데 사용되며 비어 있으면 모든 속성 정보를 풀링합니다.);if (getHistoryMessageListRes.code == 0) {//가져오기 성공}
매개변수 | 설명 | 일대일 채팅에 유효 | 그룹 채팅에 유효 | 필수 입력 여부 | 비고 |
getType | 로컬/클라우드 및 역순/시간순으로 각각 설정할 수 있는 메시지 풀링의 소스 및 시퀀스 | YES | YES | YES | 풀링 소스를 클라우드로 설정하면 로컬 메시지 목록과 클라우드 메시지 목록이 병합되어 반환됩니다. 네트워크 연결이 없으면 로컬 메시지 목록이 반환됩니다. |
userID | 일대일 메시지 기록을 가져올 지정된 사용자 ID | YES | NO | NO | 특정 사용자와 일대일 메시지를 풀링하려면 userID만 지정하면 됩니다. |
groupID | 그룹 메시지 기록을 가져올 지정된 그룹 ID | NO | YES | NO | 특정 그룹에서 그룹 메시지를 풀링하려면 groupID만 지정하면 됩니다. |
count | 풀링당 메시지 수 | YES | YES | YES | iOS/Android는 20으로 설정하는 것이 좋습니다. 그렇지 않으면 풀링 속도에 영향을 줄 수 있습니다. Web의 최댓값은 15입니다. |
lastMsgID | 메시지 기록을 풀링할 시작 메시지를 나타내는 마지막 메시지의 ID | YES | YES | NO | 1. 일대일 채팅과 그룹 채팅 모두에 사용할 수 있습니다. 2. lastMsg를 메시지 풀링의 시작점으로 설정하면 이 메시지는 반환된 메시지 목록에 포함되지 않습니다. 3. 비워두면 대화의 가장 최근 메시지가 끌어오기 시작점으로 사용됩니다. |
lastMsgSeq | 메시지 기록을 풀링할 시작 메시지를 나타내는 마지막 메시지의 seq | NO | YES | NO | 1. 그룹 채팅만 가능합니다. 2. lastMsgSeq를 메시지 풀링의 시작점으로 설정하면 반환된 메시지 목록에 해당 메시지가 포함됩니다. 3. lastMsg와 lastMsgSeq가 모두 지정된 경우 SDK는 lastMsg를 사용합니다. 4. lastMsg와 lastMsgSeq가 모두 지정되지 않은 경우 getTimeBegin 설정 여부에 따라 풀링 시작 지점이 결정됩니다. 그렇다면 설정된 범위가 시작점으로 사용됩니다. 아니오인 경우 최신 메시지가 시작점으로 사용됩니다. |
lastMsg 및 count를 사용하여 구현할 수 있습니다. 첫 번째 풀링의 경우 lastMsg를 비워둘 수 있습니다. 이는 반환된 메시지 목록의 마지막 메시지가 다음 페이지의 데이터를 풀링하기 위한 lastMsg로 사용됨을 나타냅니다.lastMsg가 비어 있으면 SDK는 기본적으로 최신 메시지부터 메시지 기록을 반환합니다.lastMsg가 설정되면 반환된 메시지 목록에는 설정된 lastMsg가 포함되지 않습니다.count를 20으로 설정하는 것이 좋습니다.lastMsgSeq를 사용하지 않는 것이 좋습니다.getType을 설정합니다.getType이 V2TIM_GET_LOCAL_OLDER_MSG로 설정되면 로컬에 저장된 메시지가 역순으로 풀링됩니다.getType이 V2TIM_GET_LOCAL_NEWER_MSG로 설정되면 로컬에 저장된 메시지를 시간순으로 가져옵니다.TencentImSDKPlugin.v2TIMManager.getMessageManager().getHistoryMessageList(count: 10,getType: HistoryMsgGetTypeEnum.V2TIM_GET_LOCAL_OLDER_MSG,userID: "userID",);
sequence를 lastMsgSeq로 설정하고 고급 API를 사용하여 메시지를 풀링할 수 있습니다.// 그룹 @ 메시지의 sequence 가져오기int atSequence = 1081;// 그룹 @ 메시지와 이전 메시지 풀링TencentImSDKPlugin.v2TIMManager.getMessageManager().getHistoryMessageList(count: 20, // 20개의 메시지 풀링getType: HistoryMsgGetTypeEnum.V2TIM_GET_CLOUD_OLDER_MSG, // 그룹 @ 메시지보다 먼저 메시지 풀링lastMsgSeq: atSequence,// 풀 목록에 포함된 그룹 @ 메시지에서 풀링 시작groupID: "groupID" // 그룹 메시지 풀링);// 그룹 @ 메시지 이후에 메시지 풀링TencentImSDKPlugin.v2TIMManager.getMessageManager().getHistoryMessageList(count: 20, // 20개의 메시지 풀링getType: HistoryMsgGetTypeEnum.V2TIM_GET_CLOUD_NEWER_MSG, // 그룹 @ 메시지 이후에 메시지 풀링lastMsgSeq: atSequence,// 풀 목록에 포함된 그룹 @ 메시지에서 풀링 시작groupID: "groupID" // 그룹 메시지 풀링);
onlineUserOnly 를 YES/true로 설정하십시오.count)를 줄일 수 있습니다. 피드백