Skip to content

Commit

Permalink
Merge pull request #646 from haoxiuwen/doc-v2
Browse files Browse the repository at this point in the history
Modify the SDK Doc of Delivering only to Online Users & SDK Doc of Recalling a Message
  • Loading branch information
haoxiuwen authored Feb 26, 2024
2 parents 8b4173d + b893eb5 commit a03f63b
Show file tree
Hide file tree
Showing 22 changed files with 83 additions and 8 deletions.
2 changes: 1 addition & 1 deletion docs/document/android/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
14 changes: 14 additions & 0 deletions docs/document/android/message_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ SDK 内部使用 SQLite 保存本地消息,方便消息处理。

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)的功能配置 > 功能配置总览 > 基础功能页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

### [搜索消息](message_search.html)

搜索消息支持以下方式的搜索:
Expand Down Expand Up @@ -138,6 +142,16 @@ SDK 内部使用 SQLite 保存本地消息,方便消息处理。
- 按需翻译:接收方在收到文本消息后,将消息内容翻译为目标语言。
- 自动翻译:发送方发送消息时,SDK 根据发送方设置的目标语言自动翻译文本内容,然后将消息原文和译文一起发送给接收方。

### [只投在线用户](message_deliver_only_online.html)

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

各类型的消息均支持该功能,但该功能只支持单聊和群组聊天,**不适用于聊天室**。 该类的消息与普通消息相比,存在如下差异:

1. **不支持离线存储**:若发送消息时,接收方离线则无法收到消息,即使重新登录后也收不到消息。对于普通消息,当接收方在线时, 实时收到消息提醒;当接收方离线时,实时发送离线推送消息,接收方再次上线时, 由环信 IM 服务器主动推给客户端离线期间的消息。
2. **支持本地存储**:消息成功发送后,写入数据库。
3. **默认不支持漫游存储**:发送的消息默认不存储在环信消息服务器,用户在其他终端设备上无法获取到该消息。**如需开通在线消息的漫游存储,需联系环信商务。**

### [获取消息流量统计](message_traffic_statis.html)

对于 Android 和 iOS 平台,用户可以获取本地消息的流量统计信息。
Expand Down
4 changes: 4 additions & 0 deletions docs/document/android/message_recall.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)**功能配置** > **功能配置总览** > **基础功能**页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

## 技术原理

环信即时通讯 IM 通过 `EMChatManager``EMMessage` 类支持你撤回一条发送成功的消息:
Expand Down
4 changes: 4 additions & 0 deletions docs/document/android/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,10 @@ EMClient.getInstance().chatManager().sendMessage(message);

透传消息可视为命令消息,通过发送这条命令给对方,通知对方要进行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。具体功能可以根据自身业务需求自定义,例如实现头像、昵称的更新等。另外,以 “em_” 和 “easemob::” 开头的 action 为内部保留字段,注意不要使用。

:::tip
透传消息发送后,不支持撤回。
:::

```java
EMMessage cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 支持单聊、群聊和聊天室,默认为单聊。
Expand Down
4 changes: 4 additions & 0 deletions docs/document/applet/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,10 @@ const sendLocMsg = () => {

透传消息是通知指定用户采取特定操作的命令消息。接收方自己处理透传消息。

:::tip
透传消息发送后,不支持撤回。
:::

参考以下代码示例发送和接收透传消息:

```javascript
Expand Down
2 changes: 1 addition & 1 deletion docs/document/flutter/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
4 changes: 4 additions & 0 deletions docs/document/flutter/message_recall.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)**功能配置** > **功能配置总览** > **基础功能**页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

## 技术原理

环信即时通讯 IM 通过 `EMChatManager``EMMessage` 类支持你撤回一条发送成功的消息:
Expand Down
4 changes: 4 additions & 0 deletions docs/document/flutter/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,10 @@ EMClient.getInstance.chatManager.sendMessage(localMsg);

透传消息可视为命令消息,通过发送这条命令给对方,通知对方要进行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。具体功能可以根据自身业务需求自定义,例如实现头像、昵称的更新等。另外,以 “em_” 和 “easemob::” 开头的 action 为内部保留字段,注意不要使用。

:::tip
透传消息发送后,不支持撤回。
:::

```dart
final cmdMsg = EMMessage.createCmdSendMessage(
targetId: targetId,
Expand Down
2 changes: 1 addition & 1 deletion docs/document/ios/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
4 changes: 4 additions & 0 deletions docs/document/ios/message_recall.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)**功能配置** > **功能配置总览** > **基础功能**页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

## 技术原理

环信即时通讯 IM 通过 `ChatManager` 类和 `EMChatMessage` 类支持你撤回一条发送成功的消息:
Expand Down
6 changes: 5 additions & 1 deletion docs/document/ios/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,10 +311,14 @@ message.chatType = EMChatTypeGroupChat;
### 发送透传消息
可以把透传消息理解为一条指令,通过发送这条指令给对方,通知对方要执行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。另外,以 “em_” 和 “easemob::” 开头的 `action` 为内部保留字段,注意不要使用。
可以把透传消息理解为一条指令,通过发送这条指令给对方,通知对方要执行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。具体功能可以根据自身业务需求自定义,例如实现头像、昵称的更新等。另外,以 “em_” 和 “easemob::” 开头的 `action` 为内部保留字段,注意不要使用。
透传消息适用于更新头像、更新昵称等场景。
:::tip
透传消息发送后,不支持撤回。
:::
```objectivec
// `action` 自定义 `NSString` 类型的命令内容。
EMCmdMessageBody *body = [[EMCmdMessageBody alloc] initWithAction:action];
Expand Down
2 changes: 1 addition & 1 deletion docs/document/react-native/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
4 changes: 4 additions & 0 deletions docs/document/react-native/message_recall.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)**功能配置** > **功能配置总览** > **基础功能**页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

## 技术原理

环信即时通讯 IM 通过 `ChatManager` 类和 `ChatMessage` 类支持你撤回一条发送成功的消息:
Expand Down
4 changes: 4 additions & 0 deletions docs/document/react-native/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,10 @@ EMClient.getInstance().chatManager().sendMessage(msg, callback).then().catch();

透传消息可视为命令消息,通过发送这条命令给对方,通知对方要进行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。具体功能可以根据自身业务需求自定义,例如实现头像、昵称的更新等。另外,以 “em_” 和 “easemob::” 开头的 action 为内部保留字段,注意不要使用。

:::tip
透传消息发送后,不支持撤回。
:::

```typescript
// 构建透传消息
// 根据透传消息可以执行具体的命令,命令的内容格式支持自定义
Expand Down
2 changes: 1 addition & 1 deletion docs/document/unity/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
4 changes: 4 additions & 0 deletions docs/document/unity/message_recall.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)**功能配置** > **功能配置总览** > **基础功能**页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

## 技术原理

环信即时通讯 IM 通过 `IChatManager``Message` 类支持你撤回一条发送成功的消息:
Expand Down
4 changes: 4 additions & 0 deletions docs/document/unity/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,10 @@ SDKClient.Instance.ChatManager.SendMessage(ref msg, new CallBack(

透传消息可视为命令消息,通过发送这条命令给对方,通知对方要进行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。具体功能可以根据自身业务需求自定义,例如实现头像、昵称的更新等。另外,以 “em_” 和 “easemob::” 开头的 action 为内部保留字段,注意不要使用。

:::tip
透传消息发送后,不支持撤回。
:::

```csharp
//`action` 可以自定义。
string action = "actionXXX";
Expand Down
2 changes: 1 addition & 1 deletion docs/document/web/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
9 changes: 9 additions & 0 deletions docs/document/web/message_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ Web 和小程序端无本地消息存储,只支持管理服务端消息。
- 按需翻译:接收方在收到文本消息后,将消息内容翻译为目标语言。
- 自动翻译:发送方发送消息时,SDK 根据发送方设置的目标语言自动翻译文本内容,然后将消息原文和译文一起发送给接收方。

### [只投在线用户](message_deliver_only_online.html)

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

各类型的消息均支持该功能,但该功能只支持单聊和群组聊天,**不适用于聊天室**。 该类的消息与普通消息相比,存在如下差异:

1. **不支持离线存储**:若发送消息时,接收方离线则无法收到消息,即使重新登录后也收不到消息。对于普通消息,当接收方在线时, 实时收到消息提醒;当接收方离线时,实时发送离线推送消息,接收方再次上线时, 由环信 IM 服务器主动推给客户端离线期间的消息。
2. **默认不支持漫游存储**:发送的消息默认不存储在环信消息服务器,用户在其他终端设备上无法获取到该消息。**如需开通在线消息的漫游存储,需联系环信商务。**

## 消息重发机制

发送消息时如果 WebSocket 已经断开正在进行重连时,重新连接后会重新发送消息;若 WebSocket 断开时发送消息,SDK 会提示网络断开连接导致消息发送失败的错误,即错误码 510 `MESSAGE_WEBSOCKET_DISCONNECTED`
Expand Down
2 changes: 1 addition & 1 deletion docs/document/windows/message_deliver_only_online.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 消息只投递给在线用户
# 消息仅投递在线用户

环信即时通讯 IM 支持只将消息投递给在线用户。若接收方不在线,则无法收到消息。该功能用于实现应用只需要向在线用户进行展示目的,例如,利用透传消息实现群投票的票数实时变化, 只有在线用户需要关注实时变化的动态, 离线用户只需要再次上线时获取最终状态。

Expand Down
4 changes: 4 additions & 0 deletions docs/document/windows/message_recall.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

默认情况下,发送方可撤回发出 2 分钟内的消息。你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)**功能配置** > **功能配置总览** > **基础功能**页面设置消息撤回时长,该时长不超过 7 天。

:::tip
除了透传消息,其他各类型的消息都支持撤回。
:::

## 技术原理

环信即时通讯 IM 通过 `IChatManager``Message` 类支持你撤回一条发送成功的消息:
Expand Down
4 changes: 4 additions & 0 deletions docs/document/windows/message_send_receive.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,10 @@ SDKClient.Instance.ChatManager.SendMessage(ref msg, new CallBack(

透传消息可视为命令消息,通过发送这条命令给对方,通知对方要进行的操作,收到消息可以自定义处理。(透传消息不会存入本地数据库中,所以在 UI 上不会显示)。具体功能可以根据自身业务需求自定义,例如实现头像、昵称的更新等。另外,以 “em_” 和 “easemob::” 开头的 action 为内部保留字段,注意不要使用。

:::tip
透传消息发送后,不支持撤回。
:::

```csharp
//`action` 可以自定义。
string action = "actionXXX";
Expand Down

0 comments on commit a03f63b

Please sign in to comment.