HyphenateSDK  3.6.1
构造函数 | 类方法 | Protected 属性 | 属性 | 所有成员列表
EMClient类 参考

#import <EMClient.h>

类 EMClient 继承关系图:

构造函数

(void) - addDelegate:delegateQueue:
 
(void) - removeDelegate:
 
(void) - addMultiDevicesDelegate:delegateQueue:
 
(void) - removeMultiDevicesDelegate:
 
(EMError *) - initializeSDKWithOptions:
 
(EMError *) - changeAppkey:
 
(EMError *) - registerWithUsername:password:
 
(void) - registerWithUsername:password:completion:
 
(void) - fetchTokenWithUsername:password:completion:
 
(EMError *) - loginWithUsername:password:
 
(void) - loginWithUsername:password:completion:
 
(EMError *) - loginWithUsername:token:
 
(void) - loginWithUsername:token:completion:
 
(EMError *) - logout:
 
(void) - logout:completion:
 
(EMError *) - bindDeviceToken:
 
(void) - registerForRemoteNotificationsWithDeviceToken:completion:
 
(EMError *) - setApnsNickname:
 
(void) - updatePushNotifiationDisplayName:completion:
 
(EMPushOptions *) - getPushOptionsFromServerWithError:
 
(void) - getPushNotificationOptionsFromServerWithCompletion:
 
(EMError *) - updatePushOptionsToServer
 
(void) - updatePushNotificationOptionsToServerWithCompletion:
 
(EMError *) - uploadLogToServer
 
(void) - uploadDebugLogToServerWithCompletion:
 
(NSString *) - getLogFilesPath:
 
(void) - getLogFilesPathWithCompletion:
 
(NSArray *) - getLoggedInDevicesFromServerWithUsername:password:error:
 
(void) - getLoggedInDevicesFromServerWithUsername:password:completion:
 
(EMError *) - kickDevice:username:password:
 
(void) - kickDevice:username:password:completion:
 
(EMError *) - kickAllDevicesWithUsername:password:
 
(void) - kickAllDevicesWithUsername:password:completion:
 
(BOOL) - migrateDatabaseToLatestSDK
 
(void) - applicationDidEnterBackground:
 
(void) - applicationWillEnterForeground:
 
(void) - application:didReceiveRemoteNotification:
 
(void) - serviceCheckWithUsername:password:completion:
 
(void) - addDelegate:
 
(void) - asyncRegisterWithUsername:password:success:failure:
 
(void) - asyncLoginWithUsername:password:success:failure:
 
(void) - asyncLogout:success:failure:
 
(void) - asyncBindDeviceToken:success:failure:
 
(void) - asyncSetApnsNickname:success:failure:
 
(void) - asyncGetPushOptionsFromServer:failure:
 
(void) - asyncUpdatePushOptionsToServer:failure:
 
(void) - asyncUploadLogToServer:failure:
 
("Use -migrateDatabaseToLatestSDK") - __deprecated_msg
 

类方法

(instancetype) + sharedClient
 

Protected 属性

EMPushOptions_pushOptions
 

属性

NSString * version
 
NSString * currentUsername
 
EMOptionsoptions
 
EMPushOptionspushOptions
 
id< IEMChatManagerchatManager
 
id< IEMContactManagercontactManager
 
id< IEMGroupManagergroupManager
 
id< IEMChatroomManagerroomManager
 
BOOL isAutoLogin
 
BOOL isLoggedIn
 
BOOL isConnected
 
id< IEMCallManagercallManager
 
id< IEMConferenceManagerconferenceManager
 

详细描述

SDK Client

函数文档

- ("Use -migrateDatabaseToLatestSDK") __deprecated_msg

iOS专用,数据迁移到SDK3.0

同步方法,会阻塞当前线程

升级到SDK3.0版本需要调用该方法,开发者需要等该方法执行完后再进行数据库相关操作

返回
是否迁移成功
- (void) addDelegate: (3_1_0) 
(3_2_2) 
("Use -")  EM_DEPRECATED_IOS[IEMCallManager addDelegate:delegateQueue:] 

添加回调代理

参数
aDelegate要添加的代理
- (void) addDelegate: (id< EMClientDelegate >)  aDelegate
delegateQueue: (dispatch_queue_t)  aQueue 

添加回调代理

参数
aDelegate要添加的代理
aQueue执行代理方法的队列
- (void) addMultiDevicesDelegate: (id< EMMultiDevicesDelegate >)  aDelegate
delegateQueue: (dispatch_queue_t)  aQueue 

注册多设备回调代理

参数
aDelegate要添加的代理
aQueue执行代理方法的队列
- (void) application: (id)  application
didReceiveRemoteNotification: (NSDictionary *)  userInfo 

iOS专用,程序在前台收到APNs时,需要调用此方法

参数
applicationUIApplication
userInfo推送内容
- (void) applicationDidEnterBackground: (id)  aApplication

iOS专用,程序进入后台时,需要调用此方法断开连接

参数
aApplicationUIApplication
- (void) applicationWillEnterForeground: (id)  aApplication

iOS专用,程序进入前台时,需要调用此方法进行重连

参数
aApplicationUIApplication
- (void) asyncBindDeviceToken: (NSData *)  aDeviceToken
success: (void(^)())  aSuccessBlock
failure: ("Use -registerForRemoteNotificationsWithDeviceToken:completion:")  __deprecated_msg 

绑定device token

参数
aDeviceToken要绑定的token
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncGetPushOptionsFromServer: (void(^)(EMPushOptions *aOptions))  aSuccessBlock
failure: ("Use -getPushOptionsFromServerWithCompletion:")  __deprecated_msg 

从服务器获取推送属性

参数
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncLoginWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
success: (void(^)())  aSuccessBlock
failure: ("Use -loginWithUsername:password:completion")  __deprecated_msg 

登录

参数
aUsername用户名
aPassword密码
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncLogout: (BOOL)  aIsUnbindDeviceToken
success: (void(^)())  aSuccessBlock
failure: ("Use -logout:completion:")  __deprecated_msg 

退出

参数
aIsUnbindDeviceToken是否解除device token的绑定,解除绑定后设备不会再收到消息推送 如果传入YES, 解除绑定失败,将返回error
返回
错误信息
- (void) asyncRegisterWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
success: (void(^)())  aSuccessBlock
failure: ("Use -registerWithUsername:password:completion:")  __deprecated_msg 

注册用户

不推荐使用,建议后台通过REST注册

参数
aUsername用户名
aPassword密码
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncSetApnsNickname: (NSString *)  aNickname
success: (void(^)())  aSuccessBlock
failure: ("Use -updatePushNotifiationDisplayName:copletion")  __deprecated_msg 

设置推送消息显示的昵称

参数
aNickname要设置的昵称
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncUpdatePushOptionsToServer: (void(^)())  aSuccessBlock
failure: ("Use -updatePushNotificationOptionsToServerWithCompletion:")  __deprecated_msg 

更新推送设置到服务器

参数
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncUploadLogToServer: (void(^)())  aSuccessBlock
failure: ("Use -uploadDebugLogToServerWithCompletion:")  __deprecated_msg 

上传日志到服务器

参数
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (EMError *) bindDeviceToken: (NSData *)  aDeviceToken

绑定device token

同步方法,会阻塞当前线程

参数
aDeviceToken要绑定的token
返回
错误信息
- (EMError *) changeAppkey: (NSString *)  aAppkey

修改appkey,注意只有在未登录状态才能修改appkey

参数
aAppkeyappkey
返回
错误信息
- (void) fetchTokenWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(NSString *aToken, EMError *aError))  aCompletionBlock 

从服务器获取token

参数
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (NSString *) getLogFilesPath: (EMError **)  pError

将日志文件压缩成.gz文件,返回gz文件路径。强烈建议方法完成之后删除该压缩文件

同步方法,会阻塞当前线程

参数
pError错误信息
返回
文件路径
- (void) getLogFilesPathWithCompletion: (void(^)(NSString *aPath, EMError *aError))  aCompletionBlock

将日志文件压缩成.gz文件,返回gz文件路径。强烈建议方法完成之后删除该压缩文件

参数
aCompletionBlock完成的回调
- (void) getLoggedInDevicesFromServerWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(NSArray *aList, EMError *aError))  aCompletionBlock 

从服务器获取所有已经登录的设备信息

参数
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (NSArray *) getLoggedInDevicesFromServerWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
error: (EMError **)  pError 

从服务器获取所有已经登录的设备信息

同步方法,会阻塞当前线程

参数
aUsername用户名
aPassword密码
pError错误信息
返回
所有已经登录的设备信息<EMDeviceConfig>
- (void) getPushNotificationOptionsFromServerWithCompletion: (void(^)(EMPushOptions *aOptions, EMError *aError))  aCompletionBlock

从服务器获取推送属性

参数
aCompletionBlock完成的回调
- (EMPushOptions *) getPushOptionsFromServerWithError: (EMError **)  pError

从服务器获取推送属性

同步方法,会阻塞当前线程

参数
pError错误信息
返回
推送属性
- (EMError *) initializeSDKWithOptions: (EMOptions *)  aOptions

初始化sdk

参数
aOptionsSDK配置项
返回
错误信息
- (EMError *) kickAllDevicesWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword 

强制所有的登录设备退出

同步方法,会阻塞当前线程

参数
aUsername用户名
aPassword密码
返回
错误信息
- (void) kickAllDevicesWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(EMError *aError))  aCompletionBlock 

强制所有的登录设备退出

参数
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (EMError *) kickDevice: (EMDeviceConfig *)  aDevice
username: (NSString *)  aUsername
password: (NSString *)  aPassword 

强制指定的设备退出

同步方法,会阻塞当前线程

参数
aDevice设备信息
aUsername用户名
aPassword密码
返回
错误信息
- (void) kickDevice: (EMDeviceConfig *)  aDevice
username: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(EMError *aError))  aCompletionBlock 

强制指定的设备退出

参数
aDevice设备信息
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (EMError *) loginWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword 

密码登录

同步方法,会阻塞当前线程

参数
aUsername用户名
aPassword密码
返回
错误信息
- (void) loginWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(NSString *aUsername, EMError *aError))  aCompletionBlock 

密码登录

参数
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (EMError *) loginWithUsername: (NSString *)  aUsername
token: (NSString *)  aToken 

token登录,不支持自动登录

同步方法,会阻塞当前线程

参数
aUsername用户名
aTokenToken
返回
错误信息
- (void) loginWithUsername: (NSString *)  aUsername
token: (NSString *)  aToken
completion: (void(^)(NSString *aUsername, EMError *aError))  aCompletionBlock 

token登录,不支持自动登录

参数
aUsername用户名
aTokenToken
aCompletionBlock完成的回调
- (EMError *) logout: (BOOL)  aIsUnbindDeviceToken

退出

同步方法,会阻塞当前线程

参数
aIsUnbindDeviceToken是否解除device token的绑定,解除绑定后设备不会再收到消息推送 如果传入YES, 解除绑定失败,将返回error
返回
错误信息
- (void) logout: (BOOL)  aIsUnbindDeviceToken
completion: (void(^)(EMError *aError))  aCompletionBlock 

退出

参数
aIsUnbindDeviceToken是否解除device token的绑定,解除绑定后设备不会再收到消息推送 如果传入YES, 解除绑定失败,将返回error
aCompletionBlock完成的回调
- (BOOL) migrateDatabaseToLatestSDK

iOS专用,数据迁移到SDK3.0

同步方法,会阻塞当前线程

升级到SDK3.0版本需要调用该方法,开发者需要等该方法执行完后再进行数据库相关操作

返回
是否迁移成功
- (void) registerForRemoteNotificationsWithDeviceToken: (NSData *)  aDeviceToken
completion: (void(^)(EMError *aError))  aCompletionBlock 

绑定device token

参数
aDeviceToken要绑定的token
aCompletionBlock完成的回调
- (EMError *) registerWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword 

注册用户

同步方法,会阻塞当前线程. 不推荐使用,建议后台通过REST注册

参数
aUsername用户名
aPassword密码
返回
错误信息
- (void) registerWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(NSString *aUsername, EMError *aError))  aCompletionBlock 

注册用户

不推荐使用,建议后台通过REST注册

参数
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (void) removeDelegate: (id)  aDelegate

移除回调代理

参数
aDelegate要移除的代理
- (void) removeMultiDevicesDelegate: (id< EMMultiDevicesDelegate >)  aDelegate

移除多设备回调代理

参数
aDelegate要移除的代理
- (void) serviceCheckWithUsername: (NSString *)  aUsername
password: (NSString *)  aPassword
completion: (void(^)(EMServerCheckType aType, EMError *aError))  aCompletionBlock 

服务诊断接口,根据EMServerCheckType枚举的顺序依次诊断当前服务,并回调给开发者 如果已经登录,默认使用登录账号

参数
aUsername用户名
aPassword密码
aCompletionBlock完成的回调
- (EMError *) setApnsNickname: (NSString *)  aNickname

设置推送消息显示的昵称

同步方法,会阻塞当前线程

参数
aNickname要设置的昵称
返回
错误信息
+ (instancetype) sharedClient

获取SDK实例

- (void) updatePushNotifiationDisplayName: (NSString *)  aDisplayName
completion: (void(^)(NSString *aDisplayName, EMError *aError))  aCompletionBlock 

设置推送的显示名

参数
aDisplayName推送显示名
aCompletionBlock完成的回调
- (void) updatePushNotificationOptionsToServerWithCompletion: (void(^)(EMError *aError))  aCompletionBlock

更新推送设置到服务器

参数
aCompletionBlock完成的回调
- (EMError *) updatePushOptionsToServer

更新推送设置到服务器

同步方法,会阻塞当前线程

返回
错误信息
- (void) uploadDebugLogToServerWithCompletion: (void(^)(EMError *aError))  aCompletionBlock

上传日志到服务器

参数
aCompletionBlock完成的回调
- (EMError *) uploadLogToServer

上传日志到服务器

同步方法,会阻塞当前线程

返回
错误信息

属性说明

- (id<IEMCallManager>) callManager
readnonatomicstrong

实时通讯模块

由 category EMClient(Call) 提供.

- (id<IEMChatManager>) chatManager
readnonatomicstrong

聊天模块

- (id<IEMConferenceManager>) conferenceManager
readnonatomicstrong

多人会议模块

由 category EMClient(Conference) 提供.

- (id<IEMContactManager>) contactManager
readnonatomicstrong

好友模块

- (NSString*) currentUsername
readnonatomicstrong

当前登录账号

- (id<IEMGroupManager>) groupManager
readnonatomicstrong

群组模块

- (BOOL) isAutoLogin
readnonatomicassign

SDK是否自动登录上次登录的账号

- (BOOL) isConnected
readnonatomicassign

是否连上聊天服务器

- (BOOL) isLoggedIn
readnonatomicassign

用户是否已登录

- (EMOptions*) options
readnonatomicstrong

SDK属性

- (EMPushOptions*) pushOptions
readnonatomicstrong

推送设置

- (id<IEMChatroomManager>) roomManager
readnonatomicstrong

聊天室模块

- (NSString*) version
readnonatomicstrong

SDK版本号


该类的文档由以下文件生成: