HyphenateChatSDK 4.10.0
|
#import <EMClient.h>
类方法 | |
(instancetype _Nonnull) | + sharedClient |
Protected 属性 | |
EMPushOptions * | _pushOptions |
属性 | |
NSString *_Nonnull | version |
NSString *_Nullable | currentUsername |
EMOptions *_Nonnull | options |
id< IEMChatManager > _Nullable | chatManager |
id< IEMContactManager > _Nullable | contactManager |
id< IEMGroupManager > _Nullable | groupManager |
id< IEMThreadManager > _Nullable | threadManager |
id< IEMChatroomManager > _Nullable | roomManager |
id< IEMPushManager > _Nullable | pushManager |
BOOL | isAutoLogin |
BOOL | isLoggedIn |
BOOL | isConnected |
NSString *_Nullable | accessUserToken |
id< IEMUserInfoManager > _Nullable | userInfoManager |
id< IEMPresenceManager > _Nullable | presenceManager |
id< IEMStatisticsManager > _Nullable | statisticsManager |
该类为 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) addMultiDevicesDelegate: | (id< EMMultiDevicesDelegate >_Nonnull) | aDelegate | |
delegateQueue: | (addMultiDevices(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
,失败则返回错误信息,包含调用失败的原因。 - (void) bindFCMToken: | (NSString *_Nonnull) | aFCMToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
绑定设备的FCM token,集成FCM推送时使用
异步方法
aFCMToken | 使用FCM SDK生成的device token |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
nil
,失败则返回错误信息,包含调用失败的原因。 - (EMError *_Nullable) bindPushKitToken: | (NSData *_Nullable) | aPushToken |
绑定 PushKit token。
这里是苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。
同步方法,会阻塞当前线程。
aPushToken | 要绑定的 token。 |
- (EMError *_Nullable) changeAppkey: | (NSString *_Nonnull) | aAppkey |
- (void) fetchTokenWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSString *_Nullable aToken, EMError *_Nullable aError)) | aCompletionBlock | |
从服务器获取 token。
异步方法。
aUsername | 用户 ID。 |
aPassword | 密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMDeviceConfig *) getDeviceConfig: | (EMError **) | pError |
获取当前登录的设备信息。
- (NSString *_Nullable) getLogFilesPath: | (EMError **_Nullable) | pError |
将日志文件压缩成 .gz 文件。
强烈建议压缩文件不再使用时将其删除。
同步方法,会阻塞当前线程。
pError | 错误信息,包含调用失败的原因。 |
- (void) getLogFilesPathWithCompletion: | (void(^)(NSString *_Nullable aPath, EMError *_Nullable aError)) | aCompletionBlock |
将日志文件压缩成 .gz 文件。
强烈建议压缩文件不再使用时将其删除。
异步方法。
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) getLoggedInDevicesFromServerWithUserId: | (NSString *_Nonnull) | aUserID | |
token: | (NSString *_Nonnull) | aToken | |
completion: | (void(^)(NSArray< EMDeviceConfig * > *_Nullable aList, EMError *_Nullable aError)) | aCompletionBlock | |
从服务器获取所有已经登录的设备信息。
异步方法。
aUserID | 用户 ID。 |
aToken | token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) getLoggedInDevicesFromServerWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSArray< EMDeviceConfig * > *_Nullable aList, EMError *_Nullable aError)) | aCompletionBlock | |
从服务器获取所有已经登录的设备信息。
异步方法。
aUsername | 用户 ID。 |
aPassword | 密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (NSArray< EMDeviceConfig * > *_Nullable) getLoggedInDevicesFromServerWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
error: | (EMError **_Nullable) | pError | |
从服务器获取所有已经登录的设备信息。
同步方法,会阻塞当前线程。
aUsername | 用户 ID。 |
aPassword | 密码。 |
pError | 错误信息,包含调用失败的原因。 |
初始化 SDK。
aOptions | SDK 配置项。 |
- (void) kickAllDevicesWithUserId: | (NSString *_Nonnull) | aUserID | |
token: | (NSString *_Nonnull) | aToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
强制所有的设备登出。
异步方法。
aUserID | 用户 ID。 |
aToken | token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) kickAllDevicesWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
强制用户从所有的登录设备登出。
同步方法,会阻塞当前线程。
aUsername | 强制登出所有登录设备的用户 ID。 |
aPassword | 登录 app 的密码。 |
- (void) kickAllDevicesWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
强制所有的登录设备登出。
异步方法。
aUsername | 强制登出所有登录设备的用户 ID。 |
aPassword | 登录 app 的密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) kickDeviceWithUserId: | (NSString *_Nonnull) | aUserID | |
token: | (NSString *_Nonnull) | aToken | |
resource: | (NSString *_Nonnull) | aResource | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
强制指定的设备登出。
可调用 getLoggedInDevicesFromServerWithUserId
方法获取单个用户已登录设备的列表。
异步方法。
aUserID | 用户 ID。 |
aToken | token。 |
aResource | 设备信息。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) kickDeviceWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
resource: | (NSString *_Nonnull) | aResource | |
强制指定的设备登出。
同步方法,会阻塞当前线程。
可调用 getLoggedInDevicesFromServerWithUsername
方法获取单个用户的已登录设备的列表。
aUsername | 用户 ID。 |
aPassword | 密码。 |
aResource | 要登出的设备,可以通过 getLoggedInDevicesFromServerWithUsername 方法获取。 |
nil
,失败则返回错误信息,包含调用失败的原因。 - (void) kickDeviceWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
resource: | (NSString *_Nonnull) | aResource | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
强制指定的设备登出。
可调用 getLoggedInDevicesFromServerWithUsername
方法获取单个用户的已登录设备的列表。
异步方法。
aUsername | 用户 ID。 |
aPassword | 密码。 |
aResource | 设备信息。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) log: | (NSString *_Nonnull) | aLog |
输出日志信息到日志文件。
该方法需要在 SDK 初始化之后调用。
同步方法,会阻塞当前线程。
aLog | 要输出的日志信息。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
agoraToken: | (3_8_9) | ||
(4_2_0) | |||
("Use -EMClient loginWithUsername:token instead") | EM_DEPRECATED_IOS | ||
声网 Agora Chat user token 登录。
同步方法,会阻塞当前线程。该方法支持自动登录。
aUsername | 用户 ID。 |
aAgoraToken | 声网 Agora Chat user token。 |
nil
,失败则返回错误信息,包含调用失败的原因。 - (void) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
agoraToken: | (NSString *_Nonnull) | aAgoraToken | |
completion: | (3_8_9) | ||
(4_2_0) | |||
("Use -EMClient loginWithUsername:token:completion instead") | EM_DEPRECATED_IOS | ||
声网 Agora Chat user token 登录。
异步方法,支持自动登录。
aUsername | 用户 ID。 |
aAgoraToken | 声网 Agora Chat user token。 |
aCompletionBlock | 完成的回调,如果有错误会返回错误原因。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (3_0_0) | ||
(4_5_0) | |||
("Use -EMClient loginWithUsername:token:completion instead") | EM_DEPRECATED_IOS | ||
用户使用密码登录服务器。
推荐使用 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: | (3_0_0) | ||
(4_5_0) | |||
("Use -EMClient loginWithUsername:token:completion instead") | EM_DEPRECATED_IOS | ||
用户使用密码登录聊天服务器。
异步方法。
推荐使用 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) registerForRemoteNotificationsWithCertName: | (NSString *_Nonnull) | aCertName | |
deviceToken: | (NSData *_Nonnull) | aDeviceToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
注册 device token。
Device token 用于苹果 APNS 推送。
异步方法。
aCertName | 要绑定的证书名称 |
aDeviceToken | 要绑定的 token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) registerForRemoteNotificationsWithDeviceToken: | (NSData *_Nonnull) | aDeviceToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
注册 device token。
Device token 用于苹果 APNS 推送。
异步方法。
aDeviceToken | 要绑定的 token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) registerPushKitToken: | (NSData *_Nullable) | aPushToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
注册 PushKit token。
苹果的 PushKit 推送服务,服务于 VoIP 类型的推送。
异步方法。
aPushToken | 要注册的 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 | 要移除的代理。 |
- (void) removeMultiDevicesDelegate: | (id< EMMultiDevicesDelegate >_Nonnull) | aDelegate |
移除多设备回调代理。
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。 |
- (void) serviceCheckWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | ("This method is deprecated") | __deprecated_msg | |
服务诊断接口。
根据 EMServerCheckType 枚举的顺序依次诊断当前服务,并回调给开发者。
如果已经登录,默认使用登录账号。
异步方法。
aUsername | 用户 ID。 |
aPassword | 密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
+ (instancetype _Nonnull) sharedClient |
Client 类是 chat 的入口,在调用任何其他方法前,需要先调用该方法创建一个 Client 实例。
- (EMError *_Nullable) unBindPushKitToken |
解除 PushKit token 绑定。
该方法与解除注册 unRegisterPushKitTokenWithCompletion
方法作用一致。
苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。
同步方法,会阻塞当前线程。
- (void) unRegisterPushKitTokenWithCompletion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock |
解除 PushKit token 注册。
该方法与解除绑定 unBindPushKitToken
方法作用一致。
异步方法。
苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。
- (void) uploadDebugLogToServerWithCompletion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock |
上传日志到聊天服务器。
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) uploadLogToServer |
上传日志到聊天服务器。
同步方法,会阻塞当前线程。
nil
,失败则返回错误信息,包含调用失败的原因。 - (NSString *) version |
SDK 版本号。
|
readnonatomicassign |
当前用户访问聊天服务器使用的 token。
用户第一次登录时需使用用户 ID 和密码,登录成功则返回 token,后续即可用 token 登录。
|
readnonatomicstrong |
聊天模块。
|
readnonatomicstrong |
好友模块。
|
readnonatomicstrong |
当前登录账号。
|
readnonatomicstrong |
群组模块。
|
readnonatomicassign |
是否让用户自动使用上次登录的账号登录。
YES
:允许。NO
:不允许。如果因密码错误或账号异常等原因登录失败,则该参数会被重置为 NO
;如果你想使用自动登录,则需要重新将该参数设为 YES
。
|
readnonatomicassign |
SDK 是否已连接聊天服务器。
|
readnonatomicassign |
用户是否已登录。
|
readnonatomicstrong |
SDK 的设置选项。
|
readnonatomicstrong |
在线状态管理模块。
|
readnonatomicstrong |
推送模块。
|
readnonatomicstrong |
聊天室模块。
|
readnonatomicstrong |
消息流量管理模块。
|
readnonatomicstrong |
子区模块。
|
readnonatomicstrong |
用户属性模块。
|
readnonatomicstrong |
SDK 版本号。