API 概览

大约 12 分钟

API 概览

即时通讯 IM 服务是一个高度可靠的全球通信平台,支持丰富的消息类型,包括文本、图片、语音、视频、文件、位置、透传以及自定义消息,可使你的用户很方便地进行单聊、群聊或聊天室聊天。

即时通讯 IM 服务提供以下类:

  • ChatClient 类是即时通讯 IM SDK 的入口,提供各种方法实现即时通讯应用程序的登录和退出登录以及管理 SDK 和 IM 服务器之间的连接。
  • ChatManager 类提供各种方法实现发送和接收消息、管理会话(包括加载和删除会话)以及下载附件。
  • ChatMessage 类定义消息属性。
  • Conversation 类提供会话管理方法。
  • ContactManager 类提供聊天联系人管理方法,例如添加、获取、修改和删除联系人。
  • GroupManager 类提供群组管理方法,例如群组创建和解散以及成员管理。
  • ChatroomManager 类提供聊天室管理方法,如加入和离开聊天室、获取聊天室列表,以及管理聊天室成员权限。
  • UserInfoManager 类提供用户属性管理的方法,包括获取和修改用户属性。
  • ChatPresenceManager 类提供管理用户在线状态订阅的方法。
  • ChatPushManager 类提供了配置离线推送服务的方法。

在方法调用过程中,SDK 可能会返回错误码。详见 ChatError 错误码。

如欲了解各类中的方法和参数详情,请点击这里open in new window

聊天客户端

ChatClient 类是即时通讯 IM SDK 的入口,提供各种方法实现即时通讯应用程序的登录和退出登录以及管理 SDK 和 IM 服务器之间的连接。

方法描述
init初始化 SDK。
loginWithToken通过用户 ID 和 token 登录 IM 服务器。
renewToken更新 token。
logout登出 IM 服务器。
getCurrentUser获取当前登录用户的用户 ID。
isAutoLogin判断当前是否是自动登录状态。
isLoggedIn检查用户是否登录 IM 服务。
isSdkInited检查 SDK 是否已初始化完毕。
addConnectionListener设置连接状态监听器。
groupManager获取群组管理类。
chatroomManager获取聊天室管理类。
chatManager获取聊天管理类。
userInfoManager获取用户信息管理类。
contactManager获取联系人管理类。
事件描述
onConnected成功连接到 IM 服务器时触发。
onDisconnectedSDK 与 IM 服务器断开连接时触发。
onTokenExpiredtoken 已过期时触发。
onTokenWillExpiretoken 即将过期时触发。
onLogout用户被强制登出 SDK 时触发的回调。
onOfflineMessageSyncStartSDK 开始拉取离线消息时触发。
onOfflineMessageSyncFinishSDK 拉取离线消息结束时触发。

聊天管理器

ChatManager 类提供各种方法实现发送和接收消息、管理会话(包括加载和删除会话)以及下载附件。

方法描述
sendMessage发送消息。
ackConversationRead发送会话的已读回执。
ackMessageRead发送消息的已读回执。
ackGroupMessageRead发送群消息已读回执。
getConversation根据会话 ID 以及会话类型获取会话。
markAllConversationsAsRead将所有会话都设成已读。
saveMessage保存消息到本地数据库。
updateMessage更新本地消息。
downloadAttachment下载消息的附件。
downloadThumbnail下载消息的缩略图。
importMessages将消息导入本地数据库。
getConversations获取本地当前所有会话。
fetchConversationsFromServer分页从服务器获取获取会话列表。
deleteConversation删除指定会话及其本地历史消息。
deleteConversationFromServer删除服务端的指定会话及其历史消息。
fetchGroupReadAcks从服务器分页获取群组消息已读回执详情。
searchMessagesFromDB从本地数据库获取指定会话的一定数量的特定类型的消息。
addReaction给指定消息添加 Reaction。
removeReaction删除指定消息的 Reaction。
fetchReactions获取 Reaction 列表。
fetchReactionDetail获取 Reaction 详细信息。
addMessageListener注册消息监听器。
addConversationListener注册会话监听器。
事件描述
onMessageReceived收到消息。
onCmdMessageReceived收到命令消息。
onMessageRead收到消息的已读回执。
onGroupMessageRead收到群组消息的已读回执。
onReadAckForGroupMessageUpdated收到群组消息的读取状态更新。
onMessageDelivered收到消息的送达回执。
onMessageRecalled撤回收到的消息。
onReactionChanged消息的 Reaction 发生变更。
onConversationUpdate会话发生更新。
onConversationRead收到会话已读回执。

消息

  • Conversation 类提供会话管理方法。
  • ChatMessage 类定义消息属性。
方法描述
conversationId会话 ID,取决于会话类型。
markAllMessagesAsRead将所有未读消息设置为已读。
getAllMsgCount获取 SDK 本地数据库中会话的全部消息的数量。
loadMoreMessagesFromDB从 SDK 本地数据库中分页加载消息。
getMessage根据消息 ID 获取指定的消息。
markMessageAsRead设置指定消息为已读。
removeMessage删除本地数据库中的一条指定消息。
getLatestMessage获取会话中的最新一条消息。
getLatestMessageFromOthers获取会话中收到的最新一条消息。
clearAllMessages清除数据库中指定会话中的所有消息。
setExtField设置会话的扩展字段。
getExtField获取会话的扩展字段。
insertMessage在本地数据库的会话中插入一条消息。
appendMessage在本地数据库中会话的尾部插入一条消息。
updateMessage更新本地数据库的指定消息。
getStatus获取消息的发送/接收状态。
setStatus设置消息发送或接收的状态。
getType获取消息类型。
getBody获取消息体。
getServerTimestamp获取消息的服务器时间戳。
getLocalTimestamp获取消息的本地时间戳。
createSendMessage创建一条发送消息。
createReceiveMessage创建一条接收消息。
createTextSendMessage创建一条文本发送消息。
createVoiceSendMessage创建一条语音发送消息。
createImageSendMessage创建一条图片发送消息。
createVideoSendMessage创建一条视频发送消息。
createLocationSendMessage创建一条位置发送消息。
createFileSendMessage创建一条普通文件发送消息。
createCombinedSendMessage创建一个合并转发消息的发送消息。
setBody设置消息体。
getFrom获取消息发送方的用户 ID。
setFrom设置消息发送方的用户 ID。
getRecaller获取消息撤回者的用户 ID。
setTo设置消息接收方的用户 ID。
getTo获取消息接收方的用户名。
getMsgId获取消息的 ID。
setMsgId设置本地消息 ID。
setMessageStatusCallback设置消息状态变化的回调。
getChatType获取聊天类型。
setChatType设置聊天类型。
isReceiverRead获取对方是否已读。
isDelivered获取消息是否成功送达。
isUnread检查消息是否未读。
setUnread设置消息是否未读。
isListened获取语音消息是否已听。
setIsListened设置语音消息是否已听。
getDirection获取消息方向。
setDirection设置消息方向。
ext获取消息包含的全部扩展字段。
getMessageReaction获取 Reaction 列表。
isOnlineState是否为在线消息,即消息发送时接收方是否在线。
setPriority设置聊天室消息优先级。
事件描述
onSuccess方法成功执行的回调。
onError发生错误时的回调,详见 ChatError
onProgress进度更新的回调。

群组

GroupManager 类提供群组管理方法,例如群组创建和解散以及成员管理。

方法描述
createGroup创建群组。
destroyGroup解散群组。
leaveGroup当前登录用户退出群组。
joinGroup当前登录用户加入公开群。
addUsersToGroup向群组中添加新成员。
removeUsersFromGroup从群组中删除成员。
fetchGroupFromServer从服务器获取群组的详细信息。
fetchJoinedGroupsFromServer以分页方式从服务器获取当前用户已加入的群组。
fetchJoinedGroupsCount从服务器获取当前用户已加入的群组数量。
fetchPublicGroupsFromServer以分页方式从服务器获取公开群组。
changeGroupName修改群组名称。
changeGroupDescription修改群描述。
acceptInvitation接受入群邀请。
declineInvitation拒绝入群邀请。
acceptApplication批准入群申请。
declineApplication拒绝入群申请。
inviteUsers群成员邀请用户入群。
applyJoinToGroup申请加入群组。
blockGroupMessage屏蔽群消息。
unblockGroupMessage取消屏蔽群消息。
blockUsers将用户加入群组黑名单。
unblockUsers将用户从群组黑名单中移除。
fetchGroupBlocklist以分页方式获取群组的黑名单。
fetchGroupMembers以分页方式获取群组成员列表。
changeOwner移交群组所有权。
addGroupAdmin添加群组管理员。
removeGroupAdmin删除群组管理员。
muteGroupMembers将一组成员禁言。
unmuteGroupMembers解除对一组成员的禁言。
muteAllMembers将群组全员禁言。
unmuteAllMembers解除对群组全员的禁言。
fetchGroupMutelist获取群组的禁言列表。
addToGroupWhitelist将群成员添加至群组白名单。
removeFromGroupWhitelist将群成员移出白名单。
fetchGroupWhitelist获取群组白名单列表。
updateGroupAnnouncement更新群公告。
fetchGroupAnnouncement从服务器获取群公告。
uploadGroupSharedFile上传共享文件至群组。
fetchGroupSharedFileList从服务器获取群共享文件列表。
deleteGroupSharedFile删除群组中指定的共享文件。
downloadGroupSharedFile下载群组中指定的共享文件。
setMemberAttributes设置单个群成员的自定义属性。
fetchMemberAttributes获取单个群成员所有自定义属性。
fetchMembersAttributes根据指定的属性 key 获取多个群成员的自定义属性。
getAllGroups从内存中获取当前用户的所有群组。
getGroup根据群组 ID,从内存中获得群组对象。
addListener注册群组变动事件监听。
事件描述
onInvitationReceived用户收到入群邀请的回调。
onRequestToJoinReceived用户申请入群回调。
onRequestToJoinAccepted接受入群申请回调。
onRequestToJoinDeclined拒绝入群申请回调。
onInvitationAccepted接受入群邀请回调。
onInvitationDeclined拒绝群组邀请回调。
onUserRemoved当前登录用户被移出群组回调。
onGroupDestroyed群组解散回调。
onAutoAcceptInvitationFromGroup自动同意入群申请回调。
onMutelistAdded有成员被禁言。
onMutelistRemoved有成员被解除禁言。
onWhitelistAdded将成员加入群组白名单回调。
onWhitelistRemoved将成员移出白名单回调。
onAllMemberMuteStateChanged全员禁言状态变化回调。
onAdminAdded成员被设置为管理员回调。
onAdminRemoved取消成员的管理员权限回调。
onOwnerChanged转移群主权限回调。
onMemberJoined新成员加入群组回调。
onMemberExited群组成员主动退出回调。
onAnnouncementChanged群公告更新回调。
onSharedFileAdded群组中添加共享文件的回调。
onSharedFileDeleted群组中删除共享文件回调。
onSpecificationChanged群组详情更新回调,需调用 fetchGroupFromServer 获取最新群组信息。
onStateChanged群组禁用或启动状态回调。
onGroupMemberAttributeChanged群组成员自定义属性变化的回调。

聊天室

ChatroomManager 类提供聊天室管理方法,如加入和离开聊天室、获取聊天室列表,以及管理聊天室成员权限。

方法描述
joinChatroom加入聊天室。
leaveChatroom退出聊天室。
fetchPublicChatroomsFromServer以分页的方式从服务器获取聊天室数据。
changeChatroomName修改聊天室名称。
changeChatroomDescription修改聊天室描述信息。
fetchChatroomMembers获取聊天室成员列表。
muteChatroomMembers将一组聊天室成员禁言。
unmuteChatroomMembers解除禁言。
addChatroomAdmin添加聊天室管理员。
removeChatroomAdmin移除聊天室管理员权限。
fetchChatroomMutes获取聊天室禁言列表。
removeChatroomMembers将成员移出聊天室。
blockChatroomMembers将成员添加到聊天室黑名单。
unblockChatroomMembers从聊天室黑名单中移除成员。
fetchChatroomBlocklist以分页的形式获取聊天室黑名单列表。
addToChatroomWhitelist将成员添加到聊天室白名单。
removeFromChatroomWhitelist将成员从聊天室白名单移除。
fetchChatroomWhitelist从服务器获取聊天室白名单列表。
muteAllMembers设置聊天室全员禁言。
unmuteAllMembers解除聊天室全员的禁言状态。
changeChatroomAnnouncement更新聊天室公告。
fetchChatroomAnnouncement从服务器获取聊天室公告内容。
fetchChatroomAttributes获取聊天室属性。
setChatroomAttributes设置聊天室自定义属性。
removeChatroomAttributes删除聊天室指定自定义属性。
addListener注册聊天室事件监听对象。
事件描述
onMemberJoined有新成员加入聊天室。
onMemberExited有成员主动退出聊天室。
onRemovedFromChatroom有成员被移出聊天室。
onMutelistAdded有成员被禁言。
onMutelistRemoved有成员从禁言列表中移除。
onWhitelistAdded有成员加入聊天室白名单。
onWhitelistRemoved有成员被移出聊天室白名单。
onAllMemberMuteStateChanged全员禁言状态有变更。
onAdminAdded有成员被设置为管理员。
onAdminRemoved有成员被移出管理员列表。
onOwnerChanged聊天室所有者变更。
onAnnouncementChanged聊天室公告有变更。
onSpecificationChanged聊天室信息有更新。
onAttributesUpdate聊天室自定义属性有更新。
onAttributesRemoved聊天室自定义属性被移除。

联系人

ContactManager 类提供聊天联系人管理方法,例如添加、获取、修改和删除联系人。

方法描述
addContact添加联系人。
deleteContact删除好友。
fetchAllContactsFromServer从服务器获取所有的好友。
addUsersToBlocklist把指定用户加入到黑名单中。
getBlockListFromServer从服务器获取黑名单列表。
acceptInvitation接受加好友的邀请。
declineInvitation拒绝加好友的邀请。
getContactsFromLocal从数据库获取好友列表。
getSelfIdsOnOtherPlatform从服务器获取登录用户在其他设备上登录的 ID。
addContactListener注册联系人监听。
事件描述
onContactAdded增加联系人时回调此方法。
onContactDeleted删除联系人时回调此方法。被删除的用户收到该回调。
onContactInvited收到好友邀请。
onFriendRequestAccepted同意好友请求。发送好友请求的用户收到该事件。
onFriendRequestDeclined拒绝好友请求。发送好友请求的用户收到该事件。

用户属性

UserInfoManager 类提供用户属性管理的方法,包括获取和修改用户属性。

方法描述
updateUserInfo修改当前用户的信息。
fetchUserInfoById根据用户 ID 获取用户信息。

用户在线状态

ChatPresenceManager 类提供管理用户在线状态订阅的方法。

方法描述
publishPresence发布自定义在线状态。
subscribePresences订阅指定用户的在线状态。
unsubscribePresences取消订阅指定用户的在线状态。
fetchSubscribedMembers分页查询当前用户订阅了哪些用户的在线状态。
fetchPresenceStatus查询指定用户的当前在线状态。
addListener添加监听。
事件描述
onPresenceUpdated被订阅的用户的在线状态发生更新。

离线推送

ChatPushManager 类提供了配置离线推送服务的方法。

方法描述
updatePushNickname更新当前用户的推送昵称。
updatePushDisplayStyle更新推送消息样式。
setSilentModeForConversation设置会话的免打扰模式。
clearRemindTypeForConversation清除会话的离线推送提醒类型设置。
getSilentModeForConversation获取会话的免打扰设置。
setSilentModeForAll设置当前登录用户的免打扰设置。
getSilentModeForAll获取当前登录用户的免打扰设置。
getSilentModeForConversations批量获取指定会话的免打扰设置。
syncConversationsSilentModeFromServer和服务端同步会话免打扰状态。
上次编辑于: