即时通讯 IM API 参考 v1.3.2
Agora Java IM SDK
|
即时通讯 IM 服务是一个高度可靠的全球通信平台,支持丰富的消息类型,包括文本、图片、语音、视频、文件、位置、透传以及自定义消息,可使你的用户很方便地进行单聊、群聊或聊天室聊天。即时通讯 IM 服务提供以下类:
在方法调用过程中,SDK 可能会返回错误码。详见错误码。
方法名称 | 描述 |
init | 初始化 SDK。 |
loginWithToken | 通过用户 ID 和声网 Agora token 登录 IM 服务器。 |
renewToken | 更新 Agora token。 |
logout | 登出 IM 服务器。 |
getCurrentUser | 获取当前登录用户的用户 ID。 |
isLoggedInBefore | 查询是否登录过。 |
isConnected | 检查 SDK 是否连接到 IM 服务器。 |
isLoggedIn | 检查用户是否登录 IM 服务。 |
setDebugMode | 设置是否输出调试信息。 |
isSdkInited | 检查 SDK 是否已完成初始化。 |
addConnectionListener | 设置连接状态监听器。 |
addLogListener | 设置日志回调监听器。 |
groupManager | 获取群组管理类 GroupManager。 |
pushManager | 获取推送管理类 PushManager。 |
chatroomManager | 获取聊天室管理类 ChatRoomManager。 |
chatManager | 获取聊天管理类 ChatManager。 |
userInfoManager | 获取用户信息管理类 UserInfoManager。 |
contactManager | 获取联系人管理类 ContactManager。 |
presenceManager | 获取用户在线状态管理类 PresenceManager。 |
chatThreadManager | 获取子区管理类 ChatThreadManager。 |
事件 | 描述 |
onConnected | 成功连接到 IM 服务器时触发的回调。 |
onDisconnected | SDK 与 IM 服务器断开连接时触发的回调。注意断开连接时底层不一定会登出。 |
onTokenExpired | token 过期时触发的回调。 |
onTokenWillExpire | token 即将过期时触发的回调。 |
onLogout | 用户被强制登出 SDK 时触发的回调。 |
onLog | 日志回调。 |
方法名称 | 描述 |
sendMessage | 发送消息。 |
ackConversationRead | 发送会话的已读回执,该方法只针对单聊会话。 |
ackMessageRead | 发送消息的已读回执。 |
ackGroupMessageRead | 发送群消息已读回执。 |
getConversation | 获取指定 ID 的会话对象。 |
markAllConversationsAsRead | 将所有会话都设成已读。 |
saveMessage | 将消息保存到内存和本地数据库。 |
updateMessage | 更新本地消息。 |
downloadAttachment | 下载消息的附件。 |
downloadThumbnail | 下载消息的缩略图。 |
importMessages | 将消息导入本地数据库。 |
getAllConversations | 获取本地当前所有会话。 |
asyncFetchConversationsFromServer | 从服务器获取会话列表。 |
asyncFetchConversationsFromServer | 从服务器分页获取会话列表。 |
deleteConversation | 删除指定会话及其本地历史消息。 |
deleteConversationFromServer | 删除服务端的指定会话及其历史消息。 |
fetchGroupReadAcks | 从服务器分页获取群组消息已读回执详情。 |
searchMsgFromDB | 从本地数据库获取指定会话的一定数量的特定类型的消息。 |
deleteMessagesBeforeTimestamp | 删除指定时间戳之前的本地历史消息。 |
asyncReportMessage | 举报非法消息。 |
fetchSupportLanguages | 获取翻译服务支持的所有语言。 |
translateMessage | 翻译一条文本消息。 |
asyncAddReaction | 添加 Reaction。 |
asyncRemoveReaction | 删除 Reaction。 |
asyncGetReactionList | 获取 Reaction 列表。 |
asyncGetReactionDetail | 获取 Reaction 详细信息。 |
addMessageListener | 注册消息监听器。 |
addConversationListener | 注册会话监听器。 |
事件 | 描述 |
onMessageReceived | 收到消息。 |
onCmdMessageReceived | 收到命令消息。 |
onMessageRead | 收到消息的已读回执。 |
onGroupMessageRead | 收到群组消息的已读回执。 |
onReadAckForGroupMessageUpdated | 收到群组消息的读取状态更新。 |
onMessageDelivered | 收到消息的送达回执。 |
onMessageRecalled | 撤回收到的消息。 |
onReactionChanged | 消息的 Reaction 发生变更。 |
onConversationUpdate | 会话发生更新。 |
onConversationRead | 收到会话已读回执。 |
方法名称 | 描述 |
conversationId | 会话 ID,取决于会话类型。 |
getUnreadMsgCount | 获取会话中的未读消息数。 |
markAllMessagesAsRead | 将所有未读消息设置为已读。 |
getAllMsgCount | 获取 SDK 本地数据库中会话的全部消息的数量。 |
isChatThread | 查看当前会话是否是子区会话。 |
loadMoreMsgFromDB | 从 SDK 本地数据库中分页加载消息。 |
getMessage | 根据消息 ID 获取已读的消息。 |
markMessageAsRead | 设置指定消息为已读。 |
getAllMessages | 获取该会话当前内存中的所有消息。 |
removeMessage | 删除本地数据库中的一条指定消息。 |
getLastMessage | 获取会话中的最新一条消息。 |
getLatestMessageFromOthers | 获取会话中收到的最新一条消息。 |
clear | 清除会话中的所有消息。 |
clearAllMessages | 清除内存和数据库中指定会话中的消息。 |
setExtField | 设置会话的扩展字段。 |
getExtField | 获取会话的扩展字段。 |
insertMessage | 在本地数据库的会话中插入一条消息。 |
appendMessage | 在本地数据库中会话的尾部插入一条消息。 |
updateMessage | 更新本地数据库的指定消息。 |
status | 获取消息的发送/接收状态。 |
setStatus | 设置消息发送或接收的状态。 |
getType | 获取消息类型。 |
getBody | 获取消息体。 |
getMsgTime | 获取消息的服务器时间戳。 |
setMsgTime | 设置消息的服务器时间戳。 |
localTime | 获取消息的本地时间戳。 |
setLocalTime | 设置消息的本地时间戳。 |
setIsChatThreadMessage | 设置消息是否是子区消息。 |
isChatThreadMessage | 获取消息是否是子区消息。 |
getChatThread | 获取子区概览信息。 |
createSendMessage | 创建一条发送消息。 |
createReceiveMessage | 创建一条接收消息。 |
createTextSendMessage | 创建一条文本发送消息。 |
createVoiceSendMessage | 创建一条语音发送消息。 |
createImageSendMessage | 创建一条图片发送消息。 |
createVideoSendMessage | 创建一条视频发送消息。 |
createLocationSendMessage | 创建一条位置发送消息。 |
createFileSendMessage | 创建一条普通文件发送消息。 |
setBody | (建议方法)设置消息体。 |
addBody | 添加消息体。 |
getFrom | 获取消息发送方的用户 ID。 |
setFrom | 设置消息发送方的用户 ID。 |
getRecaller | 获取消息撤回者的用户 ID。 |
setTo | 设置消息接收方的用户 ID。 |
getTo | 获取消息接收方的用户名。 |
getMsgId | 获取消息的 ID。 |
setMsgId | 设置本地消息 ID。 |
setMessageStatusCallback | 设置消息状态变化的回调。 |
setAttribute | 设置消息扩展属性,为 String 类型。 |
getStringAttribute | 获取消息扩展属性,为 String 类型。 |
getChatType | 获取聊天类型。 |
setChatType | 设置聊天类型。 |
isAcked | 获取对方是否已读。 |
setAcked | 设置对方是否已读。 |
isDelivered | 获取消息是否成功送达。 |
setDelivered | 设置消息是否成功送达。 |
isUnread | 检查消息是否未读。 |
setUnread | 设置消息是否未读。 |
isListened | 获取语音消息是否已听。 |
setListened | 设置语音消息是否已听。 |
getUserName | 获取对端用户的用户 ID。 |
direct | 获取消息方向。 |
setDirection | 设置消息方向。 |
conversationId | 获取会话 ID。 |
ext | 获取消息包含的全部扩展字段。 |
getMessageReaction | 获取 Reaction 列表。 |
isOnlineState | 是否为在线消息,即消息发送时接收方是否在线。 |
setPriority | 设置聊天室消息优先级。 |
事件 | 描述 |
onSuccess | 方法成功执行的回调。 |
onError | 发生错误时的回调,详见 Error。 |
onProgress | 进度更新的回调。 |
方法名称 | 描述 |
asyncAddContact | 添加联系人。 |
asyncDeleteContact | 删除好友。 |
asyncGetAllContactsFromServer | 从服务器获取所有的好友。 |
asyncAddUserToBlackList | 把指定用户加入到黑名单中。 |
asyncSaveBlackList | 上传黑名单列表到服务器。 |
asyncRemoveUserFromBlackList | 将用户从黑名单中移除。 |
getBlackListUsernames | 从本地获取黑名单列表。 |
asyncGetBlackListFromServer | 从服务器获取黑名单列表。 |
asyncAcceptInvitation | 接受加好友的邀请。 |
asyncDeclineInvitation | 拒绝加好友的邀请。 |
getContactsFromLocal | 从数据库获取好友列表。 |
asyncGetSelfIdsOnOtherPlatform | 从服务器获取登录用户在其他设备上登录的 ID。 |
setContactListener | 注册联系人监听。 |
事件 | 描述 |
onContactAdded | 增加联系人时回调此方法。 |
onContactDeleted | 删除联系人时回调此方法。被删除的用户收到该回调。 |
onContactInvited | 收到好友邀请。 |
onFriendRequestAccepted | 同意好友请求。发送好友请求的用户收到该事件。 |
onFriendRequestDeclined | 拒绝好友请求。发送好友请求的用户收到该事件。 |
事件 | 描述 |
onInvitationReceived | 用户收到入群邀请的回调。 |
onRequestToJoinReceived | 用户申请入群回调。 |
onRequestToJoinAccepted | 接受入群申请回调。 |
onRequestToJoinDeclined | 拒绝入群申请回调。 |
onInvitationAccepted | 接受入群邀请回调。 |
onInvitationDeclined | 拒绝群组邀请回调。 |
onUserRemoved | 当前登录用户被移出群组回调。 |
onGroupDestroyed | 群组解散回调。 |
onAutoAcceptInvitationFromGroup | 自动同意入群申请回调。 |
onMuteListAdded | 有成员被禁言。 |
onMuteListRemoved | 有成员被解除禁言。 |
onWhiteListAdded | 将成员加入群组白名单回调。 |
onWhiteListRemoved | 将成员移出白名单回调。 |
onAllMemberMuteStateChanged | 全员禁言状态变化回调。 |
onAdminAdded | 成员被设置为管理员回调。 |
onAdminRemoved | 取消成员的管理员权限回调。 |
onOwnerChanged | 转移群主权限回调。 |
onMemberJoined | 新成员加入群组回调。 |
onMemberExited | 群组成员主动退出回调。 |
onAnnouncementChanged | 群公告更新回调。 |
onSharedFileAdded | 群组中添加共享文件的回调。 |
onSharedFileDeleted | 群组中删除共享文件回调。 |
onSpecificationChanged | 群组详情更新回调,需调用asyncGetGroupFromServer获取最新群组信息。 |
onStateChanged | 群组禁用或启动状态回调。 |
事件 | 描述 |
onChatRoomDestroyed | 聊天室被解散。 |
onMemberJoined | 有新成员加入聊天室。 |
onMemberExited | 有成员主动退出聊天室。 |
onRemovedFromChatRoom | 有成员被移出聊天室。 |
onMuteListAdded | 有成员被禁言。 |
onMuteListRemoved | 有成员从禁言列表中移除。 |
onWhiteListAdded | 有成员加入聊天室白名单。 |
onWhiteListRemoved | 有成员被移出聊天室白名单。 |
onAllMemberMuteStateChanged | 全员禁言状态有变更。 |
onAdminAdded | 有成员被设置为管理员。 |
onAdminRemoved | 有成员被移出管理员列表。 |
onOwnerChanged | 聊天室所有者变更。 |
onAnnouncementChanged | 聊天室公告有变更。 |
onSpecificationChanged | 聊天室信息有更新。 |
onAttributesUpdate | 聊天室自定义属性(key-value)有更新。 |
onAttributesRemoved | 聊天室自定义属性被移除。 |
方法名称 | 描述 |
publishPresence | 发布自定义在线状态。 |
subscribePresences | 订阅指定用户的在线状态。 |
unsubscribePresences | 取消订阅指定用户的在线状态。 |
fetchSubscribedMembers | 分页查询当前用户订阅了哪些用户的在线状态。 |
fetchPresenceStatus | 查询指定用户的当前在线状态。 |
addListener | 添加监听。 |
事件 | 描述 |
onPresenceUpdated | 被订阅的用户的在线状态发生更新。 |
方法名称 | 描述 |
createChatThread | 创建子区。 |
getChatThreadFromServer | 从服务器获取子区详情。 |
joinChatThread | 加入子区。 |
destroyChatThread | 解散子区。 |
leaveChatThread | 退出子区。 |
updateChatThreadName | 修改子区名称。 |
removeMemberFromChatThread | 移除子区成员。 |
getChatThreadMembers | 分页获取子区成员。 |
getJoinedChatThreadsFromServer | 分页从服务器获取当前用户加入的子区列表。 |
getJoinedChatThreadsFromServer | 分页从服务器获取当前用户加入指定群组的子区列表。 |
getChatThreadsFromServer | 分页从服务器端获取指定群组的子区列表。 |
getChatThreadLatestMessage | 从服务器批量获取指定子区中的最新一条消息。 |
addChatThreadChangeListener | 注册子区事件监听器,用于监听子区变化,如子区的创建和解散等。 |
removeChatThreadChangeListener | 移除子区事件监听器。 |
事件 | 描述 |
onChatThreadCreated | 子区创建回调。 |
onChatThreadUpdated | 子区更新回调。 |
onChatThreadDestroyed | 子区解散回调。 |
onChatThreadUserRemoved | 当前登录用户被群主或群管理员移出子区的回调。 |
方法名称 | 描述 |
getPushConfigs | 从缓存获取推送配置信息。 |
getPushConfigsFromServer | 从服务器获取推送配置信息。 |
asyncUpdatePushNickname | 更新当前用户的推送昵称。 |
setSilentModeForConversation | 设置会话的免打扰模式。 |
clearRemindTypeForConversation | 清除会话的离线推送提醒类型设置。 |
getSilentModeForConversation | 获取会话的免打扰设置。 |
setSilentModeForAll | 设置当前登录用户的免打扰设置。 |
getSilentModeForAll | 获取当前登录用户的免打扰设置。 |
getSilentModeForConversations | 批量获取指定会话的免打扰设置。 |
bindDeviceToken | 将设备 token 绑定到服务器。 |
方法名称 | 描述 |
updateOwnInfo | 修改当前用户的信息。 |
updateOwnInfoByAttribute | 修改当前用户的属性。 |
fetchUserInfoByUserId | 根据用户 ID 获取用户信息。 |
fetchUserInfoByAttribute | 根据用户 ID 和用户属性获取用户信息。 |