EMClient class

该类是 Chat SDK 的入口,负责登录、退出及连接管理等,由此可以获得其他模块的入口。

Properties

chatManager EMChatManager
获取 EMChatManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
chatRoomManager EMChatRoomManager
获取 EMChatRoomManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
chatThreadManager EMChatThreadManager
获取 EMChatThreadManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
contactManager EMContactManager
获取 EMContactManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
currentUserId String?
当前登录用户 ID.
no setter
customEventHandler ↔ (void Function(Map map)?)
设置一个自定义事件句柄来接收来自 iOS 或 Android 设备的数据。
getter/setter pair
groupManager EMGroupManager
获取 EMGroupManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
hashCode int
The hash code for this object.
no setterinherited
options EMOptions?
获取配置信息。
no setter
presenceManager EMPresenceManager
获取 EMPresenceManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
pushManager EMPushManager
获取 EMPushManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
userInfoManager EMUserInfoManager
获取 EMUserInfoManager 类。请确保在 EMClient 初始化之后调用本方法,详见 EMClient.init
no setter

Methods

addConnectionEventHandler(String identifier, EMConnectionEventHandler handler) → void
添加连接状态监听事件。
addMultiDeviceEventHandler(String identifier, EMMultiDeviceEventHandler handler) → void
添加多设备事件监听。
changeAppKey({required String newAppKey}) Future<bool>
修改 App Key。
clearConnectionEventHandles() → void
清除所以连接状态监听。
clearMultiDeviceEventHandles() → void
清除所有多设备事件监听。
compressLogs() Future<String>
压缩 log 文件,并返回压缩后的文件路径。强烈建议方法完成之后删除该压缩文件。
createAccount(String userId, String password) Future<void>
创建账号。
fetchLoggedInDevices({required String userId, required String pwdOrToken, bool isPwd = true}) Future<List<EMDeviceInfo>>
获取指定账号下登录的在线设备列表。
getAccessToken() Future<String>
获取当前登录账号的 Token。
getConnectionEventHandler(String identifier) EMConnectionEventHandler?
获取连接状态监听事件。
getCurrentUserId() Future<String?>
获取当前登录的用户 ID。
getLoggedInDevicesFromServer({required String userId, required String password}) Future<List<EMDeviceInfo>>
获取指定账号下登录的在线设备列表。
getMultiDeviceEventHandler(String identifier) EMMultiDeviceEventHandler?
获取多设备事件监听。
init(EMOptions options) Future<void>
初始化 SDK。
isConnected() Future<bool>
检查 SDK 是否连接到 Chat 服务器。 Return SDK 是否连接到 Chat 服务器。
isLoginBefore() Future<bool>
检查用户是否已登录 Chat 服务。
kickAllDevices({required String userId, required String pwdOrToken, bool isPwd = true}) Future<void>
将指定账号登录的所有设备都踢下线。
kickDevice({required String userId, required String pwdOrToken, required String resource, bool isPwd = true}) Future<void>
将指定账号登录的指定设备踢下线。
login(String userId, String pwdOrToken, [bool isPassword = true]) Future<void>
使用密码或 Token 登录服务器。
loginWithAgoraToken(String userId, String agoraToken) Future<void>
用声网 Token 登录服务器,该方法支持自动登录。
loginWithPassword(String userId, String password) Future<void>
用户使用密码登录聊天服务器。
loginWithToken(String userId, String token) Future<void>
用户使用 token 登录。
logout([bool unbindDeviceToken = true]) Future<void>
退出登录。
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeConnectionEventHandler(String identifier) → void
移除连接状态监听事件。
removeMultiDeviceEventHandler(String identifier) → void
移除多设备事件监听。
renewAgoraToken(String agoraToken) Future<void>
当用户在声网 token 登录状态时,且在 EMConnectionEventHandler.onTokenWillExpire 实现类中收到 token 即将过期事件的回调通知可以调用这个 API 来更新 token,避免因 token 失效产生的未知问题。
startCallback() Future<void>
/// 开始回调通知。
toString() String
A string representation of this object.
inherited
updateAutoAcceptFriendInvitationSetting(bool acceptInvitationAlways) Future<void>
updateAutoAcceptGroupInvitationSetting(bool autoAcceptGroupInvitation) Future<void>
updateAutoDownloadAttachmentThumbnailSetting(bool autoDownloadThumbnail) Future<void>
updateDeleteMessagesWhenLeaveGroupSetting(bool deleteMessagesWhenLeaveGroup) Future<void>
updateDeleteMessageWhenLeaveRoomSetting(bool deleteMessageWhenLeaveRoom) Future<void>
updateDeliveryAckSetting(bool requireDeliveryAck) Future<void>
updateLoginExtensionInfoSetting(String extension) Future<void>
updateMessagesReceiveCallbackIncludeSendSetting(bool includeSend) Future<void>
updateRegradeMessagesAsReadSetting(bool isRead) Future<void>
updateRequireAckSetting(bool requireAck) Future<void>
updateRoomOwnerCanLeaveSetting(bool roomOwnerCanLeave) Future<void>
updateSortMessageByServerTimeSetting(bool sortMessageByServerTime) Future<void>
updateUsingHttpsOnlySetting(bool usingHttpsOnly) Future<void>
是否只用 HTTPS。

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

getInstance EMClient
获取 SDK 实例。
no setter