Skip to content

Commit fcce2fe

Browse files
author
haoxiuwen
committed
modify
1 parent 0910d4e commit fcce2fe

File tree

4 files changed

+35
-30
lines changed

4 files changed

+35
-30
lines changed

docs/document/react-native/push/push_notification_mode_dnd.md

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

33
为优化用户在处理大量推送通知时的体验,环信即时通讯 IM 在 app 和会话层面提供了推送通知方式和免打扰模式的细粒度选项。
44

5-
**推送通知方式和免打扰模式为推送的高级功能**,若要设置,你需要在 [环信控制台](https://console.easemob.com/user/login)**即时通讯 > 功能配置 > 功能配置总览**页面激活推送高级功能。如需关闭推送高级功能必须联系商务,因为该操作会删除所有相关配置。
6-
7-
![image](/images/android/push/push_android_enable_push.png)
8-
95
## 推送通知方式
106

117
推送通知方式 `remindType` 包含三种类型,如下表所示。其中,会话级别的 `remindType` 设置优先于 app 级别的设置,未设置推送通知方式的会话默认采用 app 的设置。例如,假设 app 的推送方式设置为 `MENTION_ONLY`,而指定会话的推送方式设置为 `ALL`。你会收到来自该会话的所有推送通知,而对于其他会话来说,你只会收到提及你的消息的推送通知。
@@ -58,13 +54,15 @@
5854

5955
## 免打扰模式
6056

61-
你可以在 app 级别指定免打扰时间段和免打扰时长,即时通讯 IM 在这两个时间段内不发送离线推送通知。若既设置了免打扰时间段,又设置了免打扰时长,免打扰模式的生效时间为这两个时间段的累加。
57+
完成 SDK 初始化和成功登录 app 后,你可以对 app 以及各类型的会话开启离线推送功能以及通过设置免打扰模式关闭推送。
58+
- 你可以通过 `startTime``endTime` 参数开启全天免打扰和关闭免打扰模式:若开始时间和结束时间相同,免打扰模式则全天生效;若设置为 `0:0`-`0:0`,则关闭免打扰模式。
59+
- 你可以在 app 级别指定免打扰时间段和免打扰时长,环信 IM 在这两个时间段内不发送离线推送通知。若既设置了免打扰时间段,又设置了免打扰时长,免打扰模式的生效时间为这两个时间段的累加。
6260

6361
免打扰时间参数的说明如下表所示:
6462

6563
| 免打扰时间参数 | 类型 |描述 | 应用范围 |
6664
| :------------------- | :--------------------------- | :--------------------------- | :------------------- |
67-
| `startTime` - `endTime` | Int |每天定时触发离线推送免打扰的时间段,采用 24 小时制,精确到分钟,格式为 H:M-H:M,例如 8:30-10:0,开始时间和结束时间中的小时数和分钟数的取值范围分别为 [0,23] 和 [0,59]。免打扰时间段的设置说明如下:<br/> - 开始时间和结束时间设置后,免打扰模式每天定时触发。例如,若该时间段设置为 `8:0`-`10:0`,免打扰模式在每天的 8:00-10:00 内生效。若你在 11:00 设置开始时间为 `8:0`,结束时间为 `12:0`,则免打扰模式在当天的 11:00-12:00 生效,以后每天均在 8:00-12:00 生效。<br/> - 若开始时间和结束时间相同,免打扰模式则全天生效。不过,若设置为 `0:0`-`0:0`,则关闭免打扰模式。<br/> - 若结束时间早于开始时间,则免打扰模式在每天的开始时间到次日的结束时间内生效。例如,开始时间为 `10:0`,结束时间为 `8:0`,则免打扰模式的在当天的 10:00 到次日的 8:00 生效。<br/> - 目前仅支持在每天的一个指定时间段内开启免打扰模式,不支持多个免打扰时间段,新的设置会覆盖之前的设置。<br/> - 若该参数和免打扰时长 `expireTimestamp` 均设置,免打扰模式当日在这两个时间段均生效,例如,上午 8:00 将免打扰的时间段设置为 8:0-10:0,免打扰时长设置为 240 分钟(4 个小时),则 app 在当天 8:00-12:00 和以后每天 8:00-10:00 处于免打扰模式。 | 仅针对 app 生效,对单聊或群聊不生效。 |
65+
| `startTime` - `endTime` | Int |每天定时触发离线推送免打扰的时间段,采用 24 小时制,精确到分钟,格式为 H:M-H:M,例如 8:30-10:0,开始时间和结束时间中的小时数和分钟数的取值范围分别为 [0,23] 和 [0,59]。免打扰时间段的设置说明如下:<br/> - 开始时间和结束时间设置后,免打扰模式每天定时触发。例如,若该时间段设置为 `8:0`-`10:0`,免打扰模式在每天的 8:00-10:00 内生效。若你在 11:00 设置开始时间为 `8:0`,结束时间为 `12:0`,则免打扰模式在当天的 11:00-12:00 生效,以后每天均在 8:00-12:00 生效。<br/> - 若开始时间和结束时间相同,免打扰模式则全天生效。不过,若设置为 `0:0`-`0:0`,则关闭免打扰模式。<br/> - 若结束时间早于开始时间,则免打扰模式在每天的开始时间到次日的结束时间内生效。例如,开始时间为 `10:0`,结束时间为 `8:0`,则免打扰模式的在当天的 10:00 到次日的 8:00 生效。<br/> - 目前仅支持在每天的一个指定时间段内开启免打扰模式,不支持多个免打扰时间段,新的设置会覆盖之前的设置。<br/> - 若该参数和免打扰时长 `expireTimestamp` 均设置,免打扰模式当日在这两个时间段均生效,例如,上午 8:00 将免打扰的时间段设置为 8:0-10:0,免打扰时长设置为 240 分钟(4 个小时),则 app 在当天 8:00-12:00 和以后每天 8:00-10:00 处于免打扰模式。 | 仅针对 app 生效,对单聊或群聊不生效。 |
6866
| `expireTimestamp` | Int |免打扰时长,单位为毫秒。免打扰时长最长不超过 7 天。<br/> 与免打扰时间段(`startTime` - `endTime`)的设置每天生效不同,该参数为一次有效。设置后立即生效,例如,上午 8:00 将 app 层级的免打扰时长设置为 4 个小时,则 app 在当天 8:00-12:00 处于免打扰模式。<br/> - 若该参数和免打扰时间段均设置,免打扰模式当日在这两个时间段均生效,例如,上午 8:00 将 app 级的免打扰时间段设置为 8:00-10:00,免打扰时长设置为 4 个小时,则 app 在当前 8:00-12:00 和以后每天 8:00-10:00 处于免打扰模式。 | App 或单聊/群聊会话。|
6967

7068
若在免打扰时段或时长生效期间需要对指定用户推送消息,需设置[强制推送](push_extension.html#强制推送)

docs/document/react-native/push/push_overview.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,15 @@
88

99
客户端断开连接或应用进程被关闭等原因导致用户离线时,即时通讯 IM 会通过第三方消息推送服务向该离线用户的设备推送消息通知。当用户再次上线时,服务器会将离线期间的消息发送给用户(这里角标表示的是离线消息数,并不是实际的未读消息数)。例如,当你离线时,有用户向你发送了消息,你的手机的通知中心会弹出消息通知,当你再次打开 app 并登录成功,即时通讯 IM SDK 会主动拉取你不在线时的消息。
1010

11-
除了满足用户离线条件外,要使用第三方离线推送,你还需在[环信控制台](https://console.easemob.com/user/login)配置推送证书信息,例如,对于华为推送,需配置**证书名称****推送密钥**,并调用客户端 SDK 提供的 API 向环信服务器上传 device token。
11+
除了满足用户离线条件外,要使用第三方离线推送,你还需在[环信即时通讯云控制台](https://console.easemob.com/user/login)配置推送证书信息,例如,对于华为推送,需配置**证书名称****推送密钥**,并调用客户端 SDK 提供的 API 向环信服务器上传 device token。
1212

1313
**以下两种情况,即时通讯 IM 不会发送离线推送通知:**
1414

1515
1. 若应用在后台运行,则用户仍为在线状态,即时通讯 IM 不会向用户推送消息通知。
1616

1717
2. 应用在后台运行或手机锁屏等情况,若客户端未断开与服务器的连接,则即时通讯 IM 不会收到离线推送通知。
1818

19-
## 离线推送高级功能
20-
21-
如果需要离线推送的高级功能,需在[环信控制台](https://console.easemob.com/user/login)**即时通讯 > 功能配置 > 功能配置总览**页面激活。高级功能包括[推送通知方式](push_notification_mode_dnd.html#推送通知方式)[免打扰模式](push_notification_mode_dnd.html#免打扰模式)[推送模板](push_display.html#使用推送模板)**如需关闭推送高级功能必须联系商务,因为该操作会删除所有相关配置。**
22-
23-
## 多设备离线推送策略
24-
25-
多设备登录时,可在[环信控制台](https://console.easemob.com/user/login)**证书管理**页面配置推送策略,该策略配置对所有推送通道生效:
26-
27-
- 所有设备离线时,才发送推送消息;
28-
- 任一设备离线时,都发送推送消息。
29-
30-
**注意**:多端登录时若有设备被踢下线,即使接入了 IM 离线推送,也收不到离线推送消息。
31-
32-
![image](/images/android/push/push_multidevice_policy.png)
33-
34-
## 技术原理
19+
## 推送原理
3520

3621
### Android 平台离线推送
3722

@@ -73,11 +58,28 @@
7358
关于获取和发送推送 token(device token),详见[获取或更新推送 token](push_get_device_token.html)[发送推送 token 到服务器端](push_send_token_to_server.html)
7459
:::
7560

61+
## 推送模板
62+
63+
推送模板是离线推送的高级功能。使用前,你需要在 [环信控制台](https://console.easemob.com/user/login)**功能配置 > 基础功能 > 消息** 页面激活。**激活后,如需关闭推送模板功能,必须联系商务,因为该操作会删除推送模板相关的所有配置。**
64+
65+
推送模板的配置和使用,详见 [相关文档介绍](push_template.html)
66+
67+
## 多设备离线推送策略
68+
69+
多设备登录时,可在 [环信控制台](https://console.easemob.com/user/login)**证书管理** 页面配置推送策略,该策略配置对所有推送通道生效:
70+
71+
- 所有设备离线时,才发送推送消息;
72+
- 任一设备离线时,都发送推送消息。
73+
74+
**多端登录时若有设备被踢下线,即使接入了 IM 离线推送,也收不到离线推送消息。**
75+
76+
![image](/images/android/push/push_multidevice_policy.png)
77+
7678
## 前提条件
7779

78-
1. [环信控制台](https://console.easemob.com/user/login) [注册账号](/product/console/account_register.html)[创建应用](/product/console/app_create.html)
80+
1. 已开启环信即时通讯服务,详见 [开启和配置即时通讯服务](/product/enable_and_configure_IM.html)
7981
2. 了解环信即时通讯 IM 的使用限制,详见 [使用限制](/product/limitation.html)
80-
3. 若使用[推送高级功能](#离线推送高级功能),需在[环信控制台](https://console.easemob.com/user/login)上激活。
82+
3. 若使用[推送模板](#推送模板),需在[环信控制台](https://console.easemob.com/user/login)上激活。
8183
4. 各推送使用的条件:
8284
- APNs:在苹果设备上可用;
8385
- Google FCM:设备启用了 Google Play 服务且可连接至 Google 服务器;

docs/document/react-native/push/push_send_token_to_server.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ yarn add react-native-chat-sdk
1616

1717
[环信控制台](https://console.easemob.com/user/login)获取推送证书信息,配置应用的 App Key(`appKey`)和推送证书名称(`pushId`)信息。
1818

19-
- `appKey`:在[环信控制台](https://console.easemob.com/user/login)**应用详情** 页面查看。
19+
- `appKey`:在[环信控制台](https://console.easemob.com/user/login)**应用概览** 页面查看。
2020
- `pushId`:推送证书名称。不同厂商的推送证书名称也不同。
2121

2222
![img](/images/react-native/push/push_get_appkey.png)
@@ -27,7 +27,7 @@ yarn add react-native-chat-sdk
2727
import { getPlatform, getDeviceType } from "react-native-push-collection";
2828
import { ChatClient, ChatOptions, ChatPushConfig } from "react-native-chat-sdk";
2929

30-
// 从环信控制台获取推送 ID、pushId
30+
// 从环信即时通讯云控制台获取推送 ID、pushId
3131
const pushId = "<your push id from easemob console>";
3232

3333
// 设置推送类型

docs/document/web/conversation_list.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,21 @@
3030
:::tip
3131
1. **若使用该功能,需 [在环信控制台开通](/product/console/basic_conversation_group_chatroom.html#服务端会话列表),并将 SDK 升级至 4.1.7 或以上版本。而且,只有开通该功能,你才能使用置顶会话和会话标记功能。**
3232
2. 登录用户的 ID 大小写混用会导致拉取会话列表时提示会话列表为空,因此建议用户 ID 使用小写字母。
33-
3. 服务端会话列表的更新存在延时,建议你仅在登录时调用该方法。
34-
4. 通过 RESTful 接口发送的消息默认不创建或写入会话。若会话中的最新一条消息通过 RESTful 接口发送,获取会话列表时,该会话中的最新一条消息显示为通过非 RESTful 接口发送的最新消息。若要开通 RESTful 接口发送的消息写入会话列表的功能,需在[环信控制台开通](/product/console/basic_conversation_group_chatroom.html#rest-发消息写会话列表)
33+
3. 从 4.17.0 版本起,你可以选择是否拉取空会话。
34+
4. 服务端会话列表的更新存在延时,建议你仅在登录时调用该方法。
35+
5. 通过 RESTful 接口发送的消息默认不创建或写入会话。若会话中的最新一条消息通过 RESTful 接口发送,获取会话列表时,该会话中的最新一条消息显示为通过非 RESTful 接口发送的最新消息。若要开通 RESTful 接口发送的消息写入会话列表的功能,需在[环信即时通讯控制台开通](/product/enable_and_configure_IM.html#设置通过-restful-api-发送的消息写入会话列表)
3536
:::
3637

3738
示例代码如下:
3839

3940
```javascript
4041
// pageSize: 每页期望获取的会话数量。取值范围为 [1,50],默认为 `20`。
4142
// cursor:开始获取数据的游标位置。若传空字符串(''),SDK 从最新活跃的会话开始获取。
42-
connection.getServerConversations({pageSize:50, cursor: ''}).then((res)=>{
43+
connection.getServerConversations({
44+
pageSize: 50,
45+
cursor: '',
46+
includeEmptyConversations: true // 是否获取空会话
47+
}).then((res)=>{
4348
console.log(res)
4449
})
4550
```

0 commit comments

Comments
 (0)