|
1 | | - # 离线推送的消息扩展说明 |
| 1 | +# 离线推送的消息扩展说明 |
2 | 2 |
|
3 | 3 | 环信即时通讯 IM 支持 APNs 推送和 Android 厂商离线推送,包括华为、荣耀、FCM、小米、魅族、OPPO 和 vivo。使用离线推送时,你可以通过消息扩展字段实现推送相应功能,例如,设置推送模板中的推送标题和内容、设置仅接收提及(`@`)某些用户的推送通知等。 |
4 | 4 |
|
|
34 | 34 | | `name` | String | 推送模板名称。 | |
35 | 35 | | `title_args` | `List<String>` | 推送模板标题参数,内置参数:发送方昵称 `{$fromNickname}`。 | |
36 | 36 | | `content_args` | `List<String>` | 推送模板内容参数,内置参数:消息内容 `{$msg}`,如果开通了翻译,消息内容会跟随翻译结果显示。 | |
| 37 | +| `directed_template` | Object | 定向推送模板。此类模板适用于群组消息的离线推送,其中的字段如下表所示。 | |
| 38 | + |
| 39 | +定向模板中的字段: |
| 40 | + |
| 41 | +| 字段 | 类型 | 作用 | |
| 42 | +| -------------- | ------------- | ---------------- | |
| 43 | +| `target` | Array<String> | 用户 ID 列表,传入的用户 ID 必须为全部小写,否则不生效。 | |
| 44 | +| `name` | String | 推送模板名称。 | |
| 45 | +| `title_args` | Array<String> | 推送模板标题。 | |
| 46 | +| `content_args` | Array<String> | 推送模板内容。 | |
| 47 | + |
| 48 | +关于如何使用定向模板,详见[使用示例](#使用定向模板)。 |
37 | 49 |
|
38 | 50 | 关于 `title_args` 和 `content_args` 字段的设置,详见[推送模板文档](push.html#使用推送模板)。 |
39 | 51 |
|
|
89 | 101 |
|
90 | 102 | ## 示例 |
91 | 103 |
|
| 104 | +### 离线推送相关的扩展字段 |
| 105 | + |
92 | 106 | 离线推送的消息扩展字段如下所示: |
93 | 107 |
|
94 | 108 | ```json |
|
170 | 184 | } |
171 | 185 | ``` |
172 | 186 |
|
| 187 | +### 使用定向模板 |
| 188 | + |
| 189 | +下面介绍如何使用定向模板实现群组 @ 消息的自定义推送通知: |
| 190 | + |
| 191 | +1. 创建针对群 @ 用户的推送模板。 |
| 192 | + |
| 193 | +```json |
| 194 | +{ |
| 195 | + "name": "at_push_template", |
| 196 | + "title_pattern": "{0}", |
| 197 | + "content_pattern": "{0}:{1}" |
| 198 | +} |
| 199 | +``` |
| 200 | + |
| 201 | +2. 在群组中发送 @ 消息时使用定向推送模板。例如,在群组中 @ `hxtest`。 |
| 202 | + |
| 203 | +```json |
| 204 | +{ |
| 205 | + "em_push_template": { |
| 206 | + "name": "at_push_template", |
| 207 | + "title_args": [ |
| 208 | + "群组名" |
| 209 | + ], |
| 210 | + "content_args": [ |
| 211 | + "张三", |
| 212 | + "发来一条消息" |
| 213 | + ], |
| 214 | + "directed_template": { |
| 215 | + "target": [ |
| 216 | + "hxtest" |
| 217 | + ], |
| 218 | + "name": "at_push_template", |
| 219 | + "title_args": [ |
| 220 | + "群组名" |
| 221 | + ], |
| 222 | + "content_args": [ |
| 223 | + "张三", |
| 224 | + "在群里@了你" |
| 225 | + ] |
| 226 | + } |
| 227 | + } |
| 228 | +} |
| 229 | +``` |
| 230 | + |
| 231 | +另外,对于被提及的用户之外的其他用户,推送内容也并非一定要用模板,也可用推送扩展字段自定义标题和内容: |
| 232 | + |
| 233 | +```json |
| 234 | +{ |
| 235 | + "em_push_template": { |
| 236 | + "directed_template": { |
| 237 | + "target": [ |
| 238 | + "hxtest" |
| 239 | + ], |
| 240 | + "name": "at_push_template", |
| 241 | + "title_args": [ |
| 242 | + "群组名" |
| 243 | + ], |
| 244 | + "content_args": [ |
| 245 | + "张三", |
| 246 | + "在群里@了你" |
| 247 | + ] |
| 248 | + } |
| 249 | + }, |
| 250 | + "em_push_ext": { |
| 251 | + "title": "群组名", |
| 252 | + "content": "张三:发来一条消息" |
| 253 | + } |
| 254 | +} |
| 255 | +``` |
| 256 | + |
| 257 | +3. 推送通知内容显示。 |
| 258 | + |
| 259 | +群组被 @ 的用户收到的通知如下图所示: |
| 260 | + |
| 261 | + |
173 | 262 |
|
| 263 | +群组中其他用户收到的通知如下图所示: |
174 | 264 |
|
| 265 | + |
175 | 266 |
|
176 | 267 |
|
177 | 268 |
|
0 commit comments