发送全量用户不落地通知
App 业务端可以向全部用户或指定用户群体发送「推送通知」,本质上是直接通过第三方或即时通讯服务自建 的推送通道向 App 中所有用户推送一条通知。该功能只触发推送,不发送消息,不产生会话,称为「全量用户不落地通知」。
该功能使用 /push.json
接口。
- 只能通过即时通讯服务端 API 进行发送。
- 「推送通知」的所有内容仅展现在通知栏。无论客户端 App 是否在前台,始终以通知形式展示在系统通知栏中。该功能不发送消息,不产生会话,因此用户无法在任何聊天会话中看到不落地通知的内容。
- 客户端不会存储不落地通知。
- 始终使用推送通道,因此不受客户端与即时通讯服务端之间的连接状态的影响。即使客户端不在前台、不在线(例如 App 被杀死),只要可正常接收推送,就可以收到不落地通知。
- 通过
audience
字段可以控制推送条件,支持按用户标签(tag
)、用户 ID(userid
)、应用包名(packageName
)、全量用户(is_to_all
)。其中用户标签需要 App 进行设置,详见设置用户标签、批量设置用户标签。
提示
- 即时通讯服务将 30 天内连接过 IM 服务的设备作为推送的目标。30 天内未打开过应用的设备,被视为应用已被卸载。
- 如果客户端设备不允许推送(断开连接时设置不允许推送),或遇到其他原因导致推送失败,则无法接收到不落地通知。
开通服务
使用全量用户不落地通知功能前,请确认已为当前 App Key 开通相关服务。详见全量用户通知服务配置。
如未开通服务,Server API 将返回 1009
错误。注意,在未开通服务时,如果连续请求导致 API 请求频率超过限制,Server API 会返回 HTTP 429 Too Many Requests 错误(错误码为 1008
)。
请求方法
POST: https://数据中心域名/push.json
频率限制: 共享 /push.json
的限频配额,即每小时限发送 2 次,每天(自然日)最多发送 3 次。
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。