agora_chat_SDK  3.8.2
Instance Methods | List of all members
<IAgoraChatManager> Protocol Reference

#import <IAgoraChatManager.h>

Inheritance diagram for <IAgoraChatManager>:

Instance Methods

(void) - addDelegate:delegateQueue:
 
(void) - removeDelegate:
 
(NSArray *) - getAllConversations
 
(void) - getConversationsFromServer:
 
(AgoraConversation *) - getConversationWithConvId:
 
(AgoraConversation *) - getConversation:type:createIfNotExist:
 
(void) - deleteConversation:isDeleteMessages:completion:
 
(void) - deleteConversations:isDeleteMessages:completion:
 
(void) - importConversations:completion:
 
(Message *) - getMessageWithMessageId:
 
(NSString *) - getMessageAttachmentPath:
 
(void) - importMessages:completion:
 
(void) - updateMessage:completion:
 
(void) - sendMessageReadAck:toUser:completion:
 
(void) - sendGroupMessageReadAck:toGroup:content:completion:
 
(void) - ackConversationRead:completion:
 
(void) - recallMessageWithMessageId:completion:
 
(void) - sendMessage:progress:completion:
 
(void) - resendMessage:progress:completion:
 
(void) - downloadMessageThumbnail:progress:completion:
 
(void) - downloadMessageAttachment:progress:completion:
 
(AgoraCursorResult *) - fetchHistoryMessagesFromServer:conversationType:startMessageId:pageSize:error:
 
(void) - asyncFetchHistoryMessagesFromServer:conversationType:startMessageId:pageSize:completion:
 
(void) - asyncFetchGroupMessageAcksFromServer:groupId:startGroupAckId:pageSize:completion:
 
(void) - sendMessageReadAck:completion:
 
(void) - recallMessage:completion:
 
(void) - addDelegate:
 
("Use -getAllConversations instead") - __deprecated_msg
 
(BOOL) - deleteConversation:deleteMessages:
 
(BOOL) - deleteConversations:deleteMessages:
 
(BOOL) - importConversations:
 
(BOOL) - importMessages:
 
(BOOL) - updateMessage:
 
(void) - asyncSendReadAckForMessage:
 
(void) - asyncSendMessage:progress:completion:
 
(void) - asyncResendMessage:progress:completion:
 
(void) - asyncDownloadMessageThumbnail:progress:completion:
 
(void) - asyncDownloadMessageAttachments:progress:completion:
 
(void) - loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion:
 
(void) - loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:completion:
 

Detailed Description

This protocol defines the operations of chat Current message are loaded from local database, not from server

Method Documentation

- ("Use -getAllConversations instead") __deprecated_msg
required

Load all conversations from DB, will update conversation list in memory after this method is called

Synchronization method will block the current thread

Returns
Conversation list<AgoraConversation>
- (void) ackConversationRead: (NSString *)  conversationId
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Send read conversation ack to server, which makes the conversation read

Parameters
conversationIdconversation id
aCompletionBlockThe callback of completion block
- (void) addDelegate: (3_1_0) 
(3_2_2) 
("Use - instead")  EM_DEPRECATED_IOS[IAgoraChatManager addDelegate:delegateQueue:] 
required

Add delegate

Parameters
aDelegateDelegate
- (void) addDelegate: (id< AgoraChatManagerDelegate >)  aDelegate
delegateQueue: (dispatch_queue_t)  aQueue 
required

Add delegate

Parameters
aDelegateObjects that implement the protocol
aQueue(optional) The queue of calling delegate methods. Pass in nil to run on main thread.
- (void) asyncDownloadMessageAttachments: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -downloadMessageAttachment:progress:completion: instead")  __deprecated_msg 
required

Download message attachment(voice, video, image or file), SDK can download voice automatically, so user should NOT download voice manually except automatic download failed

Asynchronous methods

Parameters
aMessageMessage object
aProgressCompletionThe callback block of attachment download progress
aCompletionThe callback block of download complete
- (void) asyncDownloadMessageThumbnail: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -downloadMessageThumbnail:progress:completion: instead")  __deprecated_msg 
required

Download message thumbnail attachments (thumbnails of image message or first frame of video image), SDK can download thumbail automatically, so user should NOT download thumbail manually except automatic download failed

Asynchronous methods

Parameters
aMessageMessage object
aProgressCompletionThe callback block of attachment download progress
aCompletionThe callback block of download complete
- (void) asyncFetchGroupMessageAcksFromServer: (NSString *)  aMessageId
groupId: (NSString *)  aGroupId
startGroupAckId: (NSString *)  aGroupAckId
pageSize: (int)  aPageSize
completion: (void(^)(AgoraCursorResult *aResult, AgoraError *error, int totalCount))  aCompletionBlock 
required

Fetch group read back receipt from the server

Parameters
aMessageIdThe message id which select to fetch.
aGroupIdThe group id which select to fetch.
aGroupAckIdThe group ack id which select to fetch.
aPageSizeThe page size.
aCompletionBlockThe callback block of fetch complete
- (void) asyncFetchHistoryMessagesFromServer: (NSString *)  aConversationId
conversationType: (AgoraConversationType)  aConversationType
startMessageId: (NSString *)  aStartMessageId
pageSize: (int)  aPageSize
completion: (void(^)(AgoraCursorResult *aResult, AgoraError *aError))  aCompletionBlock 
required

Fetch conversation roam messages from server.

Parameters
aConversationIdThe conversation id which select to fetch roam message.
aConversationTypeThe conversation type which select to fetch roam message.
aStartMessageIdThe start search roam message id, if empty start from the server leastst message.
aPageSizeThe page size.
aCompletionBlockThe callback block of fetch complete
- (void) asyncResendMessage: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -resendMessage:progress:completion: instead")  __deprecated_msg 
required

Resend Message

Asynchronous methods

Parameters
aMessageMessage object
aProgressCompletionThe callback block of attachment upload progress
aCompletionThe callback block of send complete
- (void) asyncSendMessage: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressCompletion
completion: ("Use -sendMessage:progress:completion: instead")  __deprecated_msg 
required

Send a message

Asynchronous methods

Parameters
aMessageMessage instance
aProgressCompletionThe block of attachment upload progress
aCompletionThe block of send complete
- (void) asyncSendReadAckForMessage: ("Use -sendMessageReadAck:completion: instead")  __deprecated_msg
required

Send read ack for message

Asynchronous methods

Parameters
aMessageMessage instance
- (BOOL) deleteConversation: (NSString *)  aConversationId
deleteMessages: ("Use -deleteConversation:isDeleteMessages:completion: instead")  __deprecated_msg 
required

Delete a conversation

Parameters
aConversationIdConversation id
aDeleteMessageWhether delete messages
Returns
Whether deleted successfully
- (void) deleteConversation: (NSString *)  aConversationId
isDeleteMessages: (BOOL)  aIsDeleteMessages
completion: (void(^)(NSString *aConversationId, AgoraError *aError))  aCompletionBlock 
required

Delete a conversation from local database

Parameters
aConversationIdConversation id
aIsDeleteMessagesif delete messages
aCompletionBlockThe callback of completion block
- (BOOL) deleteConversations: (NSArray *)  aConversations
deleteMessages: ("Use -deleteConversations:isDeleteMessages:completion: instead")  __deprecated_msg 
required

Delete multiple conversations

Parameters
aConversationsConversation list<AgoraConversation>
aDeleteMessageWhether delete messages
Returns
Whether deleted successfully
- (void) deleteConversations: (NSArray *)  aConversations
isDeleteMessages: (BOOL)  aIsDeleteMessages
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Delete multiple conversations

Parameters
aConversationsConversation NSArray<AgoraConversation>
aIsDeleteMessagesWhether delete messages
aCompletionBlockThe callback of completion block
- (void) downloadMessageAttachment: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(Message *message, AgoraError *error))  aCompletionBlock 
required

Download message attachment (voice, video, image or file). SDK handles attachment downloading automatically, no need to download attachment manually unless automatic download failed

Parameters
aMessageMessage object
aProgressBlockThe callback block of attachment download progress
aCompletionBlockThe callback of completion block
- (void) downloadMessageThumbnail: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(Message *message, AgoraError *error))  aCompletionBlock 
required

Manual download the message thumbnail (thumbnail of image message or first frame of video image). SDK handles the thumbnail downloading automatically, no need to download thumbnail manually unless automatic download failed.

Parameters
aMessageMessage object
aProgressBlockThe callback block of attachment download progress
aCompletionBlockThe callback of completion block
- (AgoraCursorResult *) fetchHistoryMessagesFromServer: (NSString *)  aConversationId
conversationType: (AgoraConversationType)  aConversationType
startMessageId: (NSString *)  aStartMessageId
pageSize: (int)  aPageSize
error: (AgoraError **)  pError 
required

Fetch conversation roam messages from server.

Parameters
aConversationIdThe conversation id which select to fetch roam message.
aConversationTypeThe conversation type which select to fetch roam message.
aStartMessageIdThe start search roam message id, if empty start from the server leastst message.
aPageSizeThe page size.
pErrorAgoraError used for output.
Returns
The result
- (NSArray *) getAllConversations
required

Get all conversations from local databse. Will load conversations from cache first, otherwise local database

Returns
Conversation NSArray<AgoraConversation>
- (AgoraConversation *) getConversation: (NSString *)  aConversationId
type: (AgoraConversationType)  aType
createIfNotExist: (BOOL)  aIfCreate 
required

Get a conversation from local database

Parameters
aConversationIdConversation id
aTypeConversation type (Must be specified)
aIfCreateWhether create conversation if not exist
Returns
Conversation
- (void) getConversationsFromServer: (void(^)(NSArray *aCoversations, AgoraError *aError))  aCompletionBlock
required

Get all conversations from server

- (AgoraConversation *) getConversationWithConvId: (NSString *)  aConversationId
required

Get a conversation from local database

Parameters
aConversationIdConversation id
Returns
Conversation object
- (NSString *) getMessageAttachmentPath: (NSString *)  aConversationId
required

Get message attachment local path for the conversation. Delete the conversation will also delete the files under the file path

Parameters
aConversationIdConversation id
Returns
Attachment path
- (Message *) getMessageWithMessageId: (NSString *)  aMessageId
required

Get the specified message

Parameters
aMessageIdMessage id
- (BOOL) importConversations: ("Use -importConversations:completion: instead")  __deprecated_msg
required

Import multiple conversations to DB

Parameters
aConversationsConversation list<AgoraConversation>
Returns
Whether imported successfully
- (void) importConversations: (NSArray *)  aConversations
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Import multiple conversations to local database

Parameters
aConversationsConversation NSArray<AgoraConversation>
aCompletionBlockThe callback of completion block
- (BOOL) importMessages: ("Use -importMessages:completion: instead")  __deprecated_msg
required

Import multiple messages

Parameters
aMessagesMessage list<Message>
Returns
Whether imported successfully
- (void) importMessages: (NSArray *)  aMessages
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Import multiple messages to local database

Parameters
aMessagesMessage NSArray<Message>
aCompletionBlockThe callback of completion block
- (void) loadMessagesWithKeyword: (NSString *)  aKeywords
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *)  aSender
searchDirection: (MessageSearchDirection)  aDirection
completion: (void(^)(NSArray *aMessages, AgoraError *aError))  aCompletionBlock 
required

Load messages with specified keyword from local database, returning messages are sorted by receiving timestamp based on MessageSearchDirection. If reference timestamp is negative, load from the latest messages; if message count is negative, will be handled as count=1

Parameters
aKeywordSearch keyword. aKeyword=nil to ignore
aTimestampload based on reference timestamp. If aTimestamp=-1, will load from the most recent (the latest) message
aCountMax number of messages to load
aSenderMessage sender (optional). Pass nil to ignore
aDirectionMessage search direction MessageSearchDirectionUp: get aCount of messages before aMessageId; MessageSearchDirectionDown: get aCount of messages after aMessageId * -—
aCompletionBlockThe callback of completion block
- (void) loadMessagesWithType: (MessageBodyType)  aType
timestamp: (long long)  aTimestamp
count: (int)  aCount
fromUser: (NSString *)  aUsername
searchDirection: (MessageSearchDirection)  aDirection
completion: (void(^)(NSArray *aMessages, AgoraError *aError))  aCompletionBlock 
required

Load messages with specified message type from local database. Returning messages are sorted by receiving timestamp based on MessageSearchDirection.

Parameters
aTypeMessage type to load
aTimestampload based on reference timestamp. If aTimestamp=-1, will load from the most recent (the latest) message
aCountMax number of messages to load. if aCount<0, will be handled as count=1
aUsernameMessage sender (optional). Use aUsername=nil to ignore
aDirectionMessage search direction MessageSearchDirectionUp: get aCount of messages before aMessageId; MessageSearchDirectionDown: get aCount of messages after aMessageId
aCompletionBlockThe callback of completion block
- (void) recallMessage: (Message *)  aMessage
completion: (3_3_0) 
(3_6_1) 
("Use - instead")  EM_DEPRECATED_IOS[IAgoraChatManager recallMessageWithMessageId:completion:] 
required

Recall a message

Parameters
aMessageMessage instance
aCompletionBlockThe callback block of completion
- (void) recallMessageWithMessageId: (NSString *)  aMessageId
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Recall a message

Parameters
aMessageIdMessage id
aCompletionBlockThe callback block of completion
- (void) removeDelegate: (id< AgoraChatManagerDelegate >)  aDelegate
required

Remove delegate

Parameters
aDelegateDelegate to be removed
- (void) resendMessage: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(Message *message, AgoraError *error))  aCompletionBlock 
required

Resend Message

Parameters
aMessageMessage object
aProgressBlockThe callback block of attachment upload progress
aCompletionBlockThe callback of completion block
- (void) sendGroupMessageReadAck: (NSString *)  aMessageId
toGroup: (NSString *)  aGroupId
content: (NSString *)  aContent
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Send read acknowledgement for message

Parameters
aMessageIdMessage id
aGroupIdgroup receiver
aContentContent
aCompletionBlockThe callback of completion block
- (void) sendMessage: (Message *)  aMessage
progress: (void(^)(int progress))  aProgressBlock
completion: (void(^)(Message *message, AgoraError *error))  aCompletionBlock 
required

Send a message

Parameters
aMessageMessage instance
aProgressBlockThe block of attachment upload progress in percentage, 0~100.
aCompletionBlockThe callback of completion block
- (void) sendMessageReadAck: (Message *)  aMessage
completion: (3_3_0) 
(3_6_1) 
("Use - instead")  EM_DEPRECATED_IOS[IAgoraChatManager sendMessageReadAck:toUser:completion:] 
required

Send read acknowledgement for message

Parameters
aMessageMessage instance
aCompletionBlockThe callback of completion block
- (void) sendMessageReadAck: (NSString *)  aMessageId
toUser: (NSString *)  aUsername
completion: (void(^)(AgoraError *aError))  aCompletionBlock 
required

Send read acknowledgement for message

Parameters
aMessageIdMessage id
aUsernameack receiver
aCompletionBlockThe callback of completion block
- (BOOL) updateMessage: ("Use -updateMessage:completion: instead")  __deprecated_msg
required

Update message to DB

Parameters
aMessageMessage
Returns
Whether updated successfully
- (void) updateMessage: (Message *)  aMessage
completion: (void(^)(Message *aMessage, AgoraError *aError))  aCompletionBlock 
required

Update a message in local database. latestMessage of the conversation and other properties will be updated accordingly. messageId of the message cannot be updated

Parameters
aMessageMessage
aCompletionBlockThe callback of completion block

The documentation for this protocol was generated from the following file: