|
hyphenate_SDK4.0 4.24.1
hyphenate java IM SDK
|
即时通讯 IM 是一个高度可靠的全球通信平台,用户可以进行一对一单聊、群组聊天或聊天室聊天。用户可以通过发送文本消息、分享图片、音频、视频、文件、表情符号和位置进行沟通。
EMClient 类是聊天 SDK 的入口,提供登录和登出即时通讯 IM 的方法,并管理 SDK 与聊天服务器之间的连接。EMChatManager 类提供发送和接收消息、管理会话以及下载附件的方法。EMMessage 类定义消息的属性。EMConversation 类提供管理会话的方法。EMContactManager 类提供管理联系人的方法。EMGroupManager 类提供群组创建、解散和成员管理等方法。EMChatRoomManager 类提供聊天室和成员权限管理的方法。EMPresenceManager 类提供管理用户在线状态的方法。EMChatThreadManager 类提供子区创建、解散和成员管理的方法。EMPushManager 类提供配置离线推送服务的方法。EMUserInfoManager 类提供获取、更新和订阅用户属性的方法。在方法调用过程中,SDK 可能会返回错误码。详见 EMError。
| 方法 | 描述 |
|---|---|
init | 初始化 SDK。 |
loginWithToken | 通过 token 登录服务器。 |
renewToken | 更新 token。 |
logout | 退出登录。 |
getCurrentUser | 获取当前登录用户的用户ID。 |
isLoggedInBefore | 查询是否登录过。 |
isConnected | 检查 SDK 是否连接到 Chat 服务器。 |
isLoggedIn | 检查用户是否登录 Chat 服务。 |
setDebugMode | 设置是否输出调试信息。 |
isSdkInited | 检查 SDK 是否已初始化完毕。 |
addConnectionListener | 设置连接状态监听器。 |
addLogListener | 设置日志回调监听器。 |
groupManager | 获取群组管理类。 |
pushManager | 获取推送管理类。 |
chatroomManager | 获取聊天室管理类。 |
chatManager | 获取聊天管理类。 |
userInfoManager | 获取用户信息管理类。 |
contactManager | 获取联系人管理类。 |
presenceManager | 获取presenceManager类。 |
chatThreadManager | 获取子区管理类。 |
| 事件 | 描述 |
|---|---|
onConnected | 成功连接到 chat 服务器时触发。 |
onDisconnected | SDK 与 chat 服务器断开连接时触发。 |
onTokenExpired | token 已过期时触发。 |
onTokenWillExpire | token 即将过期时触发。 |
onLogout | SDK 退出登录时触发。 |
onLog | 当有日志输出时触发。 |
onOfflineMessageSyncStart | 开始从服务器拉取离线消息时触发。 |
onOfflineMessageSyncFinish | 从服务器拉取离线消息结束时触发。 |
| 事件 | 描述 |
|---|---|
onMessageReceived | 收到消息。 |
onCmdMessageReceived | 收到命令消息。 |
onMessageRead | 收到消息的已读回执。 |
onGroupMessageRead | 收到群组消息的已读回执。 |
onReadAckForGroupMessageUpdated | 收到群组消息的读取状态更新。 |
onMessageDelivered | 收到消息的送达回执。 |
onMessageRecalledWithExt | 撤回收到的消息。 |
onMessageChanged | 收到消息变化,包括消息 ID 的变化。 |
onReactionChanged | 收到 Reaction 变更消息。 |
onConversationUpdate | 会话变更回调。 |
onConversationRead | 收到会话已读回调。 |
onMessagePinChanged | 收到消息的置顶状态变化。 |
onMessageContentChanged | 收到消息内容变化。 |
onStreamMessageReceived | 收到流式消息。 |
| 方法 | 描述 |
|---|---|
conversationId | 会话 ID,取决于会话类型。 |
getUnreadMsgCount | 获取会话中未读的消息数量。 |
markAllMessagesAsRead | 将所有未读消息设置为已读。 |
getAllMsgCount | 获取 SDK 本地数据库中会话的全部消息数。 |
isChatThread | 查看当前会话是否是子区会话。 |
loadMoreMsgFromDB | 从 SDK 本地数据库中分页加载消息。 |
markMessageAsRead | 设置指定消息为已读。 |
removeMessage | 删除本地数据库中的一条指定消息。 |
getLastMessage | 获取会话中的最新一条消息。 |
getLatestMessageFromOthers | 获取会话中收到的最新一条消息。 |
clearAllMessages | 清除内存和数据库中指定会话中的消息。 |
getExtField | 获取会话的扩展字段。 |
insertMessage | 在本地数据库的会话中插入一条消息。 |
appendMessage | 在本地数据库中会话的尾部插入一条消息。 |
updateMessage | 更新本地数据库的指定消息。 |
status | 获取消息的发送/接收状态。 |
getType | 获取消息类型。 |
getBody | 获取消息体。 |
getMsgTime | 获取消息的服务器时间戳。 |
localTime | 获取消息的本地时间戳。 |
isChatThreadMessage | 获取消息是否是子区消息。 |
getChatThread | 获取子区概览信息。 |
getFrom | 获取消息发送方的用户 ID。 |
getTo | 获取消息接收方。 |
getMsgId | 获取消息的 ID。 |
isAcked | 获取对方是否已读。 |
isDelivered | 获取消息是否成功送达。 |
isUnread | 检查消息是否未读。 |
isListened | 获取语音消息是否已听。 |
direct | 消息方向。 |
conversationId | 获取会话 ID。 |
getMessageReaction | 获取 Reaction 列表。 |
isOnlineState | 是否为在线消息。 |
pinnedInfo | 获取消息的置顶详情。 |
getSenderInfo | 获取消息发送者信息。 |
createTextSendMessage | 创建一个文本发送消息。 |
createImageSendMessage | 创建一个图片发送消息。 |
createVoiceSendMessage | 创建一个语音发送消息。 |
createVideoSendMessage | 创建一个视频发送消息。 |
createLocationSendMessage | 创建一个位置发送消息。 |
createFileSendMessage | 创建一个普通文件发送消息。 |
| 方法 | 描述 |
|---|---|
asyncGetAllContactsFromServer | 从服务器获取所有的好友。 |
asyncAddUserToBlackList | 把指定用户加入到黑名单中。 |
asyncRemoveUserFromBlackList | 将用户从黑名单中移除。 |
getBlackListUsernames | 从本地获取黑名单列表。 |
asyncGetBlackListFromServer | 从服务器获取黑名单列表。 |
asyncAcceptInvitation | 接受加好友的邀请。 |
asyncDeclineInvitation | 拒绝加好友的邀请。 |
getContactsFromLocal | 从数据库获取好友列表。 |
asyncFetchAllContactsFromLocal | 从本地获取所有好友。 |
asyncSetContactRemark | 设置好友备注。 |
asyncGetSelfIdsOnOtherPlatform | 从服务器获取当前用户的其他登录设备的登录 ID 列表。 |
setContactListener | 注册联系人监听。 |
asyncAddContact | 添加联系人。 |
asyncDeleteContact | 删除好友。 |
| 事件 | 描述 |
|---|---|
onContactAdded | 添加好友回调。 |
onContactDeleted | 被删除联系人时的回调。 |
onContactInvited | 收到好友邀请的回调。 |
onFriendRequestAccepted | 好友请求被同意的回调。 |
onFriendRequestDeclined | 好友请求被拒绝的回调。 |
onContactInfoUpdate | 好友信息变更回调。 |
| 事件 | 描述 |
|---|---|
onInvitationReceived | 用户收到入群邀请的回调。 |
onRequestToJoinReceived | 用户申请入群回调。 |
onRequestToJoinAccepted | 接受入群申请回调。 |
onRequestToJoinDeclined | 拒绝入群申请回调。 |
onInvitationAccepted | 接受入群邀请回调。 |
onInvitationDeclined | 拒绝群组邀请回调。 |
onAutoAcceptInvitationFromGroup | 自动同意入群申请回调。 |
onUserRemoved | 当前登录用户被管理员移出群组回调。 |
onMuteListAdded | 有成员被禁言。 |
onMuteListRemoved | 有成员被解除禁言。 |
onWhiteListAdded | 添加白名单回调。 |
onWhiteListRemoved | 移除白名单回调。 |
onAllMemberMuteStateChanged | 全员禁言状态变化回调。 |
onAdminAdded | 成员设置为管理员回调。 |
onAdminRemoved | 取消成员的管理员权限回调。 |
onOwnerChanged | 转移群主权限回调。 |
onMemberJoined | 当一个或多个成员加入群组时触发。 |
onMemberExited | 当一个或多个成员离开群组时触发。 |
onAnnouncementChanged | 群公告更新回调。 |
onSharedFileAdded | 群组添加共享文件回调。 |
onSharedFileDeleted | 群组删除共享文件回调。 |
onSpecificationChanged | 群组详情更新回调,需调用com.hyphenate.chat.EMGroupManager#asyncGetGroupFromServer(String, EMValueCallBack)获取最新群组信息。 |
onStateChanged | 群组禁用或启动状态回调。 |
onGroupMemberAttributeChanged | 群组成员自定义属性变更回调。 |
| 事件 | 描述 |
|---|---|
onRemovedFromChatRoom | 有成员被移出聊天室。 |
onMemberJoined | 有新成员加入聊天室。 |
onMemberExited | 有成员主动退出聊天室。 |
onMuteListAdded | 有成员被禁言。 |
onMuteListRemoved | 有成员从禁言列表中移除。 |
onWhiteListAdded | 有成员加入白名单。 |
onWhiteListRemoved | 有成员被移出白名单。 |
onAllMemberMuteStateChanged | 全员禁言状态有变更。 |
onAdminAdded | 有成员被设置为管理员。 |
onAdminRemoved | 有成员被移出管理员列表。 |
onOwnerChanged | 聊天室所有者变更。 |
onAnnouncementChanged | 聊天室公告有变更。 |
onSpecificationChanged | 聊天室信息有更新。 |
onAttributesUpdate | 聊天室自定义属性(key-value)有更新。 |
onAttributesRemoved | 聊天室自定义属性被移除。 |
| 方法 | 描述 |
|---|---|
publishPresence | 发布自定义在线状态。 |
subscribePresences | 订阅指定用户的在线状态。 |
unsubscribePresences | 取消订阅指定用户的在线状态。 |
fetchSubscribedMembers | 分页查询当前用户订阅了哪些用户的在线状态。 |
fetchPresenceStatus | 查询指定用户的当前在线状态。 |
addListener | 添加监听。 |
| 事件 | 描述 |
|---|---|
onPresenceUpdated | 当订阅的用户的在线状态更新时触发。 |
| 方法 | 描述 |
|---|---|
createChatThread | 创建子区。 |
joinChatThread | 加入子区。 |
destroyChatThread | 解散子区。 |
leaveChatThread | 退出子区。 |
getChatThreadFromServer | 从服务器获取子区详情。 |
updateChatThreadName | 修改子区名称。 |
removeMemberFromChatThread | 移除子区成员。 |
getChatThreadMembers | 分页获取子区成员。 |
getJoinedChatThreadsFromServer | 分页从服务器获取当前用户加入的子区列表。 |
getChatThreadsFromServer | 分页从服务器端获取指定群组的子区列表。 |
getChatThreadLatestMessage | 从服务器批量获取指定子区中的最新一条消息。 |
addChatThreadChangeListener | 注册子区事件监听器,用于监听子区变化,如子区的创建和解散等。 |
| 事件 | 描述 |
|---|---|
onChatThreadCreated | 子区创建回调。 |
onChatThreadUpdated | 子区更新回调。 |
onChatThreadDestroyed | 子区解散回调。 |
onChatThreadUserRemoved | 当前登录用户被群主或群管理员移出子区。 |
| 方法 | 描述 |
|---|---|
getPushConfigsFromServer | 从服务器获取推送配置信息。 |
asyncUpdatePushNickname | 更新当前用户的推送昵称。 |
setSilentModeForConversation | 设置会话的免打扰。 |
clearRemindTypeForConversation | 清除会话的离线推送提醒类型设置。 |
getSilentModeForConversation | 获取会话的免打扰设置。 |
setSilentModeForAll | 设置当前登录用户的免打扰设置。 |
getSilentModeForAll | 获取当前登录用户的免打扰设置。 |
getSilentModeForConversations | 批量获取指定会话的免打扰设置。 |
bindDeviceToken | 绑定设备 token 到服务器。 |
| 方法 | 描述 |
|---|---|
updateOwnInfo | 修改当前用户的用户属性。 |
updateOwnInfoByAttribute | 修改当前用户的属性。 |
fetchUserInfoByUserId | 根据用户 ID 获取用户属性。 |
fetchUserInfoByAttribute | 获取一个或多个用户的任意单个或多个属性。 |
getUserInfoWithUserIds | 根据用户 ID 从本地内存批量获取用户属性。 |
subscribeUsersInfo | 根据用户 ID 订阅陌生人的用户属性更新事件。 |
unsubscribeUsersInfo | 根据用户 ID 取消订阅陌生人的用户属性变更事件。 |
fetchSubscribedUsers | 获取已被订阅属性更新事件的陌生人的用户属性。 |
addUserInfoManagerListener | 添加用户属性更新监听器。 |
| 事件 | 描述 |
|---|---|
onSelfUserInfoUpdate | 当前用户的信息更新回调。 |
onUserInfoUpdate | 其他用户的信息更新回调。 |