diff --git a/docs/document/android/conversation_delete.md b/docs/document/android/conversation_delete.md index e7f930810..6de7120f8 100644 --- a/docs/document/android/conversation_delete.md +++ b/docs/document/android/conversation_delete.md @@ -22,7 +22,7 @@ ### 单向删除服务端会话及其历史消息 -你可以调用 `deleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `deleteConversationFromServer` 方法删除服务器端和本地会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。该接口不影响其他用户的会话和消息。 调用该方法之前,需调用 `getConversation` 方法获取会话 ID。 @@ -32,7 +32,7 @@ //获取指定的会话 ID。 EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId); -// 删除指定会话。如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。 +// 删除指定会话。如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 传 `false`。 EMClient.getInstance().chatManager().deleteConversationFromServer(conversationId, conversationType, isDeleteServerMessages, new EMCallBack() { @Override public void onSuccess() { diff --git a/docs/document/android/error.md b/docs/document/android/error.md index a2c04a92c..9f96042ff 100644 --- a/docs/document/android/error.md +++ b/docs/document/android/error.md @@ -87,6 +87,7 @@ Android 中错误码的类为 `EMError`。 | 610 | GROUP_MEMBER_ATTRIBUTES_UPDATE_FAILED | 设置群成员自定义属性失败。 | | 611 | GROUP_MEMBER_ATTRIBUTES_KEY_REACH_LIMIT | 设置的群成员自定义属性 key 长度(不能超过 16 字节)超限。 | | 612 | GROUP_MEMBER_ATTRIBUTES_VALUE_REACH_LIMIT | 设置的群成员自定义属性 value 长度(不能超过 512 字节)超限。 | +| 613 | GROUP_USER_IN_BLOCKLIST | 该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。 | | 700 | CHATROOM_INVALID_ID | 聊天室 ID 无效:调用聊天室相关 API,传入的聊天室 ID 为空时提示该错误。 | | 701 | CHATROOM_ALREADY_JOINED | 已在该聊天室中:调用加入聊天室的 API 时如果已经在该聊天室中则提示该错误。 | | 702 | CHATROOM_NOT_JOINED | 未加入该聊天室:用户在未加入的聊天室中发送消息或进行聊天室操作时提示该错误。 | @@ -94,6 +95,7 @@ Android 中错误码的类为 `EMError`。 | 704 | CHATROOM_MEMBERS_FULL | 聊天室已满:聊天室成员数量已达到创建聊天室时设置的最大人数。 | | 705 | CHATROOM_NOT_EXIST | 聊天室不存在:尝试对不存在的聊天室进行操作时提示该错误。 | | 706 | CHATROOM_OWNER_NOT_ALLOW_LEAVE | 聊天室所有者不允许离开聊天室。若初始化时,`EMOptions#allowChatroomOwnerLeave` 参数设置为 `false`,聊天室所有者调用 `leaveChatRoom` 方法离开聊天室时会提示该错误。 | +| 707 | CHATROOM_USER_IN_BLOCKLIST | 该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。 | | 900 | USERINFO_USERCOUNT_EXCEED | 获取用户属性的用户个数超过 100。 | | 901 | USERINFO_DATALENGTH_EXCEED | 设置的用户属性太长。单个用户的所有属性数据不能超过 2 KB,单个 app 所有用户属性数据不能超过 10 GB。 | | 1000 | CONTACT_ADD_FAILED | 添加联系人失败。 | diff --git a/docs/document/android/releasenote.md b/docs/document/android/releasenote.md index d800ae2f1..4860ee42f 100644 --- a/docs/document/android/releasenote.md +++ b/docs/document/android/releasenote.md @@ -2,6 +2,41 @@ +## 版本 V4.10.0 Dev 2024-09-30(开发版) + +### 新增特性 + +- [IM SDK] 新增 `EMChatManager#asyncGetMessageCount` 方法,用于获取数据库中的消息总数。 +- [IM SDK] 新增[两个错误码](error.html): + - `EMError#GROUP_USER_IN_BLOCKLIST`(613):该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。 + - `EMError#CHATROOM_USER_IN_BLOCKLIST`(707):该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。 + +### 优化 + +- [IM SDK] [发送前回调](/document/server-side/callback.html#_1、发送前回调)时修改的[消息扩展字段](/document/android/message_send_receive.html#使用消息扩展字段),会同步到发送方。 +- [IM SDK] 调用[删除服务端会话 API](conversation_delete.html#单向删除服务端会话及其历史消息),成功后会删除本地会话。对于之前版本,可设置调用该接口删除会话的本地消息,但该接口不删除本地会话。 +- [IM SDK] 适配 Android 15 的 16K page size。 +- [IM SDK] 群组和聊天室操作的默认错误码提示由 `GROUP_MEMBERS_FULL`(604)和 `CHATROOM_MEMBERS_FULL`(704)调整为 `GROUP_PERMISSION_DENIED`(603)和 `CHATROOM_PERMISSION_DENIED`(703)。例如,群组普通成员设置群组管理员时,由于缺乏权限,会提示 603 错误。 +- [IM SDK] 底层长连接使用 poll 代替 select,解决文件描述符(fd)最大数量 1024 的限制问题。 + +### 修复 + +- [IM SDK] 修复发送图片消息时指定缩略图尺寸未生效的问题。 +- [IM SDK] 修复未拉取好友时收到好友事件,导致好友列表不能更新的问题。 + +### [单群聊 UIKit](/uikit/chatuikit/android/chatuikit_overview.html) + +- 修复发送方发送的部分表情与接收方收到的不匹配的问题。 + +### [EaseCallKIt](easecallkit.html) + +- 修复部分手机在拨号时,切换到悬浮窗口后再返回时,通话状态显示错误的问题。 +- 修复切换悬浮窗时,悬浮窗闪烁一次的问题. + +### [EaseIM App (Demo)](https://github.com/easemob/easemob-demo-android) + +- 增加隐私协议时间声明。 + ## 版本 V4.9.0 Dev 2024-08-30(开发版) ### 新增特性 diff --git a/docs/document/flutter/conversation_delete.md b/docs/document/flutter/conversation_delete.md index 85897f077..eb0ae428f 100644 --- a/docs/document/flutter/conversation_delete.md +++ b/docs/document/flutter/conversation_delete.md @@ -22,12 +22,12 @@ ### 单向删除服务端会话及其历史消息 -你可以调用 `deleteRemoteConversation` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `deleteRemoteConversation` 方法删除服务器端会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口不会删除本地会话。该接口不影响其他用户的会话和消息。 ```dart // 会话 ID。 String conversationId = "conversationId"; -// 删除会话时是否同时删除服务端的历史消息。 +// 删除会话时是否同时删除服务端和本地的历史消息。 bool deleteMessage = true; EMConversationType conversationType = EMConversationType.Chat; await EMClient.getInstance.chatManager.deleteRemoteConversation( diff --git a/docs/document/harmonyos/conversation_delete.md b/docs/document/harmonyos/conversation_delete.md index 85d07d1e3..76dae318a 100644 --- a/docs/document/harmonyos/conversation_delete.md +++ b/docs/document/harmonyos/conversation_delete.md @@ -22,7 +22,7 @@ ### 单向删除服务端会话及其历史消息 -你可以调用 `deleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `deleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口不会删除本地会话。该接口不影响其他用户的会话和消息。 调用该方法之前,需调用 `getConversation` 方法获取会话 ID。 @@ -32,7 +32,7 @@ //获取指定的会话 ID。 let conversation = ChatClient.getInstance().chatManager()?.getConversation(conversationId); -// 删除指定会话。如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。 +// 删除指定会话。如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 传 `false`。 ChatClient.getInstance().chatManager()?.deleteConversationFromServer(conversationId, conversationType, isDeleteServerMessages) .then(()=> { // success diff --git a/docs/document/ios/conversation_delete.md b/docs/document/ios/conversation_delete.md index a44354607..8df040578 100644 --- a/docs/document/ios/conversation_delete.md +++ b/docs/document/ios/conversation_delete.md @@ -20,10 +20,10 @@ ### 单向删除服务端会话及其历史消息 -你可以调用 `deleteServerConversation` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `deleteServerConversation` 方法删除服务器端和本地会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。该接口不影响其他用户的会话和消息。 ```objectivec -// 删除指定会话,如果需要保留服务端的历史消息,`isDeleteServerMessages` 参数传 `NO`,异步方法。 +// 删除指定会话,如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 参数传 `NO`,异步方法。 [[EMClient sharedClient].chatManager deleteServerConversation:@"conversationId1" conversationType:EMConversationTypeChat isDeleteServerMessages:YES completion:^(NSString *aConversationId, EMError *aError) { // 删除回调 }]; diff --git a/docs/document/ios/error.md b/docs/document/ios/error.md index 619c67ff0..19115033c 100644 --- a/docs/document/ios/error.md +++ b/docs/document/ios/error.md @@ -89,6 +89,7 @@ iOS 的错误码只有当操作出错的时候才会有返回值,否则返回 | 610 | EMErrorGroupMemberAttributesUpdateFailed | 设置群成员自定义属性失败。 | | 611 | EMErrorGroupMemberAttributesKeyReachLimit | 设置的群成员自定义属性 key 长度(不能超过 16 字节)超限。 | | 612 | EMErrorGroupMemberAttributesValueReachLimit | 设置的群成员自定义属性 value 长度(不能超过 512 字节)超限。 | +| 613 | EMErrorGroupUserInBlockList | 该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。 | | 700 | EMErrorChatroomInvalidId | 聊天室 ID 无效:调用聊天室相关 API,传入的聊天室 ID 为空时提示该错误。 | | 701 | EMErrorChatroomAlreadyJoined | 已在该聊天室中:调用加入聊天室的 API 时如果已经在该聊天室中则提示该错误。 | | 702 | EMErrorChatroomNotJoined | 未加入该聊天室:用户在未加入的聊天室中发送消息或进行聊天室操作时提示该错误。 | @@ -96,6 +97,7 @@ iOS 的错误码只有当操作出错的时候才会有返回值,否则返回 | 704 | EMErrorChatroomMembersFull | 聊天室已满:聊天室成员数量已达到创建聊天室时设置的最大人数。| | 705 | EMErrorChatroomNotExist | 聊天室不存在:尝试对不存在的聊天室进行操作时提示该错误。 | | 706 | EMErrorChatroomOwnerNotAllowLeave | 聊天室所有者不允许离开聊天室。若初始化时,`EMOptions#allowChatroomOwnerLeave` 参数设置为 `false`,聊天室所有者调用 `leaveChatroom` 方法离开聊天室时会提示该错误。 | +| 707 | EMErrorChatroomUserInBlockList | 该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。 | | 900 | EMErrorUserCountExceed | 获取用户属性的用户个数超过 100。 | | 901 | EMErrorUserInfoDataLengthExceed | 设置的用户属性太长。单个用户的所有属性数据不能超过 2 KB,单个 app 所有用户属性数据不能超过 10 GB。 | | 1000 | EMErrorContactAddFailed | 添加联系人失败。 | diff --git a/docs/document/ios/releasenote.md b/docs/document/ios/releasenote.md index b781871c0..b5aebbde2 100644 --- a/docs/document/ios/releasenote.md +++ b/docs/document/ios/releasenote.md @@ -2,6 +2,30 @@ +## 版本 V4.10.0 Dev 2024-09-30(开发版) + +### 新增特性 + +- [IM SDK] 新增 `EMChatManager#getMessageCountWithCompletion:` 方法,用于获取数据库中的消息总数。 +- [IM SDK] 新增[两个错误码](error.html): + - `EMErrorGroupUserInBlockList`(613):该用户在群组黑名单中。例如,群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。 + - `EMErrorChatroomUserInBlockList`(707):该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。 + +### 优化 + +- [IM SDK] [发送前回调](/document/server-side/callback.html#_1、发送前回调)时修改的[消息扩展字段](/document/android/message_send_receive.html#使用消息扩展字段),会同步到发送方。 +- [IM SDK] 调用[删除服务端会话 API](conversation_delete.html#单向删除服务端会话及其历史消息),成功后会删除本地会话。对于之前版本,可设置调用该接口删除会话的本地消息,但该接口不删除本地会话。 +- [IM SDK] 群组和聊天室操作的默认错误码提示由 `EMErrorGroupMembersFull`(604)和 `EMErrorChatroomMembersFull`(704)调整为 `EMErrorGroupPermissionDenied`(603)和 `EMErrorChatroomPermissionDeniedD`(703)。例如,群组普通成员设置群组管理员时,由于缺乏权限,会提示 603 错误。 + +### 修复 + +- [IM SDK] 修复发送图片消息时指定缩略图尺寸未生效的问题。 +- [IM SDK] 修复未拉取好友时收到好友事件,导致好友列表不能更新的问题。 + +### [EaseCallKIt](easecallkit.html) + +- 升级依赖的 `AgoraRtcEngine` 版本,防止因为旧版本包含 Bitcode 无法上传 App Store。 + ## 版本 V4.9.0 Dev 2024-08-30(开发版) ### 新增特性 diff --git a/docs/document/react-native/conversation_delete.md b/docs/document/react-native/conversation_delete.md index e1912ca10..3485ac02f 100644 --- a/docs/document/react-native/conversation_delete.md +++ b/docs/document/react-native/conversation_delete.md @@ -18,18 +18,18 @@ - `ChatManager.removeConversationFromServer`:单向删除服务端的单个会话及其历史消息。 - `ChatManager.deleteConversation`:删除本地单个会话及其历史消息。 -## 实现方法 +## 实现方法 #### 单向删除服务端会话及其历史消息 -你可以调用 `removeConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `removeConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口不会删除本地会话。该接口不影响其他用户的会话和消息。 示例代码如下: ```typescript // convId: 会话 ID。 // convType:会话类型。 -// isDeleteMessage:删除会话时是否同时删除服务端该会话中的消息。 +// isDeleteMessage:删除会话时是否同时删除服务端和本地的该会话中的消息。 ChatClient.getInstance() .chatManager.removeConversationFromServer(convId, convType, isDeleteMessage) .then(() => { diff --git a/docs/document/unity/conversation_delete.md b/docs/document/unity/conversation_delete.md index 421c9d53c..0b666a106 100644 --- a/docs/document/unity/conversation_delete.md +++ b/docs/document/unity/conversation_delete.md @@ -22,7 +22,7 @@ ### 单向删除服务端会话及其历史消息 -你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除本地会话。该接口不影响其他用户的会话和消息。 ```csharp // 如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。 diff --git a/docs/document/windows/conversation_delete.md b/docs/document/windows/conversation_delete.md index 421c9d53c..4e9bb7d8f 100644 --- a/docs/document/windows/conversation_delete.md +++ b/docs/document/windows/conversation_delete.md @@ -22,10 +22,10 @@ ### 单向删除服务端会话及其历史消息 -你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。 +你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除本地会话。该接口不影响其他用户的会话和消息。 ```csharp -// 如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。 +// 如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 传 `false`。 SDKClient.Instance.ChatManager.DeleteConversationFromServer(conversationId, conversationType, isDeleteServerMessages, new CallBack( onSuccess: () => { diff --git a/docs/product/product_dynamics.md b/docs/product/product_dynamics.md index c32295acb..05ec35757 100644 --- a/docs/product/product_dynamics.md +++ b/docs/product/product_dynamics.md @@ -5,6 +5,8 @@ | 动态名称 | 动态描述 | 发布时间 | 相关文档 | | :----- | :------- | :---------------- | :---------------- | | SDK 4.9.1 开发版发布 | uni-app SDK 支持[离线推送](/document/applet/push/uniapp_push.html)。 | 2024-09-06 | [小程序 4.9.1 更新日志](/document/applet/releasenote.html#版本-v4-9-1-dev-2024-09-06-开发版) | +| SDK 4.10.0 开发版发布 | **新增特性**:
- 移动端支持获取数据库中的消息总数;
- 新增[两个错误码](/document/android/error.html),用于提示用户在群组黑名单或聊天室黑名单中。群组或聊天室黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。
- [单向删除服务端会话也会删除本地会话](/document/android/conversation_delete.html#单向删除服务端会话及其历史消息)。 | 2024-09-30 |
- [Android 4.10.0 更新日志](/document/android/releasenote.html#版本-v4-10-0-dev-2024-09-30-开发版)
- [iOS 4.10.0 更新日志](/document/ios/releasenote.html#版本-v4-10-0-dev-2024-09-30-开发版) | + | 动态名称 | 动态描述 | 发布时间 | 相关文档 | | :----- | :------- | :---------------- | :---------------- |