Windows IM SDK 更新日志
大约 7 分钟
Windows IM SDK 更新日志
版本 V1.2.0 Dev 2023-8-30(开发版)
新增特性
- [IM SDK] 新增合并转发消息功能:
MessageBodyType#COMBINE
:合并消息类型;CombineBody
:消息体类 ;Message#CreateCombineSendMessage
:创建合并消息;ChatManager#FetchCombineMessageDetail
:下载并解析合并消息。
- [IM SDK] 新增消息修改功能:
ChatManager#ModifyMessage
:修改消息;IChatManagerDelegate#OnMessageContentChanged
:消息修改回调,接收方会收到该回调。IMessageBody#OperationTime
:修改消息中内容修改的时间。IMessageBody#OperatorId
:修改消息中的操作人的用户 ID。IMessageBody#OperationCount
:发送后消息修改的次数。
- [IM SDK] 调整
IConnectionDelegate#OnLoggedOtherDevice(intString)
回调,新增当前设备踢下线的设备名称。 - [IM SDK] 新增
IConnectionDelegate#OnAppActiveNumberReachLimitation
回调,App激活数量已达限制值。 - [IM SDK] 新增
IMultiDeviceDelegate#OnRoamDeleteMultiDevicesEvent
回调,多端多设备单个会话删除漫游消息事件。 - [IM SDK] 新增
IMultiDeviceDelegate#OnConversationMultiDevicesEvent
回调,多端多设备会话操作事件。 - [IM SDK] 新增 以下方法支持用户 token:
SDKClient#GetLoggedInDevicesFromServerWithToken
:获取指定账号下登录的在线设备列表;SDKClient#KickDeviceWithToken
:将指定账号登录的指定设备踢下线;SDKClient#KickAllDevicesWithToken
:将指定账号登录的所有设备都踢下线。
- [IM SDK] 新增会话置顶功能:
Conversation#IsPinned
:判断该会话是否被置顶;Conversation#PinnedTime
:会话置顶时间戳。
- [IM SDK] 新增
ChatManager#GetConversationsFromServerWithCursor
方法根据指定参数从服务器获取相关会话对象。
作废ChatManager#GetConversationsFromServer
。 - 新增
ChatManager#FetchHistoryMessagesFromServerBy
方法根据消息拉取参数配置类FetchServerMessagesOption
从服务器获取历史消息; - [IM SDK] 新增消息拉取参数配置类
FetchServerMessagesOption
:FetchServerMessagesOption#IsSave
:获取的消息是否保存到数据库;FetchServerMessagesOption#Direction
:消息搜索方向;FetchServerMessagesOption#From
:消息发送方的用户 ID;FetchServerMessagesOption#MsgTypes
:要查询的消息类型列表;FetchServerMessagesOption#StartTime
:消息查询的起始时间;FetchServerMessagesOption#EndTime
:消息查询的结束时间。
- [IM SDK] 新增在群组或聊天室中发送定向消息功能:
Message#ReceiverList
:设置群组或聊天室消息接收列表。
- [IM SDK] 新增删除本地数据库中指定时间段的消息:
Conversation#DeleteMessages
:删除本地数据库中指定时间段的消息。
- [IM SDK] 新增群组成员自定义属性管理功能:
GroupManager#FetchMemberAttributes
:获取群组成员自定义属性;GroupManager#SetMemberAttributes
:设置群组用户自定义属性;IGroupManagerDelegate#OnUpdateMemberAttributesFromGroup
:群成员自定义属性发生改变。
- [IM SDK] 新增多设备操作事件:
MultiDevicesOperation#SET_METADATA
:在其他设备上设置了群组成员自定义属性;MultiDevicesOperation#DELETE_METADATA
:在其他设备上删除了群组成员自定义属性;MultiDevicesOperation#GROUP_MEMBER_METADATA_CHANGED
:群组成员自定义属性发生改变;MultiDevicesOperation#CONVERSATION_PINNED
:会话被置顶;MultiDevicesOperation#CONVERSATION_UNPINNED
:会话被取消置顶;MultiDevicesOperation#CONVERSATION_DELETED
:会话被删除。
- [IM SDK] 新增 Reaction 操作类
MessageReactionOperation
:MessageReactionOperation#UserId
:操作者;MessageReactionOperation#Reaction
:发生变化的 reaction。
- [IM SDK] 新增 自定义设备的平台和名称功能:
- 新增
Options#CustomOSType
方法,设置自定义平台代号; - 新增
Options#CustomDeviceName
方法,设置当前设备自定义设备名称。
- 新增
- [IM SDK] 新增
Message#DeliverOnlineOnly
字段设置消息是否只投递给在线用户; - [IM SDK] 新增以下
Options
选项:Options#SDKDataPath
:设置 SDK 数据的底层存储路径;Options#MyUUID
:设置自定义设备 UUID;Options#EnableEmptyConversation
:从数据库加载会话时,是否允许加载空会话。
优化
- [IM SDK]
kickAllDevice
重命名为KickAllDevice
。 - [IM SDK] 修改
MessageReaction
中拼写错误:Rection
修改为Reaction
。 - [IM SDK] 修改
MessageBody
中以下属性名称中的拼写错误:ThumbnaiRemotePath
修改为ThumbnailRemotePath
;ThumbnaiSecret
修改为ThumbnailSecret
;ThumbnaiDownStatus
修改为ThumbnailDownStatus
。
修复
- [IM SDK] 修复 SDK 回调时找不到回调句柄的问题;
- [IM SDK] 修复 SDK 不同字符集转码问题。
版本 v1.1.0 Dev 2023-2-25
新增特性
- 新增
ChatManager#GetConversationsFromServerWithPage
方法实现从服务器分页获取会话列表。 - 新增
Message#Priority
属性实现聊天室消息优先级功能,确保高优先级消息优先处理。
优化
调整 SDKClient#InitWithOptions
方法,增加返回结果,检查 App Key 格式。
修复
- 修复登录时的部分 bug。
- 修复发送的消息的已读标识为
false
的问题。修复后,发送消息时将已读标识设置为true
。 - 数据库加密文件名生成错误问题。建议升级到 v1.1.0 后,使用历史数据时首先从服务端拉取数据。
版本 V1.0.9 Dev 2022-12-30(开发版)
新增特性
SDKClient
类中新增以下方法:
GetLoggedInDevicesFromServer
:获取通过指定账号登录的在线设备列表。KickDevice
:将指定账号登录的指定设备踢下线。kickAllDevices
:将指定账号登录的所有设备都踢下线。
RoomManager
类中新增以下方法:
FetchAllowListFromServer
:从服务器获取聊天室白名单列表。CheckIfInRoomAllowList
:检查当前用户是否在聊天室白名单中。GetChatRoom
:从内存中获取指定聊天室的详情。UnMuteAllRoomMembers
:解除对所有聊天室成员的禁言。
IRoomManagerDelegate
类中新增以下回调方法:
OnSpecificationChangedFromRoom
:聊天室信息有更新。OnAddAllowListMembersFromChatroom
:有成员加入聊天室白名单。OnRemoveAllowListMembersFromChatroom
:有成员被移出聊天室白名单。OnRemoveFromRoomByOffline
:成员因为离线被移出聊天室。
IConnectionDelegate
类中新增以下回调方法:
OnLoggedOtherDevice
:当前登录账号在其它设备登录时会收到此回调。OnRemovedFromServer
:当前登录账号已经被从服务器端删除时会收到该回调。OnForbidByServer
:当前用户账号被禁用时会收到该回调。OnChangedIMPwd
:当前登录账号因密码被修改被强制退出。OnLoginTooManyDevice
:当前登录账号因达到登录设备数量上限被强制退出。OnKickedByOtherDevice
:当前登录设备账号被登录其他设备的同账号踢下线。OnAuthFailed
:当前登录设备账号因鉴权失败强制退出。
Group
类中新增以下属性:
IsMemberOnly
:表示群组不能自由加入,需要申请或者被邀请。IsMemberAllowToInvite
:群组是否允许成员邀请。MaxUserCount
:群允许加入的最大成员数。Ext
:自定义群组扩展信息。IsDisabled
:群组是否禁用。
优化
- 命名空间由 ChatSDK 修改为 AgoraChat。
- 各方法中的
handle
参数重命名为callback
。 - 移除了
pushmanager
类。 UserInfo
类中的字段名均改为首字母大写。Message
类中的AttributeValue
子类移除了UINT32
和JSONSTRING
类型。OnDisconnected
方法中移除整型参数i
。- 以下方法的返回结果进行了调整:
importmessage
的返回结果由直接返回调整为异步回调。GetGroupMuteListFromServer
的返回结果的数据类型由List<string>
调整为Dictionary<string, string>
。FetchRoomMuteList
的返回结果的数据类型由List<string>
调整为Dictionary<string, string>
。
GroupManager
类中的以下方法进行了重命名:
AddGroupWhiteList
重命名为AddGroupAllowList
。CheckIfInGroupWhiteList
重命名为CheckIfInGroupAllowList
。GetGroupWhiteListFromServer
重命名为GetGroupAllowListFromServer
。RemoveGroupWhiteList
重命名为RemoveGroupAllowList
。
RoomManager
类中的以下方法进行了重命名:
AddWhiteListMembers
重命名为AddAllowListMembers
。RemoveWhiteListMembers
重命名为RemoveAllowListMembers
。
Message
类中的ReactionList
由属性调整为了方法。Group
类中的Options
属性仅对内开放,不对外开放。IGroupManagerDelegate
类中进行了以下调整:
OnAddWhiteListMembersFromGroup
方法重命名为OnAddAllowListMembersFromGroup
。OnRemoveWhiteListMembersFromGroup
方法重命名为OnRemoveAllowListMembersFromGroup
。OnInvitationAcceptedFromGroup
方法中移除了reason
参数。OnRequestToJoinDeclinedFromGroup
方法中移除了groupName
和decliner
参数。
版本 V1.0.8 Dev 2022-9-30(开发版)
新增特性
- 新增聊天室自定义属性功能。
ChatGroup
中增加isDisabled
属性显示群组禁用状态,需要开发者在服务端设置。该属性在调用IGroupManager
中的GetGroupSpecificationFromServer
方法获取群组详情时返回。
优化
- 移除 SDK 一部分冗余日志;
- 将命名空间由 ChatSDK 改为 AgoraChat。
修复
- 修复极少数场景下,从服务器获取较大数量的消息时失败的问题。
- 修复数据统计不正确的问题。
- 修复极少数场景下打印日志导致的崩溃。
- 修复连接监听器有时无法接收到连接回调的问题。
版本 V1.0.5 2022-08-05
新增特性
版本 V1.0.2.1 2022-06-22
这是环信即时通讯 IM Windows SDK 第一个正式发布的版本,包含以下功能:
- 在单聊、群聊、聊天室中发送和接收消息;
- 管理会话和消息;
- 管理群组和聊天室;
具体集成请参考以下文档: