HyphenateChatSDK 4.2.3
|
#import <EMClient.h>
类方法 | |
(instancetype _Nonnull) | + sharedClient |
属性 | |
NSString *_Nonnull | version |
NSString *_Nullable | currentUsername |
EMOptions *_Nonnull | options |
id< IEMChatManager > _Nullable | chatManager |
id< IEMChatroomManager > _Nullable | roomManager |
BOOL | isAutoLogin |
BOOL | isLoggedIn |
BOOL | isConnected |
NSString *_Nullable | accessUserToken |
该类为 SDK 的入口类,负责登录登出及连接管理等,由此可以获得其他模块的入口,例如:群组模块 [EMClient sharedClient].groupManager。
- (void) addDelegate: | (id< EMClientDelegate >_Nonnull) | aDelegate | |
delegateQueue: | (dispatch_queue_t _Nullable) | aQueue | |
添加回调代理。
aDelegate | 要添加的代理。 |
aQueue | 执行代理方法的队列。 |
- (void) addLogDelegate: | (id< EMLogDelegate >_Nonnull) | aDelegate | |
delegateQueue: | (addLog(delegate:queue:)) | NS_SWIFT_NAME | |
添加日志回调代理。
aDelegate | 要添加的代理。 |
aQueue | 执行代理方法的队列。 |
- (void) application: | (id _Nonnull) | application | |
didReceiveRemoteNotification: | (NSDictionary *_Nullable) | userInfo | |
iOS 专用,程序在前台收到 APNS 时,需要调用此方法。
application | 当前应用程序实例。 |
userInfo | 推送内容。 |
- (void) applicationDidEnterBackground: | (id _Nonnull) | aApplication |
iOS 专用,程序进入后台时,需要调用此方法断开连接。
aApplication | 当前应用程序实例。 |
- (void) applicationWillEnterForeground: | (id _Nonnull) | aApplication |
iOS 专用,程序进入前台时,需要调用此方法进行重连。
aApplication | 当前应用程序实例。 |
- (EMError *_Nullable) bindDeviceToken: | (NSData *_Nonnull) | aDeviceToken |
绑定 device token。
Device token 用于苹果 APNS 推送。
同步方法,会阻塞当前线程。
aDeviceToken | 要绑定的 token。 |
nil
,失败则返回错误信息,包含调用失败的原因。 - (NSString *_Nullable) getLogFilesPath: | (EMError **_Nullable) | pError |
将日志文件压缩成 .gz 文件。
强烈建议压缩文件不再使用时将其删除。
同步方法,会阻塞当前线程。
pError | 错误信息,包含调用失败的原因。 |
- (void) getLogFilesPathWithCompletion: | (void(^)(NSString *_Nullable aPath, EMError *_Nullable aError)) | aCompletionBlock |
将日志文件压缩成 .gz 文件。
强烈建议压缩文件不再使用时将其删除。
异步方法。
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
初始化 SDK。
aOptions | SDK 配置项。 |
- (void) log: | (NSString *_Nonnull) | aLog |
输出日志信息到日志文件。
该方法需要在 SDK 初始化之后调用。
同步方法,会阻塞当前线程。
aLog | 要输出的日志信息。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
用户使用密码登录服务器。
推荐使用 token 登录聊天服务器。
同步方法,会阻塞当前线程。
aUsername | 用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aPassword | 密码,长度不超过 64 个字符。请确保你对该参数设值。 |
nil
,失败则返回错误信息,包含调用失败的原因。 - (void) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError)) | aCompletionBlock | |
用户使用密码登录聊天服务器。
异步方法。
推荐使用 token 登录聊天服务器。
aUsername | 用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aPassword | 密码,长度不超过 64 个字符。请确保你对该参数设值。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
token: | (NSString *_Nonnull) | aToken | |
用户使用 token 登录。
该方法支持自动登录。
同步方法,会阻塞当前线程。
aUsername | 用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aToken | 登录 Token。 |
nil
,失败则返回错误信息,包含调用失败的原因。 - (void) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
token: | (NSString *_Nonnull) | aToken | |
completion: | (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError)) | aCompletionBlock | |
用户使用 token 登录。
异步方法。该方法支持自动登录。
aUsername | 用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aToken | 登录 Token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) logout: | (BOOL) | aIsUnbindDeviceToken |
用户登出聊天服务器。
同步方法,会阻塞当前线程。
aIsUnbindDeviceToken | 是否解除账号与设备绑定。
|
- (void) logout: | (BOOL) | aIsUnbindDeviceToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
登出聊天服务器。
异步方法。
aIsUnbindDeviceToken | 是否解除账号与设备绑定。
|
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) registerForRemoteNotificationsWithDeviceToken: | (NSData *_Nonnull) | aDeviceToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
注册 device token。
Device token 用于苹果 APNS 推送。
异步方法。
aDeviceToken | 要绑定的 token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) registerWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
注册用户。
不推荐使用,建议后台通过 REST 注册。
同步方法,会阻塞当前线程.
aUsername | 用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aPassword | 密码,长度不超过 64 个字符。请确保你对该参数设值。 |
- (void) registerWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError)) | aCompletionBlock | |
注册用户。
不推荐使用,建议后台通过 REST 注册。
异步方法。
aUsername | 用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aPassword | 密码,长度不超过 64 个字符。请确保你对该参数设值。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) removeDelegate: | (id _Nonnull) | aDelegate |
移除回调代理。
aDelegate | 要移除的代理。 |
- (void) removeLogDelegate: | (removeLog(delegate:)) | NS_SWIFT_NAME |
移除日志回调代理。
aDelegate | 要移除的代理。 |
- (EMError *_Nullable) renewToken: | (NSString *_Nonnull) | newToken |
更新用户 token。
当用户在 token 登录状态时,且在 ClientDelegate 回调中收到 token 即将过期的回调通知,可以调用该 API 更新 token,避免因 token 失效产生的未知问题。
同步方法,会阻塞当前线程。
newToken | 新的 token。 |
- (void) renewToken: | (NSString *_Nonnull) | newToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
更新用户 token。
当用户在 token 登录状态时,且在 ClientDelegate 回调中收到 token 即将过期的回调通知,可以调用该 API 更新 token,避免因 token 失效产生的未知问题。
异步方法。
newToken | 新的 token。 |
+ (instancetype _Nonnull) sharedClient |
Client 类是 chat 的入口,在调用任何其他方法前,需要先调用该方法创建一个 Client 实例。
- (void) uploadDebugLogToServerWithCompletion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock |
上传日志到聊天服务器。
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) uploadLogToServer |
上传日志到聊天服务器。
同步方法,会阻塞当前线程。
nil
,失败则返回错误信息,包含调用失败的原因。 - (NSString *) version |
SDK 版本号。
|
readnonatomicassign |
当前用户访问聊天服务器使用的 token。
用户第一次登录时需使用用户 ID 和密码,登录成功则返回 token,后续即可用 token 登录。
|
readnonatomicstrong |
聊天模块。
|
readnonatomicstrong |
当前登录账号。
|
readnonatomicassign |
是否让用户自动使用上次登录的账号登录。
YES
:允许。NO
:不允许。如果因密码错误或账号异常等原因登录失败,则该参数会被重置为 NO
;如果你想使用自动登录,则需要重新将该参数设为 YES
。
|
readnonatomicassign |
SDK 是否已连接聊天服务器。
|
readnonatomicassign |
用户是否已登录。
|
readnonatomicstrong |
SDK 的设置选项。
|
readnonatomicstrong |
聊天室模块。
|
readnonatomicstrong |
SDK 版本号。