消息推送提供消息撤回功能,即对已经推送的消息进行撤回,使已发送但未被点击或清除的通知在终端设备通知栏消失。消息撤回功能主要针对由于误操作导致推送错误消息内容、或由于业务临时变更等情况需要紧急撤回已经推送的消息的场景,以减少业务损失和影响范围。
mPaaS 控制台提供消息状态查询、消息撤回功能。除此之外,消息推送提供后端 API,支持业务系统通过调用 API 的方式进行消息撤回。
针对不同的推送通道,消息撤回的实现方式有所差异,具体说明见下表。
推送通道 | 是否支持撤回 | 撤回方式 | |
厂商通道 | 华为 | 是 | 覆盖消息。客户端接收到消息撤回的指令后,会将通知栏中展示的消息删除,同时显示“消息已撤回”。 |
小米 | 是 | 覆盖消息。客户端接收到消息撤回的指令后,会将通知栏中展示的消息删除,同时显示“消息已撤回”。 | |
OPPO | 是 | 覆盖消息。客户端接收到消息撤回的指令后,会将通知栏中展示的消息删除,同时显示“消息已撤回”。 | |
vivo | 是 | 撤回消息。客户端接收到消息撤回的指令后,直接将通知栏中展示的消息删除,即消息从通知栏消失。 | |
苹果(iOS) | 是 | 覆盖消息。客户端接收到消息撤回的指令后,会将通知栏中展示的消息删除,同时显示“消息已撤回”。 | |
MPS 自建通道 | 是 | 覆盖消息。客户端接收到消息撤回的指令后,会将通知栏中展示的消息删除,同时显示“消息已撤回”。 | |
短信推送 | 否 | 下发的短信消息将无法撤回。 |
通过控制台撤回
登录 mPaaS 控制台,选择目标应用后,从左侧导航栏进入 消息推送 > 消息管理 页面。
选择消息推送任务类型,进入相应的消息列表页。
选择要撤回的消息,单击 撤回 并确认即可。 执行撤回操作后,推送中的消息将会停止推送,已推送但未展示的消息将会取消展示。
调用 API 撤回
通过极简推送方式推送的消息可通过消息 ID 撤回;通过批量推送方式推送的消息可通过任务 ID 撤回。仅支持撤回最近 7 天内的消息。
具体如何调用 API 实现消息撤回功能,参见 消息撤回 API 说明文档。