ShengwangChatSDK 1.3.2
ShengwangChatSDK

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

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

Chat Client

方法 描述
initializeSDKWithOptions: 初始化SDK。
loginWithUsername:token:completion: 使用用户ID和token登录聊天服务器。
renewToken: 更新token。
logout:completion: 退出登录账号。
currentUsername 获取当前登录用户的用户ID。
isConnected 检查SDK是否已连接到聊天服务器。
isLoggedIn 检查用户是否已登录聊天应用。
addDelegate: 添加代理。
addLogDelegate:delegateQueue: 添加SDK的日志回调代理。
groupManager 获取GroupManager类。
pushManager 获取PushManager类。
roomManager 获取RoomManager类。
chatManager 获取ChatManager类。
userInfoManager 获取UserInfoManager类。
contactManager 获取ContactManager类。
presenceManager 获取presenceManager类。
threadManager 获取ChatThreadManager类。
事件 描述
connectionStateDidChange: 当SDK连接状态发生变化时触发。
tokenDidExpire: 当token过期时触发。
tokenWillExpire: 当token即将过期时触发。
autoLoginDidCompleteWithError: 当SDK自动登录成功或失败时触发。
logDidOutput: 当有日志输出时触发。
onOfflineMessageSyncStart 开始从服务器拉取离线消息时触发。
onOfflineMessageSyncFinish 从服务器拉取离线消息结束时触发。

Chat manager

方法 描述
sendMessage:progress:completion: 发送消息。
ackConversationRead:completion: 向服务器发送会话已读回执。
sendMessageReadAck:toUser:completion: 向服务器发送消息已读回执。
sendGroupMessageReadAck:toGroup:content:completion: 向服务器发送群消息的已读回执。
getConversation:type:createIfNotExist: 根据会话ID获取会话对象。
importMessages:completion: 将消息导入内存和本地数据库。
updateMessage:completion: 更新本地消息。
downloadMessageAttachment:progress:completion: 下载消息附件。
downloadMessageThumbnail:progress:completion: 下载消息缩略图。
getAllConversations 获取所有本地会话。
getConversationsFromServer: 从服务器获取会话列表。
getConversationsFromServerByPage 从服务器分页获取会话列表。
deleteConversations:isDeleteMessages:completion: 从本地数据库中删除会话及其本地消息。
deleteServerConversation 从服务器删除指定会话及其历史消息。
fetchGroupReadAcks 从服务器分页获取群消息的已读回执。
loadMessages 从本地数据库中检索特定类型的消息。
deleteMessagesBeforeTimestamp 删除时间戳在指定时间之前的本地历史消息。
reportMessageWithId:tag:reason:completion: 举报不当消息。
fetchSupportedLanguages: 获取翻译服务支持的所有语言。
translateMessage:targetLanguages:completion: 翻译文本消息。
addReaction:toMessage:completion: 添加Reaction。
removeReaction:fromMessage:completion: 删除Reaction。
getReactionList 获取Reaction列表。
getReactionDetail 获取Reaction详情。
addDelegate 添加消息监听器。
pinMessage 置顶消息。
unpinMessage 取消置顶消息。
modifyMessage 修改消息。
fetchMessagesFromServer 从服务器拉取历史消息。
事件 描述
messagesDidReceive: 当收到消息时触发。
cmdMessagesDidReceive: 当收到cmd消息时触发。
messagesDidRead: 当收到消息的已读回执时触发。
groupMessageDidRead:groupAcks: 当收到群消息的已读回执时触发。
groupMessageAckHasChanged 当收到群消息已读状态更新时触发。
messagesDidDeliver: 当收到送达回执时触发。
messagesInfoDidRecall: 当收到的消息被撤回时触发。
messageStatusDidChange 当收到消息状态变更通知时触发,包括消息ID的变更。
messageReactionDidChange: 当消息Reaction发生变化时触发。
conversationListDidUpdate: 当会话列表更新时触发。
onConversationRead:to: 当收到会话已读回执时触发。
onMessagePinChanged 当消息置顶状态发生变更时触发。
onMessageContentChanged 当消息内容变更时触发。

Messages

方法 描述
conversationId 获取会话ID,具体取决于会话类型。
unreadMessagesCount 获取会话中的未读消息数量。
markAllMessagesAsRead: 将所有未读消息标记为已读。
messagesCount 获取本地数据库中会话的所有消息数量。
isChatThread 检查当前会话是否为Thread会话。
loadMoreMsgFromDB 从本地数据库加载消息,从特定消息ID开始。
markMessageAsRead 将特定消息标记为已读。
deleteMessageWithId:error: 在本地数据库中删除特定消息。
latestMessage 获取会话中的最新消息。
lastReceivedMessage 获取会话中的最新接收消息。
deleteAllMessages: 删除会话中的所有消息。
ext 会话的扩展字段。
insertMessage 在本地数据库中向会话插入消息。
appendMessage 在本地数据库中将消息插入到会话的末尾。
updateMessage 更新本地数据库中的消息。
status 消息发送或接收状态。
chatType 获取聊天消息类型。
body 消息正文。
timestamp 服务器接收消息时的Unix时间戳。
localTime 消息的本地时间戳。
isChatThreadMessage 消息是否为Thread消息。
chatThread 获取Thread的概述。
from 获取消息发送者的用户ID。
to 消息接收者的用户ID。
messageId 消息ID。
ext 消息的扩展属性,类型为字典。
isRead 消息是否已读。
isDeliverAcked 消息是否已成功送达。
isListened 语音消息是否已被收听。
direction 消息的收发方向。
conversationId 获取会话ID。
reactionList 获取Reaction列表。
onlineState 是否在线消息。
pinnedInfo 消息的置顶操作信息。

Contacts

方法 描述
getContactsFromServerWithCompletion: 从服务器获取所有联系人。
addUserToBlackList 将用户添加到黑名单。
removeUserFromBlackList 从黑名单中移除联系人。
getBlackList 获取本地黑名单。
getBlackListFromServerWithCompletion: 从服务器获取黑名单。
approveFriendRequestFromUser 接受好友邀请。
declineFriendRequestFromUser 拒绝好友邀请。
getContacts 从本地数据库获取联系人列表。
getSelfIdsOnOtherPlatformWithCompletion: 获取当前用户在其他设备上的唯一自我ID列表。
addDelegate 添加联系人变更监听。
事件 描述
friendshipDidAddByUser: 当用户被其他用户添加为联系人时触发。
friendshipDidRemoveByUser: 当用户被其他用户从联系人列表中移除时触发。
friendRequestDidReceiveFromUser:message: 当用户收到好友请求时触发。
friendRequestDidApproveByUser: 当好友请求被批准时触发。
onFriendRequestDeclined 当好友请求被拒绝时触发。

Chat Group

方法 描述
createGroup 创建群组。
destroyGroup 销毁群组。
leaveGroup 离开群组。
joinPublicGroup 加入一个公共群组。
addMembers 将用户添加到群组中。
removeMembersFromGroup 从群组中移除成员。
getGroupSpecificationFromServerWithId 从服务器获取群组信息。
getJoinedGroupsFromServerWithPage 从服务器分页获取当前用户的所有群组。
getPublicGroupsFromServer 从服务器分页获取公开群组。
updateGroupSubject 更改群组名称。
updateDescription 更改群组描述。
acceptInvitationFromGroup 接受群组邀请。
declineGroupInvitation 拒绝群组邀请。
acceptJoinApplication 批准群组请求。
declineJoinGroupRequest 拒绝群组请求。
requestToJoinPublicGroup 请求加入公共群组。
blockGroup 阻止群组消息。
unblockGroup 取消阻止群组消息。
blockMembers 将用户添加到群组黑名单。
unblockMembers 从群组黑名单中移除用户。
getGroupBlacklistFromServer 获取群组黑名单(带分页)。
getGroupMemberListFromServer 获取群组成员列表(带分页)。
updateGroupOwner 转移群组所有权。
addAdmin 添加群组管理员。
removeAdmin 移除群组管理员。
muteMembers 禁言群组成员。
unmuteMembers 取消禁言群组成员。
getGroupMuteListFromServer 从服务器获取群组禁言列表。
getGroupBlacklistFromServer 从服务器获取群组黑名单(带分页)。
addWhiteListMembers 将成员添加到白名单列表。
removeWhiteListMembers 从白名单列表中移除成员。
getGroupWhiteListFromServer 从服务器获取群组白名单列表。
updateGroupAnnouncement 更新群组公告。
asyncFetchGroupAnnouncement 从服务器获取群组公告。
uploadGroupSharedFileWithId 上传群组共享文件。
getGroupFileList 从服务器获取共享文件列表。
removeGroupSharedFile 移除群组共享文件。
downloadGroupSharedFile 下载群组共享文件。
getJoinedGroups 获取当前用户的所有群组(从缓存中)。
addDelegate 添加群组变更监听器。
事件 描述
groupInvitationDidReceive 当用户收到群组邀请时触发。
joinGroupRequestDidReceive 当群组所有者或管理员收到用户的加入请求时触发。
joinGroupRequestDidApprove 当群组请求被接受时触发。
joinGroupRequestDidDecline 当群组请求被拒绝时触发。
groupInvitationDidAccept 当群组邀请被接受时触发。
groupInvitationDidDecline 当群组邀请被拒绝时触发。
didJoinGroup:inviter:message: 当群组邀请自动接受时触发。
didLeaveGroup 当当前用户被群组管理员移除时触发。
groupMuteListDidUpdate:addedMutedMembers:muteExpire: 当一个或多个群组成员被禁言时触发。
groupMuteListDidUpdate 当一个或多个群组成员被取消禁言时触发。
groupWhiteListDidUpdate:addedWhiteListMembers: 当一个或多个群组成员被添加到白名单列表时触发。
groupWhiteListDidUpdate:removedWhiteListMembers: 当一个或多个成员从白名单列表中移除时触发。
groupAllMemberMuteChanged 当所有群组成员被禁言或取消禁言时触发。
groupAdminListDidUpdate:addedAdmin: 当某个成员被设置为管理员时触发。
groupAdminListDidUpdate:removedAdmin: 当某个成员的管理员权限被移除时触发。
groupOwnerDidUpdate 当群组所有权被转移时触发。
userDidJoinGroup 当某个成员加入群组时触发。
userDidLeaveGroup 当某个成员主动离开群组时触发。
groupAnnouncementDidUpdate 当公告被更新时触发。
onSharedFileAdded 当共享文件被添加到群组时触发。
onSharedFileDeleted 当共享文件从群组中移除时触发。
groupSpecificationDidUpdate 当群组详细信息被更新时触发。
groupStateChanged 当群组被启用或禁用时触发。

Chat Room

方法 描述
createChatRoom 创建聊天室。
destroyChatroom 销毁聊天室。
joinChatRoom 加入聊天室。
leaveChatroom 退出聊天室。
getChatroomsFromServer 从服务器获取聊天室数据,支持分页。
getChatroomSpecificationFromServer 从服务器获取聊天室的详细信息。
asyncChangeChatRoomSubject 修改聊天室名称。
updateSubject 修改聊天室描述。
getChatroomMemberListFromServer 获取聊天室成员列表。
muteMembers 在聊天室中禁言成员。
unmuteMembers 在聊天室中取消禁言成员。
addAdmin 添加聊天室管理员。
removeAdmin 移除聊天室管理员的管理权限。
getChatroomMuteListFromServer 从服务器获取禁言聊天室成员列表。
removeMembers 从聊天室中移除成员。
blockMembers 将成员添加到聊天室的黑名单中。
unblockMembers 从聊天室的黑名单中移除成员。
getChatroomBlacklistFromServer 获取聊天室黑名单,支持分页。
addWhiteListMembers 将成员添加到聊天室的白名单中。
removeWhiteListMembers 从聊天室的白名单中移除成员。
getChatroomWhiteListFromServer 从服务器获取聊天室的白名单。
muteAllMembers 禁言所有成员。
unmuteAllMembers 取消禁言所有成员。
updateChatroomAnnouncement 更新聊天室公告。
getChatroomAnnouncement 从服务器获取聊天室公告。
setChatroomAttributes 添加自定义聊天室属性。
setChatroomAttribute 设置自定义聊天室属性。
setChatroomAttributesForced 强制设置自定义聊天室属性。
setChatroomAttributeForced 强制设置自定义聊天室属性。
fetchChatroomAttributes 根据属性键列表获取聊天室的自定义属性列表。
fetchChatroomAllAttributes 获取聊天室的所有自定义属性。
removeChatroomAttributes 根据属性键列表移除自定义聊天室属性。
removeChatroomAttribute 移除自定义聊天室属性。
removeChatroomAttributesForced 强制移除自定义聊天室属性。
removeChatroomAttributeForced 强制移除自定义聊天室属性。
addDelegate 添加聊天室事件监听器。
事件 描述
didDismissFromChatroom 当当前用户被移出聊天室时触发。
userDidJoinChatroom 当其他成员加入聊天室时触发。
userDidLeaveChatroom 当其他成员退出聊天室时触发。
onMuteListAdded 当聊天室成员被添加到禁言列表时触发。
onMuteListRemoved 当聊天室成员从禁言列表中移除时触发。
onWhiteListAdded 当聊天室成员被添加到白名单时触发。
onWhiteListRemoved 当聊天室成员从白名单中移除时触发。
chatroomAllMemberMuteChanged 当聊天室中的全员禁言状态变更时触发。
onAdminAdded 当聊天室成员被设置为管理员时触发。
onAdminRemoved 当聊天室成员从管理员列表中移除时触发。
chatroomOwnerDidUpdate 当聊天室的拥有者更改时触发。
chatroomAnnouncementDidUpdate 当聊天室公告更改时触发。
chatroomSpecificationDidUpdate: 当聊天室详情更改时触发。
chatroomAttributesDidUpdated 当自定义聊天室属性更新时触发。
chatroomAttributesDidRemoved 当自定义聊天室属性被移除时触发。

Presence

方法 描述
publishPresence 发布自定义的在线状态。
subscribePresences 订阅用户的在线状态。
unsubscribePresences 取消订阅用户的在线状态。
fetchSubscribedMembers 使用分页获取已订阅的用户的列表。
fetchPresenceStatus 获取用户的当前在线状态。
addDelegate 添加监听器。
事件 描述
presenceStatusDidChanged: 当订阅的用户的在线状态更新时触发。

Threading

方法 描述
createChatThread 创建Thread。
joinChatThread 加入Thread。
destroyChatThread 销毁Thread。
leaveChatThread 离开Thread。
getChatThreadFromServer 从服务器获取Thread的详细信息。
updateChatThreadName 更改Thread的名称。
removeMemberFromChatThread 从Thread中移除成员。
getChatThreadMembers 分页获取Thread中的成员列表。
getJoinedChatThreadsFromServer 分页获取当前用户已加入的Thread列表。
getJoinedChatThreadsFromServer 分页获取当前用户在指定组中已加入的Thread列表。
getChatThreadsFromServer 分页获取指定组中的Thread列表。
getChatThreadLatestMessage 从服务器获取指定Thread的最后一条回复。
addChatThreadChangeListener 添加Thread事件监听器,监听Thread的变化,例如Thread的创建和销毁。
事件 描述
onChatThreadCreated 当Thread被创建时触发。
onChatThreadUpdated 当Thread被更新时触发。
onChatThreadDestroyed 当Thread被销毁时触发。
onChatThreadUserRemoved 当当前用户被群主或群管理员从Thread中移除时触发。

Offline push

方法 描述
getPushConfigsFromServer 从服务器获取推送配置。
updatePushDisplayName 更新当前用户的推送显示昵称。
setSilentModeForConversation 修改会话的免打扰设置。
clearRemindTypeForConversation 清除会话的离线推送通知类型设置。
getSilentModeForConversation 获取会话的免打扰设置。
setSilentModeForAll 设置当前登录用户的免打扰设置。
getSilentModeForAll 获取当前登录用户的免打扰设置。
getSilentModeForConversations 批量获取指定会话的免打扰设置。
bindDeviceToken 绑定 APNs Token。
registerPushKitToken 绑定 VoIP Token。

User Attributes

方法 描述
updateOwnInfo 修改当前用户的用户属性。
updateOwnInfoByAttribute 修改当前用户的用户属性。
fetchUserInfoByUserId 根据用户ID获取用户属性。
fetchUserInfoByAttribute 根据用户ID和属性类型获取用户属性。