发送系统通知模板消息
App 下指定用户可以向其他用户发送系统通知模板消息。单次最多向 100 个用户发送消息。属于落地通知?。
- 支持发送即时通讯服务预定义的消息类型(见消息类型概述)。消息的类型(
objectName字段)决定了消息是否支持离线推送通知,以及客户端在收到该消息后,是否展示在聊天界面、会话列表,是否存入本地数据库。 - 支持发送客户自定义类型的消息。客户端在收到自定义消息后,是否展示在聊天界面、会话列表,是否存入本地数据库取决于客户端注册的自定义消息类型定义。
- 系统通知消息只能通过即时通讯服务端 API 进行发送,会话类型为 SYSTEM。该类型的会话不支持终端用户在收到消息后进行回复。
- 消息的
content、pushContent、pushData字段可以通过模板控制。
例如,对于一般的 App 业务通知来说,假设发送一条文本消息(objectName 为 RC:TxtMsg,属于客户端 SDK 会存储 的内置消息类型,且可触发离线推送),效果如下:
- 客户端如果在线,会即时收到一条消息,所在会话的 Target ID 为调用接口时传入的
fromUserId,会话类型为系统会话(类型为 SYSTEM)。 - 客户端如果离线,消息会触发服务端远程推送,客户端如已集成并启用推送服务,则会收到推送通知。
如何配置与使用消息模板
消息模板通过字段内容模板(带标识位),和按接收者提供的标识位定义,实现单次向多个接收者发送不同内容的效果。
定义内容模板
发送消息时,可在 content、pushContent、pushData 字段中传入带标识位的字段内容,例如:
JSON
"toUserId":["21","22","23"],
"content":"{\"content\":\"{c}{d}\",\"extra\":\"bb\"}",
"pushContent":["hello {c}","hello {c}","hello {c}"],
上例中的 {c}、{d} 为自定义的标识位。
- 当前支持定义模板的字段包括:
content、pushContent、pushData。 - 消息内容(
content)字段仅支持插入一个模板,所有接收者共用该模板。 - 消息推送通知内容(
pushContent)、推送附加数据(pushData)字段类型为数组,必须按照toUserId中的用户 ID 列表逐个定义模板。即使不在pushContent、pushData中使用模板标识位,或所有接收者接收相同内容,都必须按照toUserId中的用户 ID 列表逐个定义各自的pushContent、pushData。
指定模板内容标识位的值
按照收件人列表(toUserId)在 values 字段提供标识位的定义,即为各个收件人指定需要接收的个性化内容。
JSON
"values":[
{
"{c}":"Tom",
"{d}":":2"
},
{
"{c}":"Jerry",
"{d}":":5"},
{
"{c}":"Rose",
"{d}":":10"}
],