AgoraChatSDK 1.0.7
IAgoraChatManager.h
1
15#import <Foundation/Foundation.h>
16
17#import "AgoraChatCommonDefs.h"
18#import "AgoraChatManagerDelegate.h"
19#import "AgoraChatConversation.h"
20
21#import "AgoraChatMessage.h"
22#import "AgoraChatTextMessageBody.h"
23#import "AgoraChatLocationMessageBody.h"
24#import "AgoraChatCmdMessageBody.h"
25#import "AgoraChatFileMessageBody.h"
26#import "AgoraChatImageMessageBody.h"
27#import "AgoraChatVoiceMessageBody.h"
28#import "AgoraChatVideoMessageBody.h"
29#import "AgoraChatCustomMessageBody.h"
30#import "AgoraChatCursorResult.h"
31
32#import "AgoraChatGroupMessageAck.h"
33#import "AgoraChatTranslateLanguage.h"
34
42typedef NS_ENUM(NSUInteger, AgoraChatMessageFetchHistoryDirection) {
43 AgoraChatMessageFetchHistoryDirectionUp = 0,
44 AgoraChatMessageFetchHistoryDirectionDown
45};
46
47
48@class AgoraChatError;
49
59@protocol IAgoraChatManager <NSObject>
60
61@required
62
63#pragma mark - Delegate
64
78- (void)addDelegate:(id<AgoraChatManagerDelegate> _Nullable)aDelegate
79 delegateQueue:(dispatch_queue_t _Nullable)aQueue;
80
92- (void)removeDelegate:(id<AgoraChatManagerDelegate> _Nonnull)aDelegate;
93
94#pragma mark - Conversation
95
107- (NSArray<AgoraChatConversation *> * _Nullable)getAllConversations;
108
120- (void)getConversationsFromServer:(void (^_Nullable)(NSArray<AgoraChatConversation *> * _Nullable aConversations, AgoraChatError * _Nullable aError))aCompletionBlock;
121
137- (AgoraChatConversation *_Nullable)getConversationWithConvId:(NSString * _Nullable)aConversationId;
138
158- (AgoraChatConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
159 type:(AgoraChatConversationType)aType
160 createIfNotExist:(BOOL)aIfCreate;
161
181- (AgoraChatConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
182 type:(AgoraChatConversationType)aType
183 createIfNotExist:(BOOL)aIfCreate isThread:(BOOL)isThread;
184
204- (void)deleteConversation:(NSString * _Nonnull)aConversationId
205 isDeleteMessages:(BOOL)aIsDeleteMessages
206 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, AgoraChatError *_Nullable aError))aCompletionBlock;
207
230 - (void)deleteServerConversation:(NSString * _Nonnull)aConversationId
231 conversationType:(AgoraChatConversationType)aConversationType
232 isDeleteServerMessages:(BOOL)aIsDeleteServerMessages
233 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, AgoraChatError * _Nullable aError))aCompletionBlock;
234
255- (void)deleteConversations:(NSArray<AgoraChatConversation *> * _Nullable)aConversations
256 isDeleteMessages:(BOOL)aIsDeleteMessages
257 completion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
258
274- (void)importConversations:(NSArray<AgoraChatConversation *> * _Nullable)aConversations
275 completion:(void (^ _Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
276
277#pragma mark - Message
278
293- (AgoraChatMessage * _Nullable)getMessageWithMessageId:(NSString * _Nonnull)aMessageId;
294
312- (NSString * _Nullable)getMessageAttachmentPath:(NSString * _Nonnull)aConversationId;
313
328- (void)importMessages:(NSArray<AgoraChatMessage *> * _Nonnull)aMessages
329 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
330
345- (void)updateMessage:(AgoraChatMessage *_Nonnull)aMessage
346 completion:(void (^_Nullable)(AgoraChatMessage * _Nullable aMessage, AgoraChatError * _Nullable aError))aCompletionBlock;
347
368- (void)sendMessageReadAck:(NSString * _Nonnull)aMessageId
369 toUser:(NSString * _Nonnull)aUsername
370 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
371
372
395- (void)sendGroupMessageReadAck:(NSString * _Nonnull)aMessageId
396 toGroup:(NSString * _Nonnull)aGroupId
397 content:(NSString * _Nullable)aContent
398 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
399
432- (void)ackConversationRead:(NSString * _Nonnull)conversationId
433 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
434
453- (void)recallMessageWithMessageId:(NSString *_Nonnull)aMessageId
454 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
455
456
476- (void)sendMessage:(AgoraChatMessage *_Nonnull)aMessage
477 progress:(void (^_Nullable)(int progress))aProgressBlock
478 completion:(void (^_Nullable)(AgoraChatMessage *_Nullable message, AgoraChatError *_Nullable error))aCompletionBlock;
479
495- (void)resendMessage:(AgoraChatMessage *_Nonnull)aMessage
496 progress:(void (^_Nullable)(int progress))aProgressBlock
497 completion:(void (^_Nullable)(AgoraChatMessage *_Nullable message, AgoraChatError *_Nullable error))aCompletionBlock;
498
518- (void)downloadMessageThumbnail:(AgoraChatMessage *_Nonnull)aMessage
519 progress:(void (^_Nullable)(int progress))aProgressBlock
520 completion:(void (^_Nullable)(AgoraChatMessage *_Nullable message, AgoraChatError *_Nullable error))aCompletionBlock;
521
545- (void)downloadMessageAttachment:(AgoraChatMessage *_Nonnull)aMessage
546 progress:(void (^_Nullable)(int progress))aProgressBlock
547 completion:(void (^_Nullable)(AgoraChatMessage *_Nullable message, AgoraChatError *_Nullable error))aCompletionBlock;
548
549
550
577- (AgoraChatCursorResult<AgoraChatMessage*> *_Nullable)fetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
578 conversationType:(AgoraChatConversationType)aConversationType
579 startMessageId:(NSString *_Nullable)aStartMessageId
580 fetchDirection:(AgoraChatMessageFetchHistoryDirection)direction
581 pageSize:(int)aPageSize
582 error:(AgoraChatError **_Nullable)pError;
607- (AgoraChatCursorResult<AgoraChatMessage*> *_Nullable)fetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
608 conversationType:(AgoraChatConversationType)aConversationType
609 startMessageId:(NSString *_Nullable)aStartMessageId
610 pageSize:(int)aPageSize
611 error:(AgoraChatError **_Nullable)pError;
612
613
638- (void)asyncFetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
639 conversationType:(AgoraChatConversationType)aConversationType
640 startMessageId:(NSString *_Nullable)aStartMessageId
641 pageSize:(int)aPageSize
642 completion:(void (^_Nullable)(AgoraChatCursorResult<AgoraChatMessage*> *_Nullable aResult, AgoraChatError *_Nullable aError))aCompletionBlock;
669- (void)asyncFetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
670 conversationType:(AgoraChatConversationType)aConversationType
671 startMessageId:(NSString *_Nullable)aStartMessageId
672 fetchDirection:(AgoraChatMessageFetchHistoryDirection)direction
673 pageSize:(int)aPageSize
674 completion:(void (^_Nullable)(AgoraChatCursorResult<AgoraChatMessage*> *_Nullable aResult, AgoraChatError *_Nullable aError))aCompletionBlock;
675
676
677
678
703- (void)asyncFetchGroupMessageAcksFromServer:(NSString *_Nonnull)aMessageId
704 groupId:(NSString *_Nonnull)aGroupId
705 startGroupAckId:(NSString *_Nonnull)aGroupAckId
706 pageSize:(int)aPageSize
707 completion:(void (^_Nullable)(AgoraChatCursorResult<AgoraChatGroupMessageAck *> *_Nullable aResult, AgoraChatError *_Nullable error, int totalCount))aCompletionBlock;
708
729- (void)reportMessageWithId:(NSString *_Nonnull )aMessageId
730 tag:(NSString *_Nonnull)aTag
731 reason:(NSString *_Nonnull)aReason
732 completion:(void(^_Nullable)(AgoraChatError* _Nullable error))aCompletion;
733
750- (void)deleteMessagesBefore:(NSUInteger)aTimestamp
751 completion:(void(^)(AgoraChatError*error))aCompletion;
752
768- (void)translateMessage:(AgoraChatMessage *)aMessage
769 targetLanguages:(NSArray<NSString*>*)aLanguages
770 completion:(void (^)(AgoraChatMessage *message, AgoraChatError *error))aCompletionBlock;
771
783- (void)fetchSupportedLanguages:(void(^_Nullable)(NSArray<AgoraChatTranslateLanguage*>* _Nullable languages,AgoraChatError* _Nullable error))aCompletionBlock;
784
821- (NSArray<AgoraChatMessage *> *)loadMessagesWithType:(AgoraChatMessageBodyType)aType
822 timestamp:(long long)aTimestamp
823 count:(int)aCount
824 fromUser:(NSString*)aUsername
825 searchDirection:(AgoraChatMessageSearchDirection)aDirection;
826
857- (void)loadMessagesWithType:(AgoraChatMessageBodyType)aType
858 timestamp:(long long)aTimestamp
859 count:(int)aCount
860 fromUser:(NSString*)aUsername
861 searchDirection:(AgoraChatMessageSearchDirection)aDirection
862 completion:(void (^)(NSArray<AgoraChatMessage *> *aMessages, AgoraChatError *aError))aCompletionBlock;
863
900- (NSArray<AgoraChatMessage *> *)loadMessagesWithKeyword:(NSString*)aKeywords
901 timestamp:(long long)aTimestamp
902 count:(int)aCount
903 fromUser:(NSString*)aSender
904 searchDirection:(AgoraChatMessageSearchDirection)aDirection;
905
936- (void)loadMessagesWithKeyword:(NSString*)aKeywords
937 timestamp:(long long)aTimestamp
938 count:(int)aCount
939 fromUser:(NSString*)aSender
940 searchDirection:(AgoraChatMessageSearchDirection)aDirection
941 completion:(void (^)(NSArray<AgoraChatMessage *> *aMessages, AgoraChatError *aError))aCompletionBlock;
942
943NS_ASSUME_NONNULL_BEGIN
959- (void)addReaction:(NSString *)reaction toMessage:(NSString *)messageId completion:(nullable void(^)(AgoraChatError * _Nullable))completion;
960
976- (void)removeReaction:(NSString *)reaction fromMessage:(NSString *)messageId completion:(nullable void(^)(AgoraChatError * _Nullable))completion;
977
995- (void)getReactionList:(NSArray <NSString *>*)messageIds
996 groupId:(nullable NSString *)groupId
997 chatType:(AgoraChatType)chatType
998 completion:(void (^)(NSDictionary <NSString *, NSArray<AgoraChatMessageReaction *> *> *, AgoraChatError * _Nullable))completion;
999
1019- (void)getReactionDetail:(NSString *)messageId
1020 reaction:(NSString *)reaction
1021 cursor:(nullable NSString *)cursor
1022 pageSize:(uint64_t)pageSize
1023 completion:(void (^)(AgoraChatMessageReaction *, NSString * _Nullable cursor, AgoraChatError * _Nullable))completion;
1024
1025NS_ASSUME_NONNULL_END
1026
1027@end
Definition: AgoraChatConversation.h:55
Definition: AgoraChatCursorResult.h:27
Definition: AgoraChatError.h:27
Definition: AgoraChatGroupMessageAck.h:21
Definition: AgoraChatMessage.h:67
Definition: AgoraChatMessageReaction.h:14
Definition: AgoraChatTranslateLanguage.h:20
Definition: AgoraChatManagerDelegate.h:31
Definition: IAgoraChatManager.h:59
NSArray< AgoraChatConversation * > *_Nullable getAllConversations()