AgoraChatSDK 1.0.7
AgoraChatClient.h
1
8#import <Foundation/Foundation.h>
9
10#import "AgoraChatClientDelegate.h"
11#import "AgoraChatError.h"
12#import "AgoraChatMultiDevicesDelegate.h"
13#import "AgoraChatOptions.h"
14#import "AgoraChatPushOptions.h"
15
16#import "IAgoraChatManager.h"
17#import "IAgoraChatroomManager.h"
18#import "IAgoraChatContactManager.h"
19#import "IAgoraChatGroupManager.h"
20#import "IAgoraChatThreadManager.h"
21#import "IAgoraChatPushManager.h"
22#import "IAgoraChatUserInfoManager.h"
23#import "IAgoraChatTranslateManager.h"
24#import "IAgoraChatPresenceManager.h"
25
26#import "AgoraChatDeviceConfig.h"
27#import "AgoraChatLocalNotificationManager.h"
28#import "AgoraChatTranslationResult.h"
29#import "AgoraChatLogDelegate.h"
30
39typedef NS_ENUM(NSInteger, AgoraChatServerCheckType) {
40 AgoraChatServerCheckAccountValidation = 0,
41 AgoraChatServerCheckGetDNSListFromServer,
42 AgoraChatServerCheckGetTokenFromServer,
43 AgoraChatServerCheckDoLogin,
44 AgoraChatServerCheckDoLogout,
45};
46
56@interface AgoraChatClient : NSObject
57{
58 AgoraChatPushOptions *_pushOptions;
59}
60
68@property(nonatomic, strong, readonly) NSString * _Nonnull version;
69
77@property(nonatomic, strong, readonly) NSString * _Nullable currentUsername;
78
86@property(nonatomic, strong, readonly) AgoraChatOptions * _Nonnull options;
87
95@property(nonatomic, strong, readonly) id<IAgoraChatManager> _Nullable chatManager;
96
104@property(nonatomic, strong, readonly) id<IAgoraChatContactManager> _Nullable contactManager;
105
113@property(nonatomic, strong, readonly) id<IAgoraChatGroupManager> _Nullable groupManager;
114
123@property (nonatomic, strong, readonly) id<IAgoraChatThreadManager> _Nullable threadManager;
124
132@property(nonatomic, strong, readonly) id<IAgoraChatroomManager> _Nullable roomManager;
133
141@property (nonatomic, strong, readonly) id<IAgoraChatPushManager> _Nullable pushManager;
142
151@property(nonatomic, readonly) BOOL isAutoLogin;
152
160@property(nonatomic, readonly) BOOL isLoggedIn;
161
169@property(nonatomic, readonly) BOOL isConnected;
170
178@property(nonatomic, readonly) NSString * _Nullable accessUserToken;
179
187@property(nonatomic, strong, readonly) id<IAgoraChatUserInfoManager> _Nullable userInfoManager;
188
196@property (nonatomic, strong, readonly) id<IAgoraChatPresenceManager> _Nullable presenceManager;
197
205+ (instancetype _Nonnull )sharedClient;
206
207
215- (NSString *)version;
216
217#pragma mark - Delegate
218
231- (void)addDelegate:(id<AgoraChatClientDelegate>_Nonnull)aDelegate
232 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
233
245- (void)removeDelegate:(id _Nonnull )aDelegate;
246
260- (void)addMultiDevicesDelegate:(id<AgoraChatMultiDevicesDelegate>_Nonnull)aDelegate
261 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addMultiDevices(delegate:queue:));
262
274- (void)removeMultiDevicesDelegate:(id<AgoraChatMultiDevicesDelegate>_Nonnull)aDelegate;
275
276#pragma mark - Initialize SDK
277
293- (AgoraChatError *_Nullable)initializeSDKWithOptions:(AgoraChatOptions * _Nonnull )aOptions;
294
295#pragma mark - Change AppKey
296
314- (AgoraChatError *_Nullable)changeAppkey:(NSString * _Nonnull)aAppkey;
315
316#pragma mark - User Registeration
317
341- (AgoraChatError *_Nullable)registerWithUsername:(NSString * _Nonnull)aUsername
342 password:(NSString * _Nonnull)aPassword;
343
370- (void)registerWithUsername:(NSString *_Nonnull)aUsername
371 password:(NSString *_Nonnull)aPassword
372 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError * _Nullable aError))aCompletionBlock;
373
374#pragma mark - Login
375
396- (void)fetchTokenWithUsername:(NSString *_Nonnull)aUsername
397 password:(NSString *_Nonnull)aPassword
398 completion:(void (^_Nullable)(NSString * _Nullable aToken, AgoraChatError * _Nullable aError))aCompletionBlock;
399
421- (AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
422 password:(NSString *_Nonnull)aPassword;
423
444- (void)loginWithUsername:(NSString *_Nonnull)aUsername
445 password:(NSString *_Nonnull)aPassword
446 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError *_Nullable aError))aCompletionBlock;
447
469- (AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
470 token:(NSString *_Nonnull)aToken;
471
492- (void)loginWithUsername:(NSString *_Nonnull)aUsername
493 token:(NSString *_Nonnull)aToken
494 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError *_Nullable aError))aCompletionBlock;
495
517- (AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
518 agoraToken:(NSString *_Nonnull)aAgoraToken;
519
537- (void)loginWithUsername:(NSString *_Nonnull)aUsername
538 agoraToken:(NSString *_Nonnull)aAgoraToken
539 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError *_Nullable aError))aCompletionBlock;
540
566- (AgoraChatError *_Nullable)renewToken:(NSString *_Nonnull)newAgoraToken;
567
568#pragma mark - Logout
569
589- (AgoraChatError *_Nullable)logout:(BOOL)aIsUnbindDeviceToken;
590
609- (void)logout:(BOOL)aIsUnbindDeviceToken
610 completion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
611
612#pragma mark - PushKit
613
635- (AgoraChatError *_Nullable)bindPushKitToken:(NSData *_Nullable)aPushToken;
636
656- (void)registerPushKitToken:(NSData *_Nullable)aPushToken
657 completion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
658
676- (AgoraChatError *_Nullable)unBindPushKitToken;
677
691- (void)unRegisterPushKitTokenWithCompletion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
692
693#pragma mark - APNs
694
716- (AgoraChatError *_Nullable)bindDeviceToken:(NSData *_Nonnull)aDeviceToken;
717
735- (void)registerForRemoteNotificationsWithDeviceToken:(NSData *_Nonnull)aDeviceToken
736 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
737
738#pragma mark - Log
739
757- (AgoraChatError *_Nullable)uploadLogToServer;
758
770- (void)uploadDebugLogToServerWithCompletion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
771
792- (NSString *_Nullable)getLogFilesPath:(AgoraChatError **_Nullable)pError;
793
809- (void)getLogFilesPathWithCompletion:(void (^_Nullable)(NSString *_Nullable aPath, AgoraChatError * _Nullable aError))aCompletionBlock;
810
826- (void)log:(NSString *_Nonnull)aLog;
827
841- (void)addLogDelegate:(id<AgoraChatLogDelegate>_Nonnull)aDelegate
842 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addLog(delegate:queue:));
843
855- (void)removeLogDelegate:(id<AgoraChatLogDelegate>_Nonnull)aDelegate NS_SWIFT_NAME(removeLog(delegate:));
856
857#pragma mark - Multi Devices
858
882- (NSArray<AgoraChatDeviceConfig*> *_Nullable)getLoggedInDevicesFromServerWithUsername:(NSString * _Nonnull)aUsername
883 password:(NSString * _Nonnull)aPassword
884 error:(AgoraChatError ** _Nullable)pError;
885
906- (void)getLoggedInDevicesFromServerWithUsername:(NSString *_Nonnull)aUsername
907 password:(NSString *_Nonnull)aPassword
908 completion:(void (^_Nullable)(NSArray<AgoraChatDeviceConfig*> * _Nullable aList, AgoraChatError *_Nullable aError))aCompletionBlock;
909
933- (AgoraChatError *_Nullable)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
934 password:(NSString *_Nonnull)aPassword
935 resource:(NSString *_Nonnull)aResource;
936
960- (void)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
961 password:(NSString *_Nonnull)aPassword
962 resource:(NSString *_Nonnull)aResource
963 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
964
986- (AgoraChatError *_Nullable)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
987 password:(NSString *_Nonnull)aPassword;
988
1008- (void)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
1009 password:(NSString *_Nonnull)aPassword
1010 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
1011
1012#pragma mark - iOS
1013
1031- (BOOL)migrateDatabaseToLatestSDK;
1032
1044- (void)applicationDidEnterBackground:(id _Nonnull )aApplication;
1045
1057- (void)applicationWillEnterForeground:(id _Nonnull )aApplication;
1058
1072- (void)application:(id _Nonnull)application didReceiveRemoteNotification:(NSDictionary * _Nullable)userInfo;
1073
1074#pragma mark - Service Check
1075
1098- (void)serviceCheckWithUsername:(NSString *_Nonnull)aUsername
1099 password:(NSString *_Nonnull)aPassword
1100 completion:(void (^_Nullable)(AgoraChatServerCheckType aType, AgoraChatError *_Nullable aError))aCompletionBlock;
1101
1102@property (nonatomic, strong, readonly) id<IAgoraChatTranslateManager> _Nonnull translateManager EM_DEPRECATED_IOS(3_8_9, 3_9_5,"Use -IAgoraChatManager translateMessage: instead");
1103@end
Definition: AgoraChatClient.h:57
Definition: AgoraChatDeviceConfig.h:25
Definition: AgoraChatError.h:27
Definition: AgoraChatOptions.h:41
Definition: AgoraChatPushOptions.h:58
Definition: AgoraChatClientDelegate.h:45
Definition: AgoraChatLogDelegate.h:18
Definition: AgoraChatMultiDevicesDelegate.h:73