AgoraChatSDK 1.14.0
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 "IAgoraChatPresenceManager.h"
24#import "IAgoraChatStatisticsManager.h"
25
26#import "AgoraChatDeviceConfig.h"
27#import "AgoraChatLocalNotificationManager.h"
28#import "AgoraChatLogDelegate.h"
29
38typedef NS_ENUM(NSInteger, AgoraChatServerCheckType) {
39 AgoraChatServerCheckAccountValidation = 0,
40 AgoraChatServerCheckGetDNSListFromServer,
41 AgoraChatServerCheckGetTokenFromServer,
42 AgoraChatServerCheckDoLogin,
43 AgoraChatServerCheckDoLogout,
44};
45
53@interface AgoraChatClient : NSObject
54{
55 AgoraChatPushOptions *_pushOptions;
56}
57
62@property(nonatomic, strong, readonly) NSString * _Nonnull version;
63
68@property(nonatomic, strong, readonly) NSString * _Nullable currentUsername;
69
74@property(nonatomic, strong, readonly) AgoraChatOptions * _Nonnull options;
75
80@property(nonatomic, strong, readonly) id<IAgoraChatManager> _Nullable chatManager;
81
86@property(nonatomic, strong, readonly) id<IAgoraChatContactManager> _Nullable contactManager;
87
92@property(nonatomic, strong, readonly) id<IAgoraChatGroupManager> _Nullable groupManager;
93
98@property (nonatomic, strong, readonly) id<IAgoraChatThreadManager> _Nullable threadManager;
99
104@property(nonatomic, strong, readonly) id<IAgoraChatroomManager> _Nullable roomManager;
105
110@property (nonatomic, strong, readonly) id<IAgoraChatPushManager> _Nullable pushManager;
111
122@property(nonatomic, readonly) BOOL isAutoLogin;
123
132@property(nonatomic, readonly) BOOL isLoggedIn;
133
141@property(nonatomic, readonly) BOOL isConnected;
142
149@property(nonatomic, readonly) NSString * _Nullable accessUserToken;
150
155@property(nonatomic, strong, readonly) id<IAgoraChatUserInfoManager> _Nullable userInfoManager;
156
161@property (nonatomic, strong, readonly) id<IAgoraChatPresenceManager> _Nullable presenceManager;
162
167@property (nonatomic, strong, readonly) id<IAgoraChatStatisticsManager> _Nullable statisticsManager;
168
169-(instancetype _Nonnull ) init __attribute__((unavailable("call sharedClient instead")));
170-(instancetype _Nonnull ) copy __attribute__((unavailable("call sharedClient instead")));
171-(instancetype _Nonnull ) mutableCopy __attribute__((unavailable("call sharedClient instead")));
176+ (instancetype _Nonnull )sharedClient;
177
178
183- (NSString *)version;
184
185#pragma mark - Delegate
186
193- (void)addDelegate:(id<AgoraChatClientDelegate>_Nonnull)aDelegate
194 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
195
202- (void)removeDelegate:(id _Nonnull )aDelegate;
203
211- (void)addMultiDevicesDelegate:(id<AgoraChatMultiDevicesDelegate>_Nonnull)aDelegate
212 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addMultiDevices(delegate:queue:));
213
220- (void)removeMultiDevicesDelegate:(id<AgoraChatMultiDevicesDelegate>_Nonnull)aDelegate;
221
222#pragma mark - Initialize SDK
223
232- (AgoraChatError *_Nullable)initializeSDKWithOptions:(AgoraChatOptions * _Nonnull )aOptions;
233
234#pragma mark - Change AppKey
235
246- (AgoraChatError *_Nullable)changeAppkey:(NSString * _Nonnull)aAppkey;
247
258- (AgoraChatError *_Nullable)changeAppId:(NSString * _Nonnull)aAppId;
259
260#pragma mark - User Registration
277- (AgoraChatError *_Nullable)registerWithUsername:(NSString * _Nonnull)aUsername
278 password:(NSString * _Nonnull)aPassword;
279
293- (void)registerWithUsername:(NSString *_Nonnull)aUsername
294 password:(NSString *_Nonnull)aPassword
295 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError * _Nullable aError))aCompletionBlock;
296
297#pragma mark - Login
298
310- (void)fetchTokenWithUsername:(NSString *_Nonnull)aUsername
311 password:(NSString *_Nonnull)aPassword
312 completion:(void (^_Nullable)(NSString * _Nullable aToken, AgoraChatError * _Nullable aError))aCompletionBlock;
313
327- (AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
328 password:(NSString *_Nonnull)aPassword EM_DEPRECATED_IOS(3_0_0, 4_5_0,"Use -AgoraChatClient loginWithUsername:token:completion instead");
329
343- (void)loginWithUsername:(NSString *_Nonnull)aUsername
344 password:(NSString *_Nonnull)aPassword
345 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError *_Nullable aError))aCompletionBlock EM_DEPRECATED_IOS(3_0_0, 4_5_0,"Use -AgoraChatClient loginWithUsername:token:completion instead");
346
360- (AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
361 token:(NSString *_Nonnull)aToken;
362
374- (void)loginWithUsername:(NSString *_Nonnull)aUsername
375 token:(NSString *_Nonnull)aToken
376 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError *_Nullable aError))aCompletionBlock;
377
378
390- (AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
391 agoraToken:(NSString *_Nonnull)aAgoraToken EM_DEPRECATED_IOS(3_8_9, 4_2_0,"Use -AgoraChatClient loginWithUsername:token instead");
392
405- (void)loginWithUsername:(NSString *_Nonnull)aUsername
406 agoraToken:(NSString *_Nonnull)aAgoraToken
407 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, AgoraChatError *_Nullable aError))aCompletionBlock EM_DEPRECATED_IOS(3_8_9, 4_2_0,"Use -AgoraChatClient loginWithUsername:token:completion instead");
408
421- (AgoraChatError *_Nullable)renewToken:(NSString *_Nonnull)newToken;
422
435- (void)renewToken:(NSString *_Nonnull)newToken completion:(void (^_Nullable)(AgoraChatError* _Nullable aError))aCompletionBlock;
436
437#pragma mark - Logout
438
452- (AgoraChatError *_Nullable)logout:(BOOL)aIsUnbindDeviceToken;
453
467- (void)logout:(BOOL)aIsUnbindDeviceToken
468 completion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
469
470#pragma mark - PushKit
471
484- (AgoraChatError *_Nullable)bindPushKitToken:(NSData *_Nullable)aPushToken;
485
497- (void)registerPushKitToken:(NSData *_Nullable)aPushToken
498 completion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
499
512- (AgoraChatError *_Nullable)unBindPushKitToken;
513
526- (void)unRegisterPushKitTokenWithCompletion:(void (^_Nullable)(AgoraChatError * _Nullable aError))aCompletionBlock;
527
528#pragma mark - APNs
529
542- (AgoraChatError *_Nullable)bindDeviceToken:(NSData *_Nonnull)aDeviceToken;
543
555- (void)registerForRemoteNotificationsWithDeviceToken:(NSData *_Nonnull)aDeviceToken
556 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
557
571- (void)getRTCTokenWithChannel:(NSString* _Nullable)aChannelName
572 completion:(void (^_Nonnull)(NSUInteger rtcUId,NSString * _Nullable aToken,NSInteger expiredTs, AgoraChatError *_Nullable aError))aCompletionBlock;
573
583- (void)getUserIdByRTCUIds:(NSArray<NSNumber*>* _Nonnull)uIds completion:(void (^_Nullable)(NSDictionary<NSNumber*,NSString*> * _Nullable accountInfos, AgoraChatError *_Nullable aError))aCompletionBlock;
584
597- (void)registerForRemoteNotificationsWithCertName:(NSString *_Nonnull)aCertName
598 deviceToken:(NSData *_Nonnull)aDeviceToken
599 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
600
612- (void)bindFCMToken:(NSString* _Nonnull)aFCMToken
613 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
614
615#pragma mark - Log
616
627- (AgoraChatError *_Nullable)uploadLogToServer;
628
635- (void)uploadDebugLogToServerWithCompletion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
636
649- (NSString *_Nullable)getLogFilesPath:(AgoraChatError **_Nullable)pError;
650
661- (void)getLogFilesPathWithCompletion:(void (^_Nullable)(NSString *_Nullable aPath, AgoraChatError * _Nullable aError))aCompletionBlock;
662
673- (void)log:(NSString *_Nonnull)aLog;
674
682- (void)addLogDelegate:(id<AgoraChatLogDelegate>_Nonnull)aDelegate
683 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addLog(delegate:queue:));
684
691- (void)removeLogDelegate:(id<AgoraChatLogDelegate>_Nonnull)aDelegate NS_SWIFT_NAME(removeLog(delegate:));
692
693#pragma mark - Multi Devices
694
707- (NSArray<AgoraChatDeviceConfig*> *_Nullable)getLoggedInDevicesFromServerWithUsername:(NSString * _Nonnull)aUsername
708 password:(NSString * _Nonnull)aPassword
709 error:(AgoraChatError ** _Nullable)pError;
710
722- (void)getLoggedInDevicesFromServerWithUsername:(NSString *_Nonnull)aUsername
723 password:(NSString *_Nonnull)aPassword
724 completion:(void (^_Nullable)(NSArray<AgoraChatDeviceConfig*> * _Nullable aList, AgoraChatError *_Nullable aError))aCompletionBlock;
725
737- (void)getLoggedInDevicesFromServerWithUserId:(NSString *_Nonnull)aUserID
738 token:(NSString *_Nonnull)aToken
739 completion:(void (^_Nullable)(NSArray<AgoraChatDeviceConfig*> * _Nullable aList, AgoraChatError *_Nullable aError))aCompletionBlock;
740
755- (AgoraChatError *_Nullable)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
756 password:(NSString *_Nonnull)aPassword
757 resource:(NSString *_Nonnull)aResource;
758
759
773- (void)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
774 password:(NSString *_Nonnull)aPassword
775 resource:(NSString *_Nonnull)aResource
776 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
777
791- (void)kickDeviceWithUserId:(NSString *_Nonnull)aUserID
792 token:(NSString *_Nonnull)aToken
793 resource:(NSString *_Nonnull)aResource
794 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
795
806- (void)kickAllDevicesWithUserId:(NSString *_Nonnull)aUserID
807 token:(NSString *_Nonnull)aToken
808 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
809
821- (AgoraChatError *_Nullable)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
822 password:(NSString *_Nonnull)aPassword;
823
834- (void)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
835 password:(NSString *_Nonnull)aPassword
836 completion:(void (^_Nullable)(AgoraChatError *_Nullable aError))aCompletionBlock;
837
844- (AgoraChatDeviceConfig *)getDeviceConfig:(AgoraChatError **)pError;
845
846#pragma mark - iOS
847
848
857- (void)applicationDidEnterBackground:(id _Nonnull )aApplication;
858
867- (void)applicationWillEnterForeground:(id _Nonnull )aApplication;
868
878- (void)application:(id _Nonnull)application didReceiveRemoteNotification:(NSDictionary * _Nullable)userInfo;
879
880#pragma mark - Service Check
881
896- (void)serviceCheckWithUsername:(NSString *_Nonnull)aUsername
897 password:(NSString *_Nonnull)aPassword
898 completion:(void (^_Nullable)(AgoraChatServerCheckType aType, AgoraChatError *_Nullable aError))aCompletionBlock __deprecated_msg("This method is deprecated");
899@end
Definition: AgoraChatClient.h:54
Definition: AgoraChatDeviceConfig.h:16
Definition: AgoraChatError.h:18
Definition: AgoraChatOptions.h:55
Definition: AgoraChatPushOptions.h:40
Definition: AgoraChatClientDelegate.h:33
Definition: AgoraChatLogDelegate.h:15
Definition: AgoraChatMultiDevicesDelegate.h:67