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 "IAgoraChatPresenceManager.h"
24#import "IAgoraChatStatisticsManager.h"
26#import "AgoraChatDeviceConfig.h"
27#import "AgoraChatLocalNotificationManager.h"
28#import "AgoraChatLogDelegate.h"
38typedef NS_ENUM(NSInteger, AgoraChatServerCheckType) {
39 AgoraChatServerCheckAccountValidation = 0,
40 AgoraChatServerCheckGetDNSListFromServer,
41 AgoraChatServerCheckGetTokenFromServer,
42 AgoraChatServerCheckDoLogin,
43 AgoraChatServerCheckDoLogout,
62@property(nonatomic, strong, readonly) NSString * _Nonnull version;
68@property(nonatomic, strong, readonly) NSString * _Nullable currentUsername;
80@property(nonatomic, strong, readonly) id<IAgoraChatManager> _Nullable chatManager;
86@property(nonatomic, strong, readonly) id<IAgoraChatContactManager> _Nullable contactManager;
92@property(nonatomic, strong, readonly) id<IAgoraChatGroupManager> _Nullable groupManager;
98@property (nonatomic, strong, readonly) id<IAgoraChatThreadManager> _Nullable threadManager;
104@property(nonatomic, strong, readonly) id<IAgoraChatroomManager> _Nullable roomManager;
110@property (nonatomic, strong, readonly) id<IAgoraChatPushManager> _Nullable pushManager;
122@property(nonatomic, readonly) BOOL isAutoLogin;
132@property(nonatomic, readonly) BOOL isLoggedIn;
141@property(nonatomic, readonly) BOOL isConnected;
149@property(nonatomic, readonly) NSString * _Nullable accessUserToken;
155@property(nonatomic, strong, readonly) id<IAgoraChatUserInfoManager> _Nullable userInfoManager;
161@property (nonatomic, strong, readonly) id<IAgoraChatPresenceManager> _Nullable presenceManager;
167@property (nonatomic, strong, readonly) id<IAgoraChatStatisticsManager> _Nullable statisticsManager;
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;
183- (NSString *)version;
185#pragma mark - Delegate
194 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
202- (void)removeDelegate:(
id _Nonnull )aDelegate;
212 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addMultiDevices(delegate:queue:));
222#pragma mark - Initialize SDK
234#pragma mark - Change AppKey
246- (
AgoraChatError *_Nullable)changeAppkey:(NSString * _Nonnull)aAppkey;
258- (
AgoraChatError *_Nullable)changeAppId:(NSString * _Nonnull)aAppId;
260#pragma mark - User Registration
277- (
AgoraChatError *_Nullable)registerWithUsername:(NSString * _Nonnull)aUsername
278 password:(NSString * _Nonnull)aPassword;
293- (void)registerWithUsername:(NSString *_Nonnull)aUsername
294 password:(NSString *_Nonnull)aPassword
295 completion:(
void (^_Nullable)(NSString * _Nonnull aUsername,
AgoraChatError * _Nullable aError))aCompletionBlock;
310- (void)fetchTokenWithUsername:(NSString *_Nonnull)aUsername
311 password:(NSString *_Nonnull)aPassword
312 completion:(
void (^_Nullable)(NSString * _Nullable aToken,
AgoraChatError * _Nullable aError))aCompletionBlock;
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");
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");
360- (
AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
361 token:(NSString *_Nonnull)aToken;
374- (void)loginWithUsername:(NSString *_Nonnull)aUsername
375 token:(NSString *_Nonnull)aToken
376 completion:(
void (^_Nullable)(NSString * _Nonnull aUsername,
AgoraChatError *_Nullable aError))aCompletionBlock;
389- (
AgoraChatError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
390 agoraToken:(NSString *_Nonnull)aAgoraToken EM_DEPRECATED_IOS(3_8_9, 4_2_0,"Use -
AgoraChatClient loginWithUsername:token instead");
404- (void)loginWithUsername:(NSString *_Nonnull)aUsername
405 agoraToken:(NSString *_Nonnull)aAgoraToken
406 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");
420- (
AgoraChatError *_Nullable)renewToken:(NSString *_Nonnull)newToken;
434- (void)renewToken:(NSString *_Nonnull)newToken completion:(
void (^_Nullable)(
AgoraChatError* _Nullable aError))aCompletionBlock;
466- (void)logout:(BOOL)aIsUnbindDeviceToken
467 completion:(
void (^_Nullable)(
AgoraChatError * _Nullable aError))aCompletionBlock;
469#pragma mark - PushKit
483- (
AgoraChatError *_Nullable)bindPushKitToken:(NSData *_Nullable)aPushToken;
496- (void)registerPushKitToken:(NSData *_Nullable)aPushToken
497 completion:(
void (^_Nullable)(
AgoraChatError * _Nullable aError))aCompletionBlock;
525- (void)unRegisterPushKitTokenWithCompletion:(
void (^_Nullable)(
AgoraChatError * _Nullable aError))aCompletionBlock;
541- (
AgoraChatError *_Nullable)bindDeviceToken:(NSData *_Nonnull)aDeviceToken;
554- (void)registerForRemoteNotificationsWithDeviceToken:(NSData *_Nonnull)aDeviceToken
555 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
569- (void)registerForRemoteNotificationsWithCertName:(NSString *_Nonnull)aCertName
570 deviceToken:(NSData *_Nonnull)aDeviceToken
571 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
584- (void)bindFCMToken:(NSString* _Nonnull)aFCMToken
585 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
607- (void)uploadDebugLogToServerWithCompletion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
621- (NSString *_Nullable)getLogFilesPath:(
AgoraChatError **_Nullable)pError;
633- (void)getLogFilesPathWithCompletion:(
void (^_Nullable)(NSString *_Nullable aPath,
AgoraChatError * _Nullable aError))aCompletionBlock;
645- (void)log:(NSString *_Nonnull)aLog;
655 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addLog(delegate:queue:));
663- (void)removeLogDelegate:(
id<
AgoraChatLogDelegate>_Nonnull)aDelegate NS_SWIFT_NAME(removeLog(delegate:));
665#pragma mark - Multi Devices
679- (NSArray<
AgoraChatDeviceConfig*> *_Nullable)getLoggedInDevicesFromServerWithUsername:(NSString * _Nonnull)aUsername
680 password:(NSString * _Nonnull)aPassword
694- (void)getLoggedInDevicesFromServerWithUsername:(NSString *_Nonnull)aUsername
695 password:(NSString *_Nonnull)aPassword
709- (void)getLoggedInDevicesFromServerWithUserId:(NSString *_Nonnull)aUserID
710 token:(NSString *_Nonnull)aToken
727- (
AgoraChatError *_Nullable)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
728 password:(NSString *_Nonnull)aPassword
729 resource:(NSString *_Nonnull)aResource;
745- (void)kickDeviceWithUsername:(NSString *_Nonnull)aUsername
746 password:(NSString *_Nonnull)aPassword
747 resource:(NSString *_Nonnull)aResource
748 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
763- (void)kickDeviceWithUserId:(NSString *_Nonnull)aUserID
764 token:(NSString *_Nonnull)aToken
765 resource:(NSString *_Nonnull)aResource
766 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
778- (void)kickAllDevicesWithUserId:(NSString *_Nonnull)aUserID
779 token:(NSString *_Nonnull)aToken
780 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
793- (
AgoraChatError *_Nullable)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
794 password:(NSString *_Nonnull)aPassword;
806- (void)kickAllDevicesWithUsername:(NSString *_Nonnull)aUsername
807 password:(NSString *_Nonnull)aPassword
808 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
829- (void)applicationDidEnterBackground:(
id _Nonnull )aApplication;
839- (void)applicationWillEnterForeground:(
id _Nonnull )aApplication;
850- (void)application:(
id _Nonnull)application didReceiveRemoteNotification:(NSDictionary * _Nullable)userInfo;
852#pragma mark - Service Check
868- (void)serviceCheckWithUsername:(NSString *_Nonnull)aUsername
869 password:(NSString *_Nonnull)aPassword
870 completion:(
void (^_Nullable)(AgoraChatServerCheckType aType,
AgoraChatError *_Nullable aError))aCompletionBlock __deprecated_msg("This method is deprecated");
Definition: AgoraChatClient.h:54
Definition: AgoraChatDeviceConfig.h:16
Definition: AgoraChatError.h:18
Definition: AgoraChatOptions.h:40
Definition: AgoraChatPushOptions.h:40
Definition: AgoraChatClientDelegate.h:33
Definition: AgoraChatLogDelegate.h:15
Definition: AgoraChatMultiDevicesDelegate.h:69