Skip to content

Commit 131c77c

Browse files
authored
Merge pull request #1358 from haoxiuwen/doc-v2
Add Android/iOS 4.15.1
2 parents ae1daa2 + c2ec98b commit 131c77c

File tree

9 files changed

+118
-12
lines changed

9 files changed

+118
-12
lines changed

docs/document/android/message_retrieve.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414

1515
- `EMChatManager#asyncFetchHistoryMessages`:根据 `EMFetchMessageOption` 类从服务端分页获取指定会话的历史消息;
1616
- `EMChatManager#doAsyncFetchHistoryMessages`:从服务器获取指定群成员发送的消息;
17+
- `EMChatManager#asyncLoadConversationMessagesWithKeyword`:根据关键字获取本地会话中的消息;
18+
- `EMChatManager#asyncLoadMessages`:根据消息 ID 获取单个或多个本地消息;
1719
- `EMConversation#asyncSearchMsgFromDB`:从本地获取指定群成员发送的消息;
1820
- `EMConversation#getAllMessages/loadMoreMsgFromDB`:读取本地指定会话的消息;
19-
- `EMChatManager#getMessage`:根据消息 ID 获取本地消息
21+
- `EMChatManager#getMessage`:根据消息 ID 获取单个本地消息
2022
- `EMChatManager#searchMsgFromDB(Type type, long timeStamp, int maxCount, String from, EMConversation.EMSearchDirection direction)`:获取本地存储的指定会话中特定类型的消息;
2123
- `EMChatManager#searchMsgFromDB(long startTimeStamp, long endTimeStamp, int maxCount)`:获取一定时间段内本地指定会话中发送和接收的消息;
2224
- `EMConversation#getAllMsgCount`:从 SDK 本地数据库中获取会话在某个时间段内的全部消息数。
@@ -169,6 +171,46 @@ int pageSize,String cursor,
169171

170172
```
171173

174+
### 根据关键字获取本地会话中的消息
175+
176+
自 SDK 4.15.1 版本开始,你可以通过设置关键词获取单个会话中的某些消息。SDK 返回会话 ID 及消息 ID 列表,消息 ID 根据你设置的 `direction` 参数按照消息时间戳的正序或倒序列明。
177+
178+
```java
179+
String keyword="时间";
180+
EMClient.getInstance().chatManager().asyncLoadConversationMessagesWithKeyword(keyword, -1, null, EMConversation.EMSearchDirection.UP, EMConversation.EMMessageSearchScope.CONTENT, new EMValueCallBack<Map<String, List<String>>>() {
181+
@Override
182+
public void onSuccess(Map<String, List<String>> value) {
183+
EMLog.e(TAG, "asyncLoadConversationMessagesWithKeyword onSuccess value:" + value);
184+
}
185+
186+
@Override
187+
public void onError(int error, String errorMsg) {
188+
EMLog.e(TAG,"asyncLoadConversationMessagesWithKeyword onError error:" + error + " errorMsg:" + errorMsg);
189+
}
190+
});
191+
192+
```
193+
194+
195+
### 根据消息 ID 获取单个或多个本地消息
196+
197+
自 SDK 4.15.1 版本开始,你可以传入单个或多个消息 ID 获取单个本地会话中的消息。
198+
199+
```java
200+
// messageIds:消息 ID 列表。每次最多可传入 20 个消息 ID。
201+
EMClient.getInstance().chatManager().asyncLoadMessages(messageIds, conversationId, new EMValueCallBack<List<EMMessage>>() {
202+
@Override
203+
public void onSuccess(List<EMMessage> value) {
204+
EMLog.e(TAG, "asyncLoadMessages onSuccess value:" + value);
205+
}
206+
207+
@Override
208+
public void onError(int error, String errorMsg) {
209+
EMLog.e(TAG, "asyncLoadMessages onError error:" + error + " errorMsg:" + errorMsg);
210+
}
211+
});
212+
```
213+
172214
### 从本地获取指定群成员发送的消息
173215

174216
自 4.14.0 版本开始,对于单个群组会话,你可以从本地获取指定成员(而非全部成员)发送的消息。
@@ -191,7 +233,7 @@ List<EMMessage> messages = conversation.getAllMessages();
191233
List<EMMessage> messages = conversation.loadMoreMsgFromDB(startMsgId, pagesize);
192234
```
193235

194-
### 根据消息 ID 获取本地消息
236+
### 根据消息 ID 获取单个本地消息
195237

196238
你可以调用 `getMessage` 方法根据消息 ID 获取本地存储的指定消息。如果消息不存在会返回空值。
197239

docs/document/android/releasenote.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22

33
<Toc />
44

5+
## 版本 V4.15.1 Dev 2025-6-23(开发版)
6+
7+
### 新增特性
8+
9+
1. [根据关键字从本地数据库中获取单个会话的消息](message_retrieve.html#根据关键字获取本地会话中的消息),SDK 返回会话 ID 及消息 ID 列表。
10+
2. [根据消息 ID 从本地数据库获取单个或多个消息](message_retrieve.html#根据消息-id-获取单个或多个本地消息)
11+
12+
### 修复
13+
14+
1. 修复当修改文本和自定义消息之外的消息时,`EMMessageListener#onMessageContentChanged` 回调中不返回修改的信息的问题。
15+
2. 修复 [拉取漫游消息](message_retrieve.html#从服务器获取指定会话的消息) 时,设置为不保存消息时(`EMFetchMessageOption#setIsSave` 设置为 `false`)时,也会生成新的本地会话的问题。
16+
3. 修复部分场景下 [发送 GIF 图片消息](message_send.html#发送-gif-图片消息) 失败的问题。
17+
518
## 版本 V4.15.0 Dev 2025-5-21(开发版)
619

720
### 新增特性

docs/document/harmonyos/message_retrieve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
- `ChatManager#fetchHistoryMessages`:根据 `searchOptions.from` 字段从服务器获取群组中指定成员(而非全部成员)发送的消息;
1717
- `Conversation#searchMessagesByKeywords`:从本地获取群组中指定成员(而非全部成员)发送的消息;
1818
- `Conversation#getAllMessages`:从本地读取指定会话的消息;
19-
- `ChatManager#getMessage`:根据消息 ID 获取本地消息
19+
- `ChatManager#getMessage`:根据消息 ID 获取单个本地消息
2020
- `Conversation#getMsgCountInRange`:获取本地数据库中单个会话在某个时间段内的全部消息数。
2121

2222
## 前提条件
@@ -108,7 +108,7 @@ List<EMMessage> messages = conversation.getAllMessages();
108108
List<EMMessage> messages = conversation.loadMoreMsgFromDB(startMsgId, pagesize);
109109
```
110110

111-
### 根据消息 ID 获取本地消息
111+
### 根据消息 ID 获取单个本地消息
112112

113113
你可以调用 `getMessage` 方法根据消息 ID 获取本地存储的指定消息。如果消息不存在会返回空值。
114114

docs/document/ios/message_retrieve.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414

1515
- `IEMChatManager#fetchMessagesFromServer`:根据 `EMFetchServerMessagesOption` 类从服务器分页获取指定会话的历史消息;
1616
- `IEMChatManager#fetchMessagesFromServerBy`:从服务器获取群组中指定成员发送的消息;
17+
- `IEMChatManager#loadConversationMessagesWithKeyword`:根据关键词获取本地会话中的单个或多个消息;
18+
- `IEMChatManager#getMessages`:根据消息 ID 获取单个或多个本地消息;
1719
- `EMConversation#loadMessagesWithKeyword`:从本地获取群组中指定成员发送的消息;
1820
- `EMConversation#loadMessagesStartFromId`:从数据库中读取指定会话的消息;
19-
- `IEMChatManager#getMessageWithMessageId`:根据消息 ID 获取本地消息
21+
- `IEMChatManager#getMessageWithMessageId`:根据消息 ID 获取单个本地消息
2022
- `EMConversation#loadMessagesWithType`:获取本地存储的指定会话中特定类型的消息;
2123
- `EMConversation#loadMessagesFrom:to:count:completion:` 获取指定时间段内本地指定会话中发送和接收的消息;
2224
- `EMConversation#getMessageCountStart:to:`:获取会话在一定时间内的消息数。
@@ -88,6 +90,37 @@ EMFetchServerMessagesOption* option = [[EMFetchServerMessagesOption alloc] init]
8890
}];
8991
```
9092

93+
### 根据关键字获取本地会话中的消息
94+
95+
自 SDK 4.15.1 开始,你可以通过设置关键字获取单个会话中的某些消息。SDK 返回会话 ID 及消息 ID 列表,消息 ID 根据你设置的 `aDirection` 参数按照消息时间戳的正序或倒序列明。
96+
97+
```objective-c
98+
[EMClient.sharedClient.chatManager loadConversationMessagesWithKeyword:@"keyword" timestamp:-1 fromUser:@"" searchDirection:EMMessageSearchDirectionUp scope:EMMessageSearchScopeAll completion:^(NSDictionary<NSString *,NSArray<NSString *> *> * _Nullable aConversationMessages, EMError * _Nullable aError) {
99+
if (aError) {
100+
NSLog(@"Error loading messages: %@", aError.errorDescription);
101+
} else {
102+
// aConversationMessages为查询到的消息
103+
}
104+
}];
105+
106+
```
107+
108+
109+
### 根据消息 ID 获取单个或多个本地消息
110+
111+
自 SDK 4.15.1 开始,你可以传入单个或多个消息 ID 获取单个本地会话中的消息。
112+
113+
```objective-c
114+
// messageIds:消息 ID 列表。每次最多可传入 20 个消息 ID。
115+
[EMClient.sharedClient.chatManager getMessages:@[@"messageId1", @"messageId2"] withConversationId:@"conversationId" completion:^(NSArray<EMChatMessage *> * _Nullable aMessages, EMError * _Nullable aError) {
116+
if (aError) {
117+
NSLog(@"Error getting messages: %@", aError.errorDescription);
118+
} else {
119+
// aMessages为查询到的消息
120+
}
121+
}];
122+
```
123+
91124
### 从本地获取指定群成员发送的消息
92125

93126
自 iOS SDK 4.14.0 开始,对于单个群组会话,你可以从本地获取指定成员(而非全部成员)发送的消息。
@@ -115,7 +148,7 @@ EMConversation *conversation = [[EMClient sharedClient].chatManager getConversat
115148
NSArray<EMChatMessage *> *messages = [conversation loadMessagesStartFromId:startMsgId count:count searchDirection:MessageSearchDirectionUp];
116149
```
117150

118-
### 根据消息 ID 获取本地消息
151+
### 根据消息 ID 获取单个本地消息
119152

120153
你可以调用 `getMessageWithMessageId` 方法根据消息 ID 获取本地存储的指定消息。如果消息不存在会返回空值。
121154

docs/document/ios/releasenote.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
<Toc />
44

5+
## 版本 V4.15.1 Dev 2025-6-23(开发版)
6+
7+
### 新增特性
8+
9+
1. [根据关键字从本地数据库中获取单个会话的消息](message_retrieve.html#根据关键字获取本地会话中的消息),SDK 返回会话 ID 及消息 ID 列表。
10+
2. [根据消息 ID 从本地数据库获取单个或多个消息](message_retrieve.html#根据消息-id-获取单个或多个本地消息)
11+
12+
### 修复
13+
14+
1. 修复当修改文本和自定义消息之外的消息时,`EMChatManagerDelegate#onMessageContentChanged` 回调中不返回修改的信息的问题。
15+
2. 修复 [拉取漫游消息](message_retrieve.html#从服务器获取指定会话的消息) 时,设置为不保存消息时(`EMFetchServerMessagesOption#isSave` 设置为 `false`)时,也会生成新的本地会话的问题。
16+
517
## 版本 V4.15.0 Dev 2025-5-21(开发版)
618

719
### 新增特性

docs/document/react-native/message_retrieve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
环信即时通讯 IM React Native SDK 通过 `ChatManager``ChatConversation` 类实现对会话和消息的管理。
1414

15-
- `getMessage`:根据消息 ID 获取本地消息
15+
- `getMessage`:根据消息 ID 获取单个本地消息
1616
- `getMsgsWithMsgType`:获取本地指定会话中特定类型的消息;
1717
- `getMsgWithTimestamp` :获取本地指定会话中一定时间段内的消息;
1818
- `getMessageCountWithTimestamp`:获取本地会话指定时间段的消息数量。
@@ -90,7 +90,7 @@ ChatClient.getInstance()
9090
});
9191
```
9292

93-
### 根据消息 ID 获取本地消息
93+
### 根据消息 ID 获取单个本地消息
9494

9595
你可以调用 `getMessage` 方法根据消息 ID 获取本地存储的指定消息。如果消息不存在会返回空值。
9696

docs/document/unity/message_retrieve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
- `IChatManager.FetchHistoryMessagesFromServerBy` 根据 `FetchServerMessagesOption` 类分页获取服务器保存的指定会话中的消息。
1616
- `Conversation.LoadMessages` 读取本地指定会话的消息。
17-
- `IChatManager.LoadMessage` 根据消息 ID 获取消息
17+
- `IChatManager.LoadMessage` 根据消息 ID 获取单个消息
1818
- `Conversation.LoadMessagesWithMsgType` 获取本地单个会话中特定类型的消息。
1919
- `Conversation.LoadMessagesWithTime` 获取本地单个会话中一定时间段内的消息。
2020
- `Conversion#MessagesCount` 获取 SDK 本地数据库中会话某个时间段内的全部消息数。
@@ -119,7 +119,7 @@ conv.LoadMessages(startMsgId, pagesize, callback:new ValueCallBack<List<Message>
119119
));
120120
```
121121

122-
### 根据消息 ID 获取本地消息
122+
### 根据消息 ID 获取单个本地消息
123123

124124
你可以调用 `LoadMessage` 方法根据消息 ID 获取本地存储的指定消息。如果消息不存在会返回空值。
125125

docs/document/windows/message_retrieve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,9 @@ conv.LoadMessages(startMsgId, pagesize, callback:new ValueCallBack<List<Message>
121121
));
122122
```
123123

124-
### 根据消息 ID 获取本地消息
124+
### 根据消息 ID 获取单个本地消息
125125

126-
你可以调用 `LoadMessage` 方法根据消息 ID 获取本地存储的指定消息。如果消息不存在会返回空值。
126+
你可以调用 `LoadMessage` 方法根据消息 ID 获取本地单个消息。如果消息不存在会返回空值。
127127

128128
```csharp
129129
// msgId:要获取消息的消息 ID。

docs/product/product_dynamics.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## 2025-06
44

5+
#### Android/iOS SDK 4.15.1 发版
6+
7+
| 动态名称 | 动态描述 | 发布时间 | 相关文档 |
8+
| :----- | :------- | :---------------- | :---------------- |
9+
| Android/iOS SDK 4.15.1 开发版发布 | <br/> - 支持 [根据关键字从本地数据库中获取单个会话的消息](/document/android/message_retrieve.html#根据关键字获取本地会话中的消息),SDK 返回会话 ID 及消息 ID 列表。<br/> - [根据消息 ID 从本地数据库获取单个或多个消息](/document/ios/message_retrieve.html#根据消息-id-获取单个或多个本地消息)| 2025-6-23 | <br> - [Android SDK 4.15.1 更新日志](/document/android/releasenote.html#版本-v4-15-1-dev-2025-6-23-开发版)<br> - [iOS SDK 4.15.1 更新日志](/document/ios/releasenote.html#版本-v4-15-1-dev-2025-6-23-开发版) |
10+
511
#### Web SDK 4.15.1 发版
612

713
| 动态名称 | 动态描述 | 发布时间 | 相关文档 |

0 commit comments

Comments
 (0)