Skip to content

Commit 186989e

Browse files
authored
Merge pull request #1085 from haoxiuwen/doc-v2
Add iOS UIKit 4.11.0
2 parents 4fb97c5 + 30ee1c8 commit 186989e

File tree

5 files changed

+57
-16
lines changed

5 files changed

+57
-16
lines changed

docs/document/android/message_receipt.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,24 +73,24 @@ EMClient.getInstance().chatManager().removeMessageListener(msgListener);
7373

7474
### 单聊消息已读回执
7575

76-
单聊既支持单条消息已读回执,也支持[会话已读回执](conversation_receipt.html)。我们建议你结合使用这两种回执:
77-
78-
- 聊天页面打开时,若收到消息,发送单条消息已读回执。
79-
- 聊天页面未打开时,若有未读消息,进入聊天页面,发送会话已读回执。这种方式可避免发送多个消息已读回执。
76+
单聊既支持单条消息已读回执,也支持[会话已读回执](conversation_receipt.html)。我们建议你结合使用这两种回执,见实现步骤的描述。
8077

8178
单聊消息的已读回执有效期与消息在服务端的存储时间一致,即在服务器存储消息期间均可发送已读回执。消息在服务端的存储时间与你订阅的套餐包有关,详见[产品价格](/product/pricing.html#套餐包功能详情)
8279

8380
参考如下步骤在单聊中实现消息已读回执。
8481

8582
1. App 开启已读回执功能,即 SDK 初始化时将 `EMOptions#setRequireAck` 设置为 `true`
83+
8684
```java
87-
// 设置是否需要接受方已读确认,默认为true
85+
// 设置是否需要接收方已读确认,默认为 true
8886
options.setRequireAck(true);
8987
```
9088

9189
2. 接收方发送消息已读回执。
9290

9391
- 接收方进入会话时,发送会话已读回执。
92+
93+
聊天页面未打开时,若有未读消息,进入聊天页面,发送会话已读回执。这种方式可避免发送多个消息已读回执。
9494

9595
```java
9696
try {
@@ -100,7 +100,7 @@ try {
100100
}
101101
```
102102

103-
- 接收方在会话页面,接收到消息时,再根据消息类型发送单个消息已读回执。
103+
- 接收方在聊天页面打开时,接收到消息时,再根据消息类型发送单个消息已读回执。
104104

105105
```java
106106
EMClient.getInstance().chatManager().addMessageListener(new EMMessageListener() {
@@ -141,7 +141,7 @@ public void sendReadAck(EMMessage message) {
141141

142142
```
143143

144-
3. 消息发送方监听消息已读回调。
144+
1. 消息发送方监听消息已读回调。
145145

146146
消息发送方可以通过 `EMMessageListener#onMessageRead` 事件监听指定消息是否已读,示例代码如下:
147147

@@ -285,7 +285,7 @@ public void asyncFetchGroupReadAcks(
285285

286286
- 会话已读回执发送后,开发者需要调用 `EMConversation#markAllMessagesAsRead` 方法将该会话的所有消息置为已读,即会话的未读消息数清零。
287287

288-
- 消息已读回执发送后,开发者需要调用 `EMConversation#markMessageAsRead` 方法将该条消息置为已读,则消息未读数会有变化
288+
- 消息已读回执发送后,开发者需要调用 `EMConversation#markMessageAsRead` 方法将该条消息置为已读,消息未读数会有变化
289289

290290

291291

docs/document/ios/message_receipt.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ options.enableDeliveryAck = YES;
5454
```
5555

5656
2. 接收方收到消息后,SDK 自动向发送方送达回执。
57+
5758
3. 发送方监听 `EMChatManagerDelegate#messagesDidDeliver` 事件,收到接收方的送达回执。你可以在收到该通知时,显示消息的送达状态。
5859

5960
```objectivec
@@ -74,7 +75,7 @@ EMChatManagerDelegate
7475
7576
### 单聊消息已读回执
7677
77-
单聊既支持消息已读回执,也支持[会话已读回执](conversation_receipt.html)。我们建议你结合使用这两种回执
78+
单聊既支持消息已读回执,也支持[会话已读回执](conversation_receipt.html)。我们建议你结合使用这两种回执,见实现步骤的描述。
7879
7980
- 聊天页面打开时,若收到消息,发送消息已读回执。
8081
- 聊天页面未打开时,若有未读消息,进入聊天页面,发送会话已读回执。这种方式可避免发送多个消息已读回执。
@@ -94,12 +95,14 @@ options.enableRequireReadAck = YES;
9495
2. 接收方发送消息已读回执。
9596

9697
- 消息接收方进入会话时,发送会话已读回执。
98+
99+
聊天页面未打开时,若有未读消息,进入聊天页面,发送会话已读回执。这种方式可避免发送多个消息已读回执。
97100

98101
```objectivec
99102
[[EMClient sharedClient].chatManager ackConversationRead:conversationId completion:nil];
100103
```
101104
102-
- 在会话页面,接收到消息时,根据消息类型发送消息已读回执。
105+
- 接收方在聊天页面打开时,接收到消息时,再根据消息类型发送单个消息已读回执。
103106
104107
```objectivec
105108
// 接收消息回调。

docs/document/web/message_receipt.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,7 @@ conn.addEventHandler("customEvent", {
8080

8181
### 单聊消息已读回执
8282

83-
单聊既支持消息已读回执,也支持[会话已读回执](conversation_receipt.html)。我们建议你结合使用这两种回执:
84-
85-
- 聊天页面打开时,若收到消息,发送消息已读回执。
86-
- 聊天页面未打开时,若有未读消息,进入聊天页面,发送会话已读回执。这种方式可避免发送多个消息已读回执。
83+
单聊既支持消息已读回执,也支持[会话已读回执](conversation_receipt.html)。我们建议你结合使用这两种回执,见实现步骤的描述。
8784

8885
单聊消息的已读回执有效期与消息在服务端的存储时间一致,即在服务器存储消息期间均可发送已读回执。消息在服务端的存储时间与你订阅的套餐包有关,详见[产品价格](/product/pricing.html#套餐包功能详情)
8986

@@ -93,6 +90,8 @@ conn.addEventHandler("customEvent", {
9390

9491
- 消息接收方进入会话时,发送会话已读回执。
9592

93+
聊天页面未打开时,若有未读消息,进入聊天页面,发送会话已读回执。这种方式可避免发送多个消息已读回执。
94+
9695
```javascript
9796
let option = {
9897
chatType: "singleChat", // 会话类型,设置为单聊。
@@ -103,7 +102,7 @@ let msg = WebIM.message.create(option);
103102
conn.send(msg);
104103
```
105104

106-
- 在会话页面,接收到消息时发送消息已读回执,如下所示:
105+
- 聊天页面打开时,若收到消息,发送消息已读回执,如下所示:
107106

108107
```javascript
109108
let option = {
@@ -116,7 +115,7 @@ let msg = WebIM.message.create(option);
116115
conn.send(msg);
117116
```
118117

119-
2. 消息发送方监听消息已读回调。
118+
1. 消息发送方监听消息已读回调。
120119

121120
你可以调用接口监听指定消息是否已读,示例代码如下:
122121

docs/uikit/chatuikit/ios/chatuikit_custom_cell.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,40 @@ final class MineMessageEntity: MessageEntity {
8484

8585
```Swift
8686
class CustomMessageListController: MessageListController {
87+
88+
//要实现微信样式(followInput),需要同时重载下面的方法以及仿系统 UIActionSheet 样式(ActionSheet)的方法
89+
override func processFollowInputAttachmentAction() {
90+
if Appearance.chat.messageAttachmentMenuStyle == .followInput {
91+
if let fileItem = Appearance.chat.inputExtendActions.first(where: { $0.tag == "File" }) {
92+
fileItem.action = { [weak self] item,object in
93+
self?.handleAttachmentAction(item: item)
94+
}
95+
}
96+
if let photoItem = Appearance.chat.inputExtendActions.first(where: { $0.tag == "Photo" }) {
97+
photoItem.action = { [weak self] item,object in
98+
self?.handleAttachmentAction(item: item)
99+
}
100+
}
101+
if let cameraItem = Appearance.chat.inputExtendActions.first(where: { $0.tag == "Camera" }) {
102+
cameraItem.action = { [weak self] item,object in
103+
self?.handleAttachmentAction(item: item)
104+
}
105+
}
106+
if let contactItem = Appearance.chat.inputExtendActions.first(where: { $0.tag == "Contact" }) {
107+
contactItem.action = { [weak self] item,object in
108+
self?.handleAttachmentAction(item: item)
109+
}
110+
}
111+
if let redPackageItem = Appearance.chat.inputExtendActions.first(where: { $0.tag == "Red" }) {
112+
redPackageItem.action = { [weak self] item,object in
113+
self?.handleAttachmentAction(item: item)
114+
}
115+
}
116+
117+
}
118+
}
87119

120+
//仿系统 UIActionSheet 样式(ActionSheet)只需要重载以下方法
88121
override func handleAttachmentAction(item: any ActionSheetItemProtocol) {
89122
switch item.tag {
90123
case "File": self.selectFile()

docs/uikit/chatuikit/ios/releasenote.md

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

55
### 问题修复
66

7+
修复了部分 `UIKit内ChatNavigationBar` 继承后需要调用内部指定初始化器,与系统的初始化方法同名导致递归的问题。
8+
9+
## 版本 4.11.0
10+
11+
### 问题修复
12+
713
- 修复微信风格样式的发送附件消息菜单与表情键盘点击互相影响的问题。
814
- 修复了微信风格长按菜单多个扩展显示的问题。
915
- 修复了完全自定义消息文档缺失的问题,以及原来只能自定义一种自定义消息样式的问题。详见[实现新类型的自定义消息 Cell](chatuikit_custom_cell.html)

0 commit comments

Comments
 (0)