HyphenateChatSDK
3.8.7
|
#import <EMClient.h>
类方法 | |
(instancetype) | + sharedClient |
Protected 属性 | |
EMPushOptions * | _pushOptions |
属性 | |
NSString * | version |
NSString * | currentUsername |
EMOptions * | options |
id< IEMChatManager > | chatManager |
id< IEMContactManager > | contactManager |
id< IEMGroupManager > | groupManager |
id< IEMChatroomManager > | roomManager |
id< IEMPushManager > | pushManager |
BOOL | isAutoLogin |
BOOL | isLoggedIn |
BOOL | isConnected |
NSString * | accessUserToken |
id< IEMUserInfoManager > | userInfoManager |
IM SDK的入口,负责登录登出及连接管理等,由此可以获得其他模块的入口,例如:群组模块 [EMClient sharedClient].groupManager;
- (void) addDelegate: | (3_1_0) | ||
(3_2_2) | |||
("Use - instead") | 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时,需要调用此方法
application | UIApplication |
userInfo | 推送内容 |
- (void) applicationDidEnterBackground: | (id) | aApplication |
iOS专用,程序进入后台时,需要调用此方法断开连接
aApplication | UIApplication |
- (void) applicationWillEnterForeground: | (id) | aApplication |
iOS专用,程序进入前台时,需要调用此方法进行重连
aApplication | UIApplication |
- (void) asyncBindDeviceToken: | (NSData *) | aDeviceToken | |
success: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -registerForRemoteNotificationsWithDeviceToken:completion: instead") | EM_DEPRECATED_IOS | ||
绑定device token
aDeviceToken | 要绑定的token |
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncGetPushOptionsFromServer: | (void(^)(EMPushOptions *aOptions)) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -getPushOptionsFromServerWithCompletion: instead") | EM_DEPRECATED_IOS | ||
从服务器获取推送属性
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncLoginWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
success: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -loginWithUsername:password:completion: instead") | EM_DEPRECATED_IOS | ||
登录
aUsername | 用户名 |
aPassword | 密码 |
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncLogout: | (BOOL) | aIsUnbindDeviceToken | |
success: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -logout:completion: instead") | EM_DEPRECATED_IOS | ||
登出
aIsUnbindDeviceToken | 是否解除device token的绑定,解除绑定后设备不会再收到消息推送 如果传入YES, 解除绑定失败,将返回error |
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncRegisterWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
success: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -registerWithUsername:password:completion: instead") | EM_DEPRECATED_IOS | ||
注册用户
不推荐使用,建议后台通过REST注册
aUsername | 用户名 |
aPassword | 密码 |
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncSetApnsNickname: | (NSString *) | aNickname | |
success: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -updatePushNotifiationDisplayName:copletion: instead") | EM_DEPRECATED_IOS | ||
设置推送消息显示的昵称
aNickname | 要设置显示的昵称 |
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncUpdatePushOptionsToServer: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -updatePushNotificationOptionsToServerWithCompletion: instead") | EM_DEPRECATED_IOS | ||
更新推送设置到服务器
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (void) asyncUploadLogToServer: | (void(^)()) | aSuccessBlock | |
failure: | (3_1_0) | ||
(3_2_2) | |||
("Use -uploadDebugLogToServerWithCompletion: instead") | EM_DEPRECATED_IOS | ||
上传日志到服务器
aSuccessBlock | 成功的回调 |
aFailureBlock | 失败的回调 |
- (EMError *) bindDeviceToken: | (NSData *) | aDeviceToken |
- (EMError *) bindPushKitToken: | (NSData *) | aPushToken |
- (EMError *) changeAppkey: | (NSString *) | aAppkey |
- (3_1_0, 3_7_2, "") EM_DEPRECATED_IOS |
- (3_1_0, 3_2_2, "Use -migrateDatabaseToLatestSDK instead") EM_DEPRECATED_IOS |
iOS专用,数据迁移到SDK3.0
同步方法,会阻塞当前线程
升级到SDK3.0版本需要调用该方法,开发者需要等该方法执行完后再进行数据库相关操作
- (EMPushOptions* pushOptions) EM_DEPRECATED_IOS | (3_1_0) | ||
(3_7_2) | |||
("Use - instead") | [IEMPushManager.pushOptions] | ||
推送设置
- (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 | 错误信息 |
- (void) getPushNotificationOptionsFromServerWithCompletion: | (3_1_0) | ||
(3_7_2) | |||
("Use - instead") | EM_DEPRECATED_IOS[IEMPushManager:getPushNotificationOptionsFromServerWithCompletion:] | ||
从服务器获取推送属性
aCompletionBlock | 完成的回调 |
- (EMPushOptions *) getPushOptionsFromServerWithError: | (3_1_0) | ||
(3_7_2) | |||
("Use - instead") | EM_DEPRECATED_IOS[IEMPushManager:getPushOptionsFromServerWithError:] | ||
- (EMError *) kickAllDevicesWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
- (void) kickAllDevicesWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
completion: | (void(^)(EMError *aError)) | aCompletionBlock | |
强制所有的登录设备登出
aUsername | 用户名 |
aPassword | 密码 |
aCompletionBlock | 完成的回调 |
- (EMError *) kickDevice: | (EMDeviceConfig *) | aDevice | |
username: | (NSString *) | aUsername | |
password: | (3_1_0) | ||
(3_2_2) | |||
("Use - kickDeviceWithUsername:password:resource: instead") | EM_DEPRECATED_IOS | ||
- (void) kickDevice: | (EMDeviceConfig *) | aDevice | |
username: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
completion: | (3_1_0) | ||
(3_2_2) | |||
("Use - kickDeviceWithUsername:password:resource:completion: instead") | EM_DEPRECATED_IOS | ||
强制指定的设备登出
aDevice | 设备信息 |
aUsername | 用户名 |
aPassword | 密码 |
aCompletionBlock | 完成的回调 |
- (EMError *) kickDeviceWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
resource: | (NSString *) | aResource | |
强制指定的设备登出
同步方法,会阻塞当前线程
aUsername | 用户名 |
aPassword | 密码 |
aDevice | 设备信息 |
- (void) kickDeviceWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
resource: | (NSString *) | aResource | |
completion: | (void(^)(EMError *aError)) | aCompletionBlock | |
强制指定的设备登出
aUsername | 用户名 |
aPassword | 密码 |
aDevice | 设备信息 |
aCompletionBlock | 完成的回调 |
- (void) log: | (NSString *) | aLog |
输出日志信息到日志文件,需要在SDK初始化之后调用
aLog | 要输出的日志信息 |
- (EMError *) loginWithUsername: | (NSString *) | aUsername | |
agoraToken: | (NSString *) | aAgoraToken | |
- (void) loginWithUsername: | (NSString *) | aUsername | |
agoraToken: | (NSString *) | aAgoraToken | |
completion: | (void(^)(NSString *aUsername, EMError *aError)) | aCompletionBlock | |
token登录
aUsername | 用户名 |
aAgoraToken | 声网token |
aCompletionBlock | 完成的回调 |
- (EMError *) loginWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
密码登录
同步方法,会阻塞当前线程
aUsername | 用户名 不可为空,可以是字母/数字/下划线/横线/英文句号,正则为"^[a-zA-Z0-9_-]+$", 其他的都不允许。如果是大写字母会自动转成小写。长度不可超过64个字符长度。 |
aPassword | 密码 不可为空,长度不可超过64个字符长度。 |
- (void) loginWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
completion: | (void(^)(NSString *aUsername, EMError *aError)) | aCompletionBlock | |
密码登录
aUsername | 用户名 |
aPassword | 密码 |
aCompletionBlock | 完成的回调 |
- (EMError *) loginWithUsername: | (NSString *) | aUsername | |
token: | (NSString *) | aToken | |
- (void) loginWithUsername: | (NSString *) | aUsername | |
token: | (NSString *) | aToken | |
completion: | (void(^)(NSString *aUsername, EMError *aError)) | aCompletionBlock | |
token登录
aUsername | 用户名 |
aToken | Token |
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 | 完成的回调 |
- (void) registerPushKitToken: | (NSData *) | aPushToken | |
completion: | (void(^)(EMError *aError)) | aCompletionBlock | |
绑定PushKit token
aPushToken | 要绑定的token |
aCompletionBlock | 完成的回调 |
- (EMError *) registerWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | 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 | 要移除的代理 |
- (EMError *) renewToken: | (NSString *) | newAgoraToken |
当用户在声网token登录状态时,且在EMClientDelegate回调中收到token即将过期/已经过期事件的回调通知,可以调用这个api来更新token,避免因token失效产生的未知问题
同步方法,会阻塞当前线程
newAgoraToken | 新声网token |
- (void) serviceCheckWithUsername: | (NSString *) | aUsername | |
password: | (NSString *) | aPassword | |
completion: | (void(^)(EMServerCheckType aType, EMError *aError)) | aCompletionBlock | |
服务诊断接口,根据EMServerCheckType枚举的顺序依次诊断当前服务,并回调给开发者 如果已经登录,默认使用登录账号
aUsername | 用户名 |
aPassword | 密码 |
aCompletionBlock | 完成的回调 |
- (EMError *) setApnsNickname: | (3_1_0) | ||
(3_7_2) | |||
("Use - instead") | EM_DEPRECATED_IOS[IEMPushManager:setApnsNickname:] | ||
设置推送消息显示的昵称
同步方法,会阻塞当前线程
aNickname | 要设置的昵称 |
+ (instancetype) sharedClient |
获取SDK实例
- (void) unRegisterPushKitTokenWithCompletion: | (void(^)(EMError *aError)) | aCompletionBlock |
解除PushKit token绑定
- (void) updatePushNotifiationDisplayName: | (NSString *) | aDisplayName | |
completion: | (3_1_0) | ||
(3_7_2) | |||
("Use - instead") | EM_DEPRECATED_IOS[IEMPushManager:updatePushNotifiationDisplayName:completion:] | ||
设置推送的显示名
aDisplayName | 推送显示名 |
aCompletionBlock | 完成的回调 |
- (void) updatePushNotificationOptionsToServerWithCompletion: | (3_1_0) | ||
(3_7_2) | |||
("") | EM_DEPRECATED_IOS | ||
更新推送设置到服务器
aCompletionBlock | 完成的回调 |
- (void) uploadDebugLogToServerWithCompletion: | (void(^)(EMError *aError)) | aCompletionBlock |
上传日志到服务器
aCompletionBlock | 完成的回调 |
|
readnonatomicassign |
当前用户访问环信服务器使用的token
|
readnonatomicstrong |
聊天模块
|
readnonatomicstrong |
好友模块
|
readnonatomicstrong |
当前登录账号
|
readnonatomicstrong |
群组模块
|
readnonatomicassign |
SDK是否自动登录上次登录的账号
|
readnonatomicassign |
是否连上聊天服务器
|
readnonatomicassign |
用户是否已登录
|
readnonatomicstrong |
SDK的设置选项
|
readnonatomicstrong |
推送模块
|
readnonatomicstrong |
聊天室模块
|
readnonatomicstrong |
用户属性模块
|
readnonatomicstrong |
SDK版本号