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.


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

Specify the keywords (max 5). If neither the sender nor message type is specified, the keyword list cannot be empty.

◆ keywordListMatchType

- (V2TIMKeywordListMatchType) keywordListMatchType

Whether to combine the keywords with OR (V2TIM_KEYWORD_LIST_MATCH_TYPE_OR) or AND (V2TIM_KEYWORD_LIST_MATCH_TYPE_AND). The default is OR.

◆ senderUserIDList

- (NSArray<NSString *>*) senderUserIDList

Specify the senders (max 5 user IDs).

◆ messageTypeList

- (NSArray<NSNumber *>*) messageTypeList

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

◆ conversationID

- (NSString*) conversationID

Search all conversations or a specified conversation

If conversationID is nil, the messages in all conversations will be searched.

If conversationID is not nil, the messages of a specific conversation will be searched. You need to pass in the 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

Specify the start time for search. The default value is 0, indicating the current time. You can also set it to a UTC timestamp, in seconds.

◆ searchTimePeriod

- (NSUInteger) searchTimePeriod

Set the time range (seconds) for search. The default value 0 indicates the time range is not limited. If you set it to 24x60x60, messages in the past day will be searched.

◆ pageIndex

- (NSUInteger) pageIndex

Specify the page number (which starts from 0). This is used to paginate search results. For example, to return 10 results per page, you can do the following:

  • For the first call, set pageSize to 10 and pageIndex to 0. totalCount in the callback indicates the total number of search results.
  • You can then calculate the total number of pages: totalPage = (totalCount % pageSize == 0) ? (totalCount / pageSize) : (totalCount / pageSize + 1)
  • For subsequent calls, you can specify a page number (must be smaller than totalPage) so that the results on that page will be returned.
Valid only for interface searchLocalMessages

◆ pageSize

- (NSUInteger) pageSize

Set the maximum number of results returned per page. This is used to paginate search results. If you set the parameter to 0, the results will not be paginated. Please note that the search performance may be compromised if you do not paginate search results when there are too many of them.

Valid only for interface searchLocalMessages

◆ searchCount

- (NSUInteger) searchCount

Set the number of results returned per cloud search

Valid only for interface searchCloudMessages

◆ searchCursor

- (NSString*) searchCursor

Set the starting position for a cloud search. For the first call, leave the parameter empty. For subsequent calls, pass in the value of searchCursor in V2TIMMessageSearchResult.

Valid only for interface searchCloudMessages