Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 3 additions & 67 deletions docs/document/android/push/push_extension.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# 设置推送扩展功能

你可以实现推送扩展功能,包括设置自定义推送字段、仅对群组中某些成员推送通知、设置通知栏折叠、强制推送和发送静默消息。
你可以利用扩展字段实现自定义推送设置,本文以强制推送和发送静默消息为例介绍如何实现推送扩展功能。

对于推送扩展字段,详见[离线推送扩展字段文档](/document/server-side/push_extension.html)。

## 设置自定义推送字段

Expand Down Expand Up @@ -54,72 +56,6 @@ EMClient.getInstance().chatManager().sendMessage(message);

应用端解析自定义字段,参见 [解析收到的推送字段](push_parsing.html)。

## 设置某些群成员收到推送通知

在离线推送免打扰模式下,若你在群组中发送消息时只希望某些群成员收到离线推送通知,可通过设置消息扩展字段实现。

```java
// 本示例以文本消息为例,图片和文件等消息类型的设置方法相同。
EMMessage message = EMMessage.createSendMessage(EMMessage.Type.TXT);
// 设置自定义推送字段。
JSONObject extObject = new JSONObject();
try {
extObject.put("em_at_list", value);
} catch (JSONException e) {
e.printStackTrace();
}
// 将推送扩展设置到消息中。
message.setAttribute("em_apns_ext", extObject);
```

该扩展字段的数据结构如下:

```json
{
"em_apns_ext": {
"em_at_list": "All"
}
}
```

| 参数 | 描述 |
| :--------------- | :----------------- |
| `em_apns_ext` | 内置的推送扩展字段。 |
| `em_at_list` | 用户添加的自定义 key。`value` 为字段的值,为数组类型,表示接收推送通知的群成员的用户 ID,设置为 `All` 表示向所有群成员推送通知。 |

## 设置通知栏折叠

你可以将通知栏中的多条消息折叠起来,示例代码如下:

```java
// 本示例以文本消息为例,图片和文件等消息类型的设置方法相同。
EMMessage message = EMMessage.createSendMessage(EMMessage.Type.TXT);
// 设置自定义推送字段。
JSONObject extObject = new JSONObject();
try {
extObject.put("em_push_collapse_key", "collapseKey");
} catch (JSONException e) {
e.printStackTrace();
}
// 将推送扩展设置到消息中。
message.setAttribute("em_apns_ext", extObject);
```

通知栏折叠字段的数据结构如下:

```json
{
"em_apns_ext": {
"em_push_collapse_key": "collapseKey"
}
}
```

| 参数 | 描述 |
| :--------------- | :----------------- |
| `em_apns_ext` | 内置的推送扩展字段。 |
| `em_push_collapse_key` | 指定一组可折叠的消息(例如,含有 collapse_key: “Updates Available”),以便恢复传送时只发送最后一条消息,从而避免设备恢复在线状态或变为活跃状态时重复发送过多相同的消息。 |

## 强制推送

设置强制推送后,用户发送消息时会忽略接收方的免打扰设置,不论是否处于免打扰时间段都会正常向接收方推送消息。
Expand Down
61 changes: 3 additions & 58 deletions docs/document/ios/push/push_extension.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# 设置推送扩展

你可以利用扩展字段实现自定义推送设置,包括自定义铃声、强制推送、发送静默消息以及富文本推送功能。
你可以利用扩展字段实现自定义推送设置,本文以强制推送、发送静默消息和富文本推送为例介绍如何实现推送扩展功能。

对于推送扩展字段,详见[离线推送扩展字段文档](/document/server-side/push_extension.html)。

## 自定义推送字段

Expand Down Expand Up @@ -50,63 +52,6 @@ message.chatType = EMChatTypeChat;
| `e` | 自定义信息。 |
| `m` | 消息 ID。 |

## 设置某些群成员收到推送通知

在离线推送免打扰模式下,若你在群组中发送消息时只希望某些群成员收到离线推送通知,可通过设置消息扩展字段实现。

```Objective-C
EMTextMessageBody* body = [[EMTextMessageBody alloc] initWithText:@"hello"];
EMChatMessage* msg = [[EMChatMessage alloc] initWithConversationID:@"groupId" body:body ext:nil];
// 推送给群中所有成员时,设置为 `All`。
msg.ext = @{@"em_apns_ext":@{@"em_at_list":@"All"}};
//推送给指定群成员,设置为成员列表。
msg.ext = @{@"em_apns_ext":@{@"em_at_list":@[@"userId1",@"userId2"]}};
message.chatType = EMChatTypeGroupChat;
[EMClient.sharedClient.chatManager sendMessage:msg progress:nil completion:nil];
```

该扩展字段的数据结构如下:

```json
{
"em_apns_ext": {
"em_at_list": "All"
}
}
```

| 参数 | 描述 |
| :--------------- | :----------------- |
| `em_apns_ext` | 内置的推送扩展字段。 |
| `em_at_list` | 内置的扩展字段 key,对应的 value 为数组类型,表示接收推送通知的群成员的用户 ID,设置为 `All` 表示向所有群成员推送通知。 |

## 设置通知栏折叠

你可以将通知栏中的多条消息折叠起来,示例代码如下:

```Objective-C
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithText:@"test"];
EMChatMessage *message = [[EMChatMessage alloc] initWithConversationID:conversationId body:body ext:nil];
message.ext = @{@"em_apns_ext":@{@"em_push_collapse_key":@"collapseKey"}};

[EMClient.sharedClient.chatManager sendMessage:message progress:nil completion:nil];
```

通知栏折叠字段的数据结构如下:

```json
{
"em_apns_ext": {
"em_push_collapse_key": "collapseKey"
}
}
```

| 参数 | 描述 |
| :--------------- | :----------------- |
| `em_apns_ext` | 内置的消息扩展字段。 |
| `em_push_collapse_key` | 指定一组可折叠的消息(例如,含有 collapse_key: “Updates Available”),以便恢复传送时只发送最后一条消息,从而避免设备恢复在线状态或变为活跃状态时重复发送过多相同的消息。 |

## 自定义铃声

推送铃声是指用户收到推送时的提示音,你需要将音频文件加入到 app 中,并在推送中配置使用的音频文件名称。
Expand Down
58 changes: 3 additions & 55 deletions docs/document/react-native/push/push_extension.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# 设置推送扩展功能

你可以利用扩展字段实现自定义推送设置,通知栏折叠、强制推送和发送静默消息。
你可以利用扩展字段实现自定义推送设置,本文以强制推送和发送静默消息为例介绍如何实现推送扩展功能。

对于推送扩展字段,详见[离线推送扩展字段文档](/document/server-side/push_extension.html)。

## 设置自定义推送字段

Expand Down Expand Up @@ -37,60 +39,6 @@ msg.attributes = {
| `custom` | 消息扩展,使用扩展的方式向推送中添加自定义字段,该值为固定值。 |
| `key1`/`key2` | 自定义消息推送扩展的具体内容。 |

## 设置某些群成员收到推送通知

在离线推送免打扰模式下,若你在群组中发送消息时只希望某些群成员收到离线推送通知,可通过设置消息扩展字段实现。

```typescript
msg.attributes = {
em_apns_ext: {
"em_at_list": "All"
},
};
```

该扩展字段的数据结构如下:

```json
{
"em_apns_ext": {
"em_at_list": "All"
}
}
```

| 参数 | 描述 |
| :--------------- | :----------------- |
| `em_apns_ext` | 内置的消息扩展字段。 |
| `em_at_list` | 内置的扩展字段 key,对应的 value 为数组类型,表示接收推送通知的群成员的用户 ID,设置为 `All` 表示向所有群成员推送通知。 |

## 设置通知栏折叠

你可以将通知栏中的多条消息折叠起来,示例代码如下:

```typescript
msg.attributes = {
em_apns_ext: {
em_push_collapse_key: "collapseKey",
},
};
```

通知栏折叠字段的数据结构如下:

```json
{
"em_apns_ext": {
"em_push_collapse_key": "collapseKey"
}
}
```

| 参数 | 描述 |
| :--------------- | :----------------- |
| `em_apns_ext` | 内置的消息扩展字段。 |
| `em_push_collapse_key` | 指定一组可折叠的消息(例如,含有 collapse_key: “Updates Available”),以便恢复传送时只发送最后一条消息,从而避免设备恢复在线状态或变为活跃状态时重复发送过多相同的消息。 |

## 强制推送

设置强制推送后,用户发送消息时会忽略接收方的免打扰设置,不论是否处于免打扰时间段都会正常向接收方推送消息。
Expand Down