发送标签用户通知
App 用户可以向 App 下携带指定标签的用户发送系统会话消息,该功能称为「标签用户通知」。
该功能使用 /push.json
接口。
- 用户标签需要通过设置用户标签、批量设置用户标签 接口进行添加或移除。
- 支持发送即时通讯服务预定义的消息类型(见消息类型概述)。消息的类型(
objectName
字段)决定了消息是否支持离线推送通知,以及客户端在收到该消息后,是否展示在聊天界面、会话列表,是否存入本地数据库。 - 支持发送客户自定义类型的消息。客户端在收到自定义消息后,是否展示在聊天界面、会话列表,是否存入本地数据库取决于客户端注册的自定义消息类型定义。
- 只能通过即时通讯服务端 API 进行发送,会话类型为 SYSTEM。该类型的会话不支持终端用户在收到消息后进行回复。
例如,对于一般的 App 业务通知来说,假设发送一条文本消息(objectName
为 RC:TxtMsg
,属于客户端 SDK 会存储的内置消息类型,且可触发离线推送),效果如下:
- 客户端如果在线,会即时收到一条消息,所在会话的 Target ID 为调用接口时传入的
fromUserId
,会话类型为系统会话(类型为 SYSTEM)。 - 客户端如果离线,消息会触发服务端远程推送,客户端如已集成并启用推送服务,则会收到推送通知。
开通服务
使用标签用户通知功能前,请确认已为当前 App Key 开通相关服务。详见全量用户通知服务配置。
如未开通服务,Server API 将返回 1009
错误。注意,在未开通服务时,如果连续请求导致 API 请求频率超过限制,Server API 会返回 HTTP 429 Too Many Requests 错误(错误码为 1008
)。
请求方法
POST: https://数据中心域名/push.json
调用频率:共享 /push.json
的限频配额,即每小时限发送 2 次,每天(自然日)最多发送 3 次。即时通讯服务端按标签推送的处理能力为每秒钟 1500 条,即每秒钟可以向 1500 个目标用户下发消息。如需超过此限制,请联系商务。
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。