HyphenateChatSDK 3.9.9.1
|
#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 |
id< IEMCircleManager > _Nullable | circleManager |
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 | UIApplication |
- (void) applicationWillEnterForeground: | (id _Nonnull) | aApplication |
iOS 专用,程序进入前台时,需要调用此方法进行重连。
aApplication | 当前应用程序实例。 |
- (EMError *_Nullable) bindDeviceToken: | (NSData *_Nonnull) | aDeviceToken |
绑定 device token。
Device token 用于苹果 APNS 推送。
同步方法,会阻塞当前线程。
aDeviceToken | 要绑定的 token。 |
- (EMError *_Nullable) bindPushKitToken: | (NSData *_Nullable) | aPushToken |
绑定 PushKit token。
这里是苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。
同步方法,会阻塞当前线程。
aPushToken | 要绑定的 token。 |
- (EMError *_Nullable) changeAppkey: | (NSString *_Nonnull) | aAppkey |
修改 app key,注意只有在未登录状态才能修改 app key。修改 app key 是为了方便你切换其他 app key,切换后可以使用切换后的 app key 测试,除了登出外,没有其他的限制。
aAppkey | The app key. |
- (void) fetchTokenWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSString *_Nullable aToken, EMError *_Nullable aError)) | aCompletionBlock | |
从服务器获取 token。
异步方法。
aUsername | 用户名。 |
aPassword | 密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMDeviceConfig *) getDeviceConfig: | (EMError **) | pError |
获取当前登录的设备信息
- (NSString *_Nullable) getLogFilesPath: | (EMError **_Nullable) | pError |
将日志文件压缩成 .gz 文件,返回 gz 文件路径。强烈建议方法完成之后删除该压缩文件。
同步方法,会阻塞当前线程。
pError | 错误信息,包含调用失败的原因。 |
- (void) getLogFilesPathWithCompletion: | (void(^)(NSString *_Nullable aPath, EMError *_Nullable aError)) | aCompletionBlock |
将日志文件压缩成 .gz 文件,返回 gz 文件路径。强烈建议方法完成之后删除该压缩文件。
异步方法。
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) getLoggedInDevicesFromServerWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSArray< EMDeviceConfig * > *_Nullable aList, EMError *_Nullable aError)) | aCompletionBlock | |
从服务器获取所有已经登录的设备信息。
异步方法。
aUsername | 用户名。 |
aPassword | 密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (NSArray< EMDeviceConfig * > *_Nullable) getLoggedInDevicesFromServerWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
error: | (EMError **_Nullable) | pError | |
从服务器获取所有已经登录的设备信息。
同步方法,会阻塞当前线程。
aUsername | 用户名。 |
aPassword | 密码。 |
pError | 错误信息,包含调用失败的原因。 |
- (EMError *_Nullable) kickAllDevicesWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
强制所有的登录设备登出。
同步方法,会阻塞当前线程。
aUsername | 用户名。 |
aPassword | 密码。 |
- (void) kickAllDevicesWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
强制所有的登录设备登出。
异步方法。
aUsername | 用户名。 |
aPassword | 密码。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) kickDeviceWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
resource: | (NSString *_Nonnull) | aResource | |
强制指定的设备登出。
同步方法,会阻塞当前线程。
aUsername | 用户名。 |
aPassword | 密码。 |
aResource | 要登出的设备,可以通过 getLoggedInDevicesFromServerWithUsername 方法获取。 |
- (void) kickDeviceWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
resource: | (NSString *_Nonnull) | aResource | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
强制指定的设备登出。
异步方法。
aUsername | 用户名。 |
aPassword | 密码。 |
aResource | 设备信息。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (void) log: | (NSString *_Nonnull) | aLog |
输出日志信息到日志文件,需要在 SDK 初始化之后调用。
同步方法,会阻塞当前线程。
aLog | 要输出的日志信息。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
agoraToken: | (NSString *_Nonnull) | aAgoraToken | |
声网 Agora Chat user token 登录。
同步方法,会阻塞当前线程。
aUsername | 用户名 |
aAgoraToken | 声网 Agora Chat user token。 |
- (void) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
agoraToken: | (NSString *_Nonnull) | aAgoraToken | |
completion: | (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError)) | aCompletionBlock | |
声网 Agora Chat user token 登录。
aUsername | 用户名。 |
aAgoraToken | 声网 Agora Chat user token。 |
aCompletionBlock | 完成的回调,如果有错误会返回错误原因。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
用户使用密码登录服务器。
推荐使用token登录聊天服务器
同步方法,会阻塞当前线程。
aUsername | 用户名,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aPassword | 密码,长度不超过 64 个字符。请确保你对该参数设值。 |
- (void) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError)) | aCompletionBlock | |
用户使用密码登录聊天服务器。
异步方法。
推荐使用token登录聊天服务器
aUsername | 用户名,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aPassword | 密码,长度不超过 64 个字符。请确保你对该参数设值。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
token: | (NSString *_Nonnull) | aToken | |
用户使用 token 登录。该方法支持自动登录。
同步方法,会阻塞当前线程。
aUsername | 用户名,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aToken | The token。 |
- (void) loginWithUsername: | (NSString *_Nonnull) | aUsername | |
token: | (NSString *_Nonnull) | aToken | |
completion: | (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError)) | aCompletionBlock | |
用户使用 token 登录。该方法支持自动登录。
异步方法。
aUsername | 用户名,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。 |
aToken | The token。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (EMError *_Nullable) logout: | (BOOL) | aIsUnbindDeviceToken |
用户登出聊天服务器。
同步方法,会阻塞当前线程。
aIsUnbindDeviceToken | 是否解除账号与设备绑定。YES 表示解除绑定。成功解绑后,用户登出账号后设备将不再收到消息推送。如果你将该参数设为 YES,但解绑失败,则 SDK 会返回错误信息,包含调用失败的原因。 |
- (void) logout: | (BOOL) | aIsUnbindDeviceToken | |
completion: | (void(^)(EMError *_Nullable aError)) | aCompletionBlock | |
登出聊天服务器。
异步方法。
aIsUnbindDeviceToken | 是否解除账号与设备绑定。YES 表示解除绑定。成功解绑后,用户登出账号后设备将不再收到消息推送。如果你将该参数设为 YES,但解绑失败,则 SDK 会返回错误信息,包含调用失败的原因。 |
aCompletionBlock | 该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。 |
- (BOOL) migrateDatabaseToLatestSDK |
iOS 专用,数据迁移到 SDK3.0。
同步方法,会阻塞当前线程。
升级到 SDK3.0 版本需要调用该方法,开发者需要等该方法执行完后再进行数据库相关操作。
- (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 | 用户名,长度不超过 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 | 用户名,长度不超过 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) | newAgoraToken |
当用户在声网 token 登录状态时,且在 EMClientDelegate 回调中收到 token 即将过期/已经过期事件的回调通知,可以调用这个 API 来更新 token,避免因 token 失效产生的未知问题。
同步方法,会阻塞当前线程。
newAgoraToken | 新声网 token。 |
- (void) serviceCheckWithUsername: | (NSString *_Nonnull) | aUsername | |
password: | (NSString *_Nonnull) | aPassword | |
completion: | (void(^)(EMServerCheckType aType, EMError *_Nullable aError)) | aCompletionBlock | |
服务诊断接口,根据 EMServerCheckType 枚举的顺序依次诊断当前服务,并回调给开发者。 如果已经登录,默认使用登录账号。
异步方法。
aUsername | 用户名。 |
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 |
上传日志到服务器。
同步方法,会阻塞当前线程。
- (NSString *) version |
SDK 版本号。
|
readnonatomicassign |
当前用户访问聊天服务器使用的 token。用户第一次登陆的时候需要用用户 ID 和密码登陆,成功时返回 token,以后即可用 token 登陆。
|
readnonatomicstrong |
聊天模块。
|
readnonatomicstrong |
circle模块。
|
readnonatomicstrong |
好友模块。
|
readnonatomicstrong |
当前登录账号。
|
readnonatomicstrong |
群组模块。
|
readnonatomicassign |
是否让用户自动使用上次登录的账号登录。如果因密码错误或账号异常等原因登录失败,则该参数会被重置为 NO;如果你想使用自动登录,则需要重新将该参数设为 YES。
|
readnonatomicassign |
SDK 是否连上聊天服务器。
|
readnonatomicassign |
用户是否已登录。
|
readnonatomicstrong |
SDK 的设置选项。
|
readnonatomicstrong |
在线状态管理模块。
|
readnonatomicstrong |
推送模块。
|
readnonatomicstrong |
聊天室模块
|
readnonatomicstrong |
消息流量管理模块。
|
readnonatomicstrong |
聊天室模块。 thread模块
|
readnonatomicstrong |
用户属性模块。
|
readnonatomicstrong |
SDK 版本号。