IMSDK
IM features a comprehensive suite of solutions including global access, one-to-one chat, group chat, message push, profile and relationship chain hosting, and account authentication. It also provides complete app access and backend management APIs.
V2TIMMessageListGetOption

Properties

V2TIMMessageGetType getType
 
NSString * userID
 
NSString * groupID
 
NSUInteger count
 
NSArray< NSNumber * > * messageTypeList
 
V2TIMMessagelastMsg
 
NSUInteger lastMsgSeq
 
NSUInteger getTimeBegin
 
NSUInteger getTimePeriod
 
NSArray< NSNumber * > * messageSeqList
 

Property Documentation

◆ getType

- (V2TIMMessageGetType) getType
readwritenonatomicassign

Message pulling type, which can be set to pull older or newer messages from local storage or the cloud

Attention
Notes:

For pulling messages from the cloud, the locally stored and cloud stored message lists are combined and returned. If no network connection is available, only the locally stored message list is returned.

The following are the instructions for getType and the start message and time range for message pulling:

  • getType indicates the pulling direction: whether to pull older or newer messages.
  • lastMsg and lastMsgSeq indicate the start point for message pulling. For first time pulling, they can be left empty or set to 0.
  • getTimeBegin and getTimePeriod indicate the time range for message pulling. The start point of the time range is related to the pulling direction (getType).
  • If both the start message and time range exist, the result set can be considered as the intersection of "result of pulling by start message alone" and "result of pulling by time range alone".
  • If both the start message and time range do not exist, the result set can be considered as the result of pulling from the latest message of the current conversation in the pulling direction and mode specified by getType.
Parameters
getTypePulling type. Valid values: V2TIM_GET_CLOUD_OLDER_MSG, V2TIM_GET_CLOUD_NEWER_MSG, V2TIM_GET_LOCAL_OLDER_MSG, V2TIM_GET_LOCAL_NEWER_MSG

◆ userID

- (NSString*) userID
readwritenonatomicstrong

Pull historical one-to-one chat messages.

◆ groupID

- (NSString*) groupID
readwritenonatomicstrong

Pull historical group messages.

◆ count

- (NSUInteger) count
readwritenonatomicassign

Number of messages to be pulled.

◆ messageTypeList

- (NSArray<NSNumber *>*) messageTypeList
readwritenonatomicstrong

Set the message types to pull, valid only when getType is V2TIM_GET_LOCAL_OLDER_MSG and V2TIM_GET_LOCAL_NEWER_MSG,If null is passed in, all message types supported are pulled.

◆ lastMsg

- (V2TIMMessage*) lastMsg
readwritenonatomicstrong

Start message for message pulling

Attention
Notes:

When one-to-one messages are pulled, only lastMsg can be used to specify the start point for message pulling. If lastMsg is not specified, the IM SDK uses the newest message of the conversation as the start point for message pulling.

When group messages are pulled, lastMsg or lastMsgSeq can be used to specify the start point for message pulling:

  • If lastMsg is used to specify the start point for message pulling, the returned message list does not include the message specified by lastMsg.
  • If lastMsgSeq is used to specify the start point for message pulling, the returned message list does not include the message specified by lastMsgSeq.
Attention
When group messages are pulled:

If both lastMsg and lastMsgSeq are specified, the IM SDK uses lastMsg to determine the start point for message pulling.

If both lastMsg and lastMsgSeq are not specified, there are two cases for the start point for message pulling:

  • If the time range for message pulling is specified, the IM SDK uses the point in time specified by @getTimeBegin as the start point for message pulling.
  • If the time range for message pulling is not specified, the IM SDK uses the newest message of the conversation as the start point for message pulling.

◆ lastMsgSeq

- (NSUInteger) lastMsgSeq
readwritenonatomicassign

◆ getTimeBegin

- (NSUInteger) getTimeBegin
readwritenonatomicassign

Time range for message pulling

getTimeBegin: indicates the start point of the time range. The default value is 0, indicating to start pulling now. The value can also be the UTC timestamp, in seconds.

getTimePeriod: indicates the length of the time range, in seconds. The default value is 0, indicating that the time range is not limited.

Attention

The direction of the time range is determined by the getType parameter:

If getType is V2TIM_GET_CLOUD_OLDER_MSG/V2TIM_GET_LOCAL_OLDER_MSG, the time range is a period of time in the past, starting from getTimeBegin and with a length determined by getTimePeriod.

If getType is V2TIM_GET_CLOUD_NEWER_MSG/V2TIM_GET_LOCAL_NEWER_MSG, the time range is a period of time in the future, starting from getTimeBegin and with a length determined by getTimePeriod.

The value range is a closed range, including the start and end points in time. The relationship between the two is as follows:

  • If getType specifies to pull older messages, the time range is [getTimeBegin-getTimePeriod, getTimeBegin].
  • If getType specifies to pull newer messages, the time range is [getTimeBegin, getTimeBegin+getTimePeriod].

◆ getTimePeriod

- (NSUInteger) getTimePeriod
readwritenonatomicassign

◆ messageSeqList

- (NSArray<NSNumber *>*) messageSeqList
readwritenonatomicstrong

Pulling group history messages according to the specific message sequence list (Supported only in imsdk 7.1 and later versions)

Attention
  • Valid only when pulling group history messages;
  • The message sequence comes from the seq field of V2TIMMessage;
  • When getType is set to pull from the cloud, it will merge the local storage message list with the cloud storage message list and return; if there is no network, it will directly return the local message list;
  • When getType is set to pull from local storage, it will directly return the local message list;
  • When getType is set to pull older messages, the message list is in reverse order of time, that is, the messages are sorted in descending order of timestamp;
  • When getType is set to pull newer messages, the message list is in chronological order, that is, the messages are sorted in ascending order of timestamp.