API 概览

大约 13 分钟

API 概览

即时通讯 IM 是一个高度可靠的全球通信平台,用户可以进行一对一单聊、群组聊天或聊天室聊天。用户可以通过发送文本消息、分享图片、音频、视频、文件、表情符号和位置进行沟通。

  • ChatClient 类是聊天 SDK 的入口,提供登录和登出即时通讯 IM 的方法,并管理 SDK 与聊天服务器之间的连接。
  • ChatManager 类提供发送和接收消息、管理会话(包括加载和删除会话)以及下载附件的方法。
  • ChatMessage 类定义消息的属性。
  • ChatConversation 类提供管理会话的方法。
  • ChatContactManager 类提供管理聊天联系人(如添加、获取、修改和删除联系人)的方法。
  • ChatGroupManager 类提供群组管理的方法,如群组创建和解散以及成员管理。
  • ChatRoomManager 类提供聊天室管理的方法,如加入和离开聊天室、获取聊天室列表,以及管理成员权限。
  • ChatPresenceManager 类提供管理用户在线状态订阅的方法。
  • ChatThreadManager 类提供了管理子区的方法,包括创建、解散子区以及成员管理。
  • ChatPushManager 类提供了配置离线推送服务的方法。
  • ChatUserInfoManager 类提供了管理用户属性的方法,包括获取和更新用户属性。

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

连接与初始化

ChatClient 类提供登录和登出即时通讯 IM 的方法和事件,并管理 SDK 与聊天服务器之间的连接。

方法描述
init初始化 SDK。
loginWithToken使用用户 ID 和 token 登录聊天服务器。
renewToken更新 token。
logout退出登录账号。
currentUserId获取当前登录用户的用户 ID。
isConnected检查 SDK 是否已连接到聊天服务器。
isLoginBefore检查用户是否已登录聊天应用。
addConnectionEventHandler添加监听。
removeConnectionEventHandler移除监听。
groupManager获取 ChatGroupManager 类。
pushManager获取 ChatPushManager 类。
chatRoomManager获取 ChatRoomManager 类。
chatManager获取 ChatManager 类。
userInfoManager获取 ChatUserInfoManager 类。
contactManager获取 ChatContactManager 类。
presenceManager获取 ChatPresenceManager 类。
chatThreadManager获取 ChatThreadManager 类。
事件描述
onConnected成功连接到 IM 服务器时触发的回调。
onDisconnected与 IM 服务器断开连接时触发的回调。
onOfflineMessageSyncStart开始从服务器拉取离线消息时触发。
onOfflineMessageSyncFinish从服务器拉取离线消息结束时触发。
onTokenDidExpiretoken 已过期时触发。
onTokenWillExpiretoken 即将过期时触发。
onUserAuthenticationFailed鉴权失败回调。
onUserDidChangePassword用户密码变更回调。
onUserDidLoginFromOtherDevice其他设备登录回调。
onUserDidLoginTooManyDevice登录设备过多回调。
onUserDidRemoveFromServer当前用户被服务器移除回调。
onUserKickedByOtherDevice被其他设备踢掉回调。

发送消息

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

  • ChatMessageEvent 类提供消息状态事件,包括消息发送或下载成功和失败以及上传或下载进度。

  • ChatEventHandler 类用于监听收消息,已读回执等事件。

方法描述
sendMessage发送消息。
sendConversationReadAck向服务器发送会话已读回执。
sendMessageReadAck向服务器发送会话已读回执。
sendGroupMessageReadAck向服务器发送群消息的已读回执。
getConversation根据会话 ID 获取会话对象。
importMessages将消息导入内存和本地数据库。
updateMessage更新本地消息。
downloadAttachment下载消息附件。
downloadThumbnail下载消息缩略图。
loadAllConversations获取所有本地会话。
fetchConversationsByOptions从服务器获取会话列表。
deleteAllMessageAndConversation从本地数据库中删除会话及其本地消息。
deleteRemoteConversation从服务器删除指定会话及其历史消息。
fetchGroupAcks从服务器分页获取群消息的已读回执。
searchMsgsByOptions从本地数据库中检索特定类型的消息。
deleteMessagesBefore根据时间删除本地消息。
reportMessage举报不当消息。
fetchSupportedLanguages查询翻译服务支持的语言。
translateMessage翻译文本消息。
addReaction添加 Reaction。
removeReaction删除 Reaction。
fetchReactionList获取 Reaction 列表。
fetchReactionDetail获取 Reaction 详情。
pinMessage置顶消息。
unpinMessage取消置顶消息。
modifyMessage修改消息。
fetchHistoryMessagesByOption从服务器拉取历史消息。
addEventHandler添加监听器。
removeEventHandler移除监听器。
事件描述
onMessagesReceived当收到消息时触发。
onCmdMessagesReceived当收到透传消息时触发。
onMessagesRead当收到消息的已读回执时触发。
onGroupMessageRead当收到群消息的已读回执时触发。
onReadAckForGroupMessageUpdated当收到群消息已读状态更新时触发。
onMessagesDelivered当收到送达回执时触发。
onMessagesRecalledInfo当收到的消息被撤回时触发。
onMessageReactionDidChange当消息 Reaction 发生变化时触发。
onConversationsUpdate当会话列表更新时触发。
onConversationRead当收到会话已读回执时触发。
onMessagePinChanged当消息置顶状态发生变更时触发。
onMessageContentChanged当消息内容变更时触发。

消息与会话

  • ChatMessage 类定义消息的属性。
  • ChatConversation 类提供管理会话的方法。
方法描述
Conversation.id获取会话 ID。
Conversation.unreadCount获取会话中的未读消息数量。
Conversation.markAllMessagesAsRead将所有未读消息标记为已读。
Conversation.getLocalMessageCount获取本地数据库中会话的所有消息数量。
Conversation.isChatThread检查当前会话是否为子区会话。
Conversation.loadMessages从本地数据库加载消息,从特定消息 ID 开始。
Conversation.markMessageAsRead将特定消息标记为已读。
Conversation.deleteMessage在本地数据库中删除特定消息。
Conversation.latestMessage获取会话中的最新消息。
Conversation.lastReceivedMessage获取会话中的最新接收消息。
Conversation.deleteAllMessages删除会话中的所有消息。
Conversation.setExt设置会话的扩展字段。
Conversation.ext获取会话的扩展字段。
Conversation.insertMessage在本地数据库中向会话插入消息。
Conversation.appendMessage在本地数据库中将消息插入到会话的末尾。
Conversation.updateMessage更新本地数据库中的消息。
Message.status消息发送或接收状态。
Message.chatType获取聊天消息类型。
Message.body消息正文。
Message.serverTime服务器接收消息时的 Unix 时间戳。
Message.localTime消息的本地时间戳。
Message.isChatThreadMessage消息是否为子区消息。
Message.chatThread获取子区的概述。
Message.from获取消息发送者的用户 ID。
Message.to消息接收者的用户 ID。
Message.msgId消息ID。
Message.attributes消息的扩展属性,类型为字典。
Message.hasRead消息是否已读。
Message.hasReadAck消息是否已成功送达。
Message.direction消息的收发方向。
Message.conversationId获取会话 ID。
Message.reactionList获取 Reaction 列表。
Message.onlineState是否在线消息。
Message.pinInfo消息的置顶操作信息。

联系人

  • ChatContactManager 类提供管理聊天联系人(如添加、获取、修改和删除联系人)的方法。
  • ChatContactEventHandler 类提供联系人事件监听。
方法描述
fetchAllContacts从服务器获取所有联系人。
addUserToBlockList将用户添加到黑名单。
removeUserFromBlockList从黑名单中移除联系人。
getBlockIds获取本地黑名单。
fetchBlockIds从服务器获取黑名单。
acceptInvitation接受好友邀请。
declineInvitation拒绝好友邀请。
getAllContacts从本地数据库获取联系人列表。
getSelfIdsOnOtherPlatform获取登录用户在其他登录设备上唯一 ID
addEventHandler添加联系人变更监听。
removeEventHandler删除联系人变更监听。
事件描述
onContactAdded当用户被其他用户添加为联系人时触发。
onContactDeleted当用户被其他用户从联系人列表中移除时触发。
onContactInvited当用户收到好友请求时触发。
onFriendRequestAccepted当好友请求被批准时触发。
onFriendRequestDeclined当好友请求被拒绝时触发。

群组

  • ChatGroupManager 类提供群组管理的方法,如群组创建和解散以及成员管理。
  • ChatGroupEventHandler类提供群组管理事件监听。
方法描述
createGroup创建群组。
destroyGroup销毁群组。
leaveGroup离开群组。
joinPublicGroup加入一个公共群组。
addMembers将用户添加到群组中。
removeMembers从群组中移除成员。
fetchGroupInfoFromServer从服务器获取群组信息。
fetchJoinedGroupsFromServer从服务器分页获取当前用户的所有群组。
fetchPublicGroupsFromServer从服务器分页获取公开群组。
changeGroupName更改群组名称。
changeGroupDescription更改群组描述。
acceptInvitation接受群组邀请。
declineInvitation拒绝群组邀请。
acceptJoinApplication批准群组请求。
declineJoinApplication拒绝群组请求。
requestToJoinPublicGroup请求加入公共群组。
blockGroup阻止群组消息。
unblockGroup取消阻止群组消息。
blockMembers将用户添加到群组黑名单。
unblockMembers从群组黑名单中移除用户。
fetchBlockListFromServer获取群组黑名单(带分页)。
fetchMemberListFromServer获取群组成员列表(带分页)。
changeOwner转移群组所有权。
addAdmin添加群组管理员。
removeAdmin移除群组管理员。
muteMembers禁言群组成员。
unMuteMembers取消禁言群组成员。
fetchMuteListFromServer从服务器获取群组禁言列表。
fetchBlockListFromServer从服务器获取群组黑名单(带分页)。
addAllowList将成员添加到白名单列表。
removeAllowList从白名单列表中移除成员。
fetchAllowListFromServer从服务器获取群组白名单列表。
updateGroupAnnouncement更新群组公告。
fetchAnnouncementFromServer从服务器获取群组公告。
uploadGroupSharedFile上传群组共享文件。
fetchGroupFileListFromServer从服务器获取共享文件列表。
removeGroupSharedFile移除群组共享文件。
downloadGroupSharedFile下载群组共享文件。
getJoinedGroups获取当前用户的所有群组(从缓存中)。
addEventHandler添加监听器。
removeEventHandler移除监听器。
事件描述
onInvitationReceivedFromGroup当用户收到群组邀请时触发。
onRequestToJoinReceivedFromGroup当群组所有者或管理员收到用户的加入请求时触发。
onRequestToJoinAcceptedFromGroup当群组请求被接受时触发。
onRequestToJoinDeclinedFromGroup当群组请求被拒绝时触发。
onInvitationAcceptedFromGroup当群组邀请被接受时触发。
onInvitationDeclinedFromGroup当群组邀请被拒绝时触发。
onAutoAcceptInvitationFromGroup当群组邀请自动接受时触发。
onAdminRemovedFromGroup当前用户被群组管理员移除时触发。
onMuteListAddedFromGroup当一个或多个群组成员被禁言时触发。
onMuteListRemovedFromGroup当一个或多个群组成员被取消禁言时触发。
onAllowListAddedFromGroup当一个或多个群组成员被添加到白名单列表时触发。
onAllowListRemovedFromGroup当一个或多个成员从白名单列表中移除时触发。
onAllGroupMemberMuteStateChanged当所有群组成员被禁言或取消禁言时触发。
onAdminAddedFromGroup当某个成员被设置为管理员时触发。
onAdminRemovedFromGroup当某个成员的管理员权限被移除时触发。
onOwnerChangedFromGroup当群组所有权被转移时触发。
onMemberJoinedFromGroup当某个成员加入群组时触发。
onMemberExitedFromGroup当某个成员主动离开群组时触发。
onAnnouncementChangedFromGroup当公告被更新时触发。
onSharedFileAddedFromGroup当共享文件被添加到群组时触发。
onSharedFileDeletedFromGroup当共享文件从群组中移除时触发。
onSpecificationDidUpdate当群组详细信息被更新时触发。
onDisableChanged当群组被启用或禁用时触发。

聊天室

  • ChatRoomManager 类提供聊天室管理的方法,如加入和离开聊天室、获取聊天室列表,以及管理成员权限。
  • ChatRoomEventHandler 类提供聊天室事件监听。
方法描述
createChatRoom创建聊天室。
destroyChatRoom销毁聊天室。
joinChatRoom加入聊天室。
leaveChatRoom退出聊天室。
fetchPublicChatRoomsFromServer从服务器获取聊天室数据,支持分页。
fetchChatRoomInfoFromServer从服务器获取聊天室的详细信息。
changeChatRoomName修改聊天室名称。
changeChatRoomDescription修改聊天室描述。
fetchChatRoomMembers获取聊天室成员列表。
muteChatRoomMembers在聊天室中禁言成员。
unMuteChatRoomMembers在聊天室中取消禁言成员。
addChatRoomAdmin添加聊天室管理员。
removeChatRoomAdmin移除聊天室管理员的管理权限。
fetchChatRoomMuteList从服务器获取禁言聊天室成员列表。
removeChatRoomMembers从聊天室中移除成员。
blockChatRoomMembers将成员添加到聊天室的黑名单中。
unBlockChatRoomMembers从聊天室的黑名单中移除成员。
fetchChatRoomBlockList获取聊天室黑名单,支持分页。
addMembersToChatRoomAllowList将成员添加到聊天室的白名单中。
removeMembersFromChatRoomAllowList从聊天室的白名单中移除成员。
fetchChatRoomAllowListFromServer从服务器获取聊天室的白名单。
muteAllChatRoomMembers禁言所有成员。
unMuteAllChatRoomMembers取消禁言所有成员。
updateChatRoomAnnouncement更新聊天室公告。
fetchChatRoomAnnouncement从服务器获取聊天室公告。
addAttributes添加自定义聊天室属性。
removeAttributes设置自定义聊天室属性。
fetchChatRoomAttributes根据属性键列表获取聊天室的自定义属性列表。
addEventHandler添加监听器。
removeEventHandler移除监听器。
事件描述
onRemovedFromChatRoom当前用户被移出聊天室时触发。
onMemberJoinedFromChatRoom当其他成员加入聊天室时触发。
onMemberExitedFromChatRoom当其他成员退出聊天室时触发。
onMuteListAddedFromChatRoom当聊天室成员被添加到禁言列表时触发。
onMuteListRemovedFromChatRoom当聊天室成员从禁言列表中移除时触发。
onAllowListAddedFromChatRoom当聊天室成员被添加到白名单时触发。
onAllowListRemovedFromChatRoom当聊天室成员从白名单中移除时触发。
onAllChatRoomMemberMuteStateChanged当聊天室中的全员禁言状态变更时触发。
onAdminAddedFromChatRoom当聊天室成员被设置为管理员时触发。
onAdminRemovedFromChatRoom当聊天室成员从管理员列表中移除时触发。
onOwnerChangedFromChatRoom当聊天室的拥有者更改时触发。
onAnnouncementChangedFromChatRoom当聊天室公告更改时触发。
onSpecificationChanged当聊天室详情更改时触发。
onAttributesUpdated当自定义聊天室属性更新时触发。
onAttributesRemoved当自定义聊天室属性被移除时触发。

用户在线状态订阅

  • ChatPresenceManager 类提供管理用户在线状态订阅的方法。
  • ChatPresenceEventHandler 类提供订阅用户状态变更监听。
方法描述
publishPresence发布自定义的在线状态。
subscribe订阅用户的在线状态。
unsubscribe取消订阅用户的在线状态。
fetchSubscribedMembers使用分页获取已订阅的用户的列表。
fetchPresenceStatus获取用户的当前在线状态。
addEventHandler添加监听器。
removeEventHandler移除监听器。
事件描述
onPresenceStatusChanged当订阅的用户的在线状态更新时触发。

子区

  • ChatThreadManager 类提供了管理子区的方法,包括创建、解散子区以及成员管理。
  • ChatThreadEvent 类提供子区事件监听。
方法描述
createChatThread创建子区。
joinChatThread加入子区。
destroyChatThread销毁子区。
leaveChatThread离开子区。
fetchChatThread从服务器获取子区的详细信息。
updateChatThreadName更改子区的名称。
removeMemberFromChatThread从子区中移除成员。
fetchChatThreadMembers分页获取子区中的成员列表。
fetchJoinedChatThreads分页获取当前用户已加入的子区列表。
fetchJoinedChatThreadsWithParentId分页获取当前用户在指定组中已加入的子区列表。
fetchChatThreadsWithParentId分页获取指定组中的子区列表。
fetchLatestMessageWithChatThreads从服务器获取指定子区的最后一条回复。
addEventHandler添加监听器。
removeEventHandler移除监听器。
事件描述
onChatThreadCreate当子区被创建时触发。
onChatThreadUpdate当子区被更新时触发。
onChatThreadDestroy当子区被销毁时触发。
onUserKickOutOfChatThread当当前用户被群主或群管理员从子区中移除时触发。

离线推送

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

方法描述
fetchPushConfigsFromServer从服务器获取推送配置。
updatePushNickname更新当前用户的推送显示昵称。
setConversationSilentMode修改会话的免打扰设置。
removeConversationSilentMode清除会话的离线推送通知类型设置。
fetchConversationSilentMode获取会话的免打扰设置。
setSilentModeForAll设置当前登录用户的免打扰设置。
fetchSilentModeForAll获取当前登录用户的免打扰设置。
fetchSilentModeForConversations批量获取指定会话的免打扰设置。
bindDeviceToken绑定 APNs Token。

用户属性

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

方法描述
fetchOwnInfo获取当前用户的用户属性
updateUserInfo修改当前用户的用户属性。
fetchUserInfoById根据用户 ID 获取用户属性。
上次编辑于: