Flutter 集成文档
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 | 从服务器拉取离线消息结束时触发。 |
onTokenDidExpire | token 已过期时触发。 |
onTokenWillExpire | token 即将过期时触发。 |
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 获取用户属性。 |