8#import <Foundation/Foundation.h>
10#import "AgoraChatClientDelegate.h"
11#import "AgoraChatError.h"
12#import "AgoraChatMultiDevicesDelegate.h"
13#import "AgoraChatOptions.h"
14#import "AgoraChatPushOptions.h"
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#import "IAgoraChatStatisticsManager.h"
27#import "AgoraChatDeviceConfig.h"
28#import "AgoraChatLocalNotificationManager.h"
29#import "AgoraChatTranslationResult.h"
30#import "AgoraChatLogDelegate.h"
40typedef NS_ENUM(NSInteger, AgoraChatServerCheckType) {
41 AgoraChatServerCheckAccountValidation = 0,
42 AgoraChatServerCheckGetDNSListFromServer,
43 AgoraChatServerCheckGetTokenFromServer,
44 AgoraChatServerCheckDoLogin,
45 AgoraChatServerCheckDoLogout,
69@property(nonatomic, strong, readonly) NSString * _Nonnull version;
78@property(nonatomic, strong, readonly) NSString * _Nullable currentUsername;
96@property(nonatomic, strong, readonly) id<IAgoraChatManager> _Nullable chatManager;
105@property(nonatomic, strong, readonly) id<IAgoraChatContactManager> _Nullable contactManager;
114@property(nonatomic, strong, readonly) id<IAgoraChatGroupManager> _Nullable groupManager;
124@property (nonatomic, strong, readonly) id<IAgoraChatThreadManager> _Nullable threadManager;
133@property(nonatomic, strong, readonly) id<IAgoraChatroomManager> _Nullable roomManager;
142@property (nonatomic, strong, readonly) id<IAgoraChatPushManager> _Nullable pushManager;
152@property(nonatomic, readonly) BOOL isAutoLogin;
161@property(nonatomic, readonly) BOOL isLoggedIn;
170@property(nonatomic, readonly) BOOL isConnected;
179@property(nonatomic, readonly) NSString * _Nullable accessUserToken;
188@property(nonatomic, strong, readonly) id<IAgoraChatUserInfoManager> _Nullable userInfoManager;
197@property (nonatomic, strong, readonly) id<IAgoraChatPresenceManager> _Nullable presenceManager;
206@property (nonatomic, strong, readonly) id<IAgoraChatStatisticsManager> _Nullable statisticsManager;
215+ (instancetype _Nonnull )sharedClient;
225- (NSString *)version;
227#pragma mark - Delegate
242 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
255- (void)removeDelegate:(
id _Nonnull )aDelegate;
271 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addMultiDevices(delegate:queue:));
286#pragma mark - Initialize SDK
305#pragma mark - Change AppKey
324- (
AgoraChatError *_Nullable)changeAppkey:(NSString * _Nonnull)aAppkey;
326#pragma mark - User Registeration
353- (
AgoraChatError *_Nullable)registerWithUsername:(NSString * _Nonnull)aUsername
354 password:(NSString * _Nonnull)aPassword;
384- (void)registerWithUsername:(NSString *_Nonnull)aUsername
385 password:(NSString *_Nonnull)aPassword
386 completion:(
void (^_Nullable)(NSString * _Nonnull aUsername,
AgoraChatError * _Nullable aError))aCompletionBlock;
410- (void)fetchTokenWithUsername:(NSString *_Nonnull)aUsername
411 password:(NSString *_Nonnull)aPassword
412 completion:(
void (^_Nullable)(NSString * _Nullable aToken,
AgoraChatError * _Nullable aError))aCompletionBlock;
439- (
AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
440 password:(NSString *_Nonnull)aPassword;
466- (void)loginWithUsername:(NSString *_Nonnull)aUsername
467 password:(NSString *_Nonnull)aPassword
468 completion:(
void (^_Nullable)(NSString * _Nonnull aUsername,
AgoraChatError *_Nullable aError))aCompletionBlock;
491- (
AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
492 token:(NSString *_Nonnull)aToken;
514- (void)loginWithUsername:(NSString *_Nonnull)aUsername
515 token:(NSString *_Nonnull)aToken
516 completion:(
void (^_Nullable)(NSString * _Nonnull aUsername,
AgoraChatError *_Nullable aError))aCompletionBlock;
539- (
AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
540 agoraToken:(NSString *_Nonnull)aAgoraToken;
559- (void)loginWithUsername:(NSString *_Nonnull)aUsername
560 agoraToken:(NSString *_Nonnull)aAgoraToken
561 completion:(
void (^_Nullable)(NSString * _Nonnull aUsername,
AgoraChatError *_Nullable aError))aCompletionBlock;
588- (
AgoraChatError *_Nullable)renewToken:(NSString *_Nonnull)newAgoraToken;
631- (void)logout:(BOOL)aIsUnbindDeviceToken
632 completion:(
void (^_Nullable)(
AgoraChatError * _Nullable aError))aCompletionBlock;
634#pragma mark - PushKit
657- (
AgoraChatError *_Nullable)bindPushKitToken:(NSData *_Nullable)aPushToken;
678- (void)registerPushKitToken:(NSData *_Nullable)aPushToken
679 completion:(
void (^_Nullable)(
AgoraChatError * _Nullable aError))aCompletionBlock;
713- (void)unRegisterPushKitTokenWithCompletion:(
void (^_Nullable)(
AgoraChatError * _Nullable aError))aCompletionBlock;
738- (
AgoraChatError *_Nullable)bindDeviceToken:(NSData *_Nonnull)aDeviceToken;
757- (void)registerForRemoteNotificationsWithDeviceToken:(NSData *_Nonnull)aDeviceToken
758 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
792- (void)uploadDebugLogToServerWithCompletion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
814- (NSString *_Nullable)getLogFilesPath:(
AgoraChatError **_Nullable)pError;
831- (void)getLogFilesPathWithCompletion:(
void (^_Nullable)(NSString *_Nullable aPath,
AgoraChatError * _Nullable aError))aCompletionBlock;
848- (void)log:(NSString *_Nonnull)aLog;
864 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addLog(delegate:queue:));
877- (void)removeLogDelegate:(
id<
AgoraChatLogDelegate>_Nonnull)aDelegate NS_SWIFT_NAME(removeLog(delegate:));
879#pragma mark - Multi Devices
904- (NSArray<
AgoraChatDeviceConfig*> *_Nullable)getLoggedInDevicesFromServerWithUsername:(NSString * _Nonnull)aUsername
905 password:(NSString * _Nonnull)aPassword
928- (void)getLoggedInDevicesFromServerWithUsername:(NSString *_Nonnull)aUsername
929 password:(NSString *_Nonnull)aPassword
955- (
AgoraChatError *_Nullable)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
956 password:(NSString *_Nonnull)aPassword
957 resource:(NSString *_Nonnull)aResource;
982- (void)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
983 password:(NSString *_Nonnull)aPassword
984 resource:(NSString *_Nonnull)aResource
985 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
1008- (
AgoraChatError *_Nullable)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
1009 password:(NSString *_Nonnull)aPassword;
1030- (void)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
1031 password:(NSString *_Nonnull)aPassword
1032 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
1066- (BOOL)migrateDatabaseToLatestSDK;
1079- (void)applicationDidEnterBackground:(
id _Nonnull )aApplication;
1092- (void)applicationWillEnterForeground:(
id _Nonnull )aApplication;
1107- (void)application:(
id _Nonnull)application didReceiveRemoteNotification:(NSDictionary * _Nullable)userInfo;
1109#pragma mark - Service Check
1133- (void)serviceCheckWithUsername:(NSString *_Nonnull)aUsername
1134 password:(NSString *_Nonnull)aPassword
1135 completion:(
void (^_Nullable)(AgoraChatServerCheckType aType,
AgoraChatError *_Nullable aError))aCompletionBlock;
1137@property (nonatomic, strong, readonly) id<IAgoraChatTranslateManager> _Nonnull translateManager EM_DEPRECATED_IOS(3_8_9, 3_9_5,
"Use -IAgoraChatManager translateMessage: instead");
Definition: AgoraChatClient.h:58
Definition: AgoraChatDeviceConfig.h:25
Definition: AgoraChatError.h:27
Definition: AgoraChatOptions.h:52
Definition: AgoraChatPushOptions.h:58
Definition: AgoraChatClientDelegate.h:45
Definition: AgoraChatLogDelegate.h:18
Definition: AgoraChatMultiDevicesDelegate.h:73