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.
V2TIMMessageSearchParam

Properties

NSArray< NSString * > * keywordList
 
V2TIMKeywordListMatchType keywordListMatchType
 
NSArray< NSString * > * senderUserIDList
 
NSArray< NSNumber * > * messageTypeList
 
NSString * conversationID
 
NSUInteger searchTimePosition
 
NSUInteger searchTimePeriod
 
NSUInteger pageIndex
 
NSUInteger pageSize
 
NSUInteger searchCount
 
NSString * searchCursor
 

Property Documentation

◆ keywordList

- (NSArray<NSString *>*) keywordList
readwritenonatomicstrong

The keyword list can contain up to 5 keywords. When the sender and type of the message are not specified, the keyword list must be non-empty. Otherwise, the keyword list can be empty.

◆ keywordListMatchType

- (V2TIMKeywordListMatchType) keywordListMatchType
readwritenonatomicassign

Set the keyword list matching type, which can be the OR or AND relationship search. The options are V2TIM_KEYWORD_LIST_MATCH_TYPE_OR (default) and V2TIM_KEYWORD_LIST_MATCH_TYPE_AND.

◆ senderUserIDList

- (NSArray<NSString *>*) senderUserIDList
readwritenonatomicstrong

Set userIDs for message sending. Up to 5 userIDs are supported.

◆ messageTypeList

- (NSArray<NSNumber *>*) messageTypeList
readwritenonatomicstrong

Set the message types to search. If null is passed in, all message types supported are searched (V2TIMFaceElem and V2TIMGroupTipsElem are not supported).

◆ conversationID

- (NSString*) conversationID
readwritenonatomicstrong

Search all conversations or a specified conversation

conversationID == null: search all conversations

conversationID != null: search a specified conversation. Unique ID of a conversation. For one-to-one chats, the value format is [NSString stringWithFormat:"c2c_%",userID]. For group chats, the value format is [NSString stringWithFormat:"group_%",groupID].

◆ searchTimePosition

- (NSUInteger) searchTimePosition
readwritenonatomicassign

Start time for search. The default value is 0, indicating to start search now. The value can also be the UTC timestamp, in seconds.

◆ searchTimePeriod

- (NSUInteger) searchTimePeriod
readwritenonatomicassign

A time period in the past starting from the start time, in seconds. The default value 0 indicates that the time range is not limited. The value 24x60x60 indicates the past day.

◆ pageIndex

- (NSUInteger) pageIndex
readwritenonatomicassign

Page number: used for the paginated display of the search results. Page numbers must start from 0. For example, to display 10 results per page, call the API according to the following rules:

  • First call: call searchLocalMessage with pageSize being set to 10 and pageIndex to 0. Then you can get the total number of results from totalCount in the callback.
  • Page quantity calculation: totalPage = (totalCount % pageSize == 0) ? (totalCount / pageSize) : (totalCount / pageSize + 1)
  • Second call: specify pageIndex (pageIndex < totalPage) to return the subsequent page number.
Attention
Valid only for interface searchLocalMessages

◆ pageSize

- (NSUInteger) pageSize
readwritenonatomicassign

Count of results per page: used for the paginated display of the search results. If you do not want to paginate the search results, set the parameter to 0. However, a large count of search results without pagination may cause performance issues.

Attention
Valid only for interface searchLocalMessages

◆ searchCount

- (NSUInteger) searchCount
readwritenonatomicassign

Count of cloud search results

Attention
Valid only for interface searchCloudMessages

◆ searchCursor

- (NSString*) searchCursor
readwritenonatomicstrong

The starting position for cloud search. Set an empty string for the first time, and pass in the value of searchCursor in V2TIMMessageSearchResult when continuing to search.

Attention
Valid only for interface searchCloudMessages