APP 在进行日常消息推送的过程中,因为种种原因,有时会出现推送“失误”,比如不小心推送内容输入错误,或是测试生产环境切换错误,给线上用户推送了测试消息等等。个推消息推送的消息终止、消息覆盖和消息撤回三大功能可以有效帮助 APP 避免推送“失误”。
| 名词 | 解释 |
|---|---|
| 消息终止 | 对正处于推送状态,或者未接收的消息停止下发(只支持批量推和群推任务)。 |
| 消息覆盖 | 实现消息覆盖,可以通过相应接口重新发一条具有相同id的消息实现,如果推送的消息未设置此id,则无法实现消息覆盖功能。 |
| 消息撤回 | 消息撤回是指对已经发送的部分(个推在线,小米,vivo)通道消息进行撤回。客户端接收到消息撤回的指令,会将通知栏中展示的消息进行删除,不再展示。 |
| 功能 | 支持情况 |
|---|---|
| 消息终止 | 支持个推通道存入离线库状态的批量推/群推任务, 不支持安卓厂商/iOS离线 |
| 消息覆盖 | 支持个推通道、安卓厂商(华为、荣耀、小米、OPPO、vivo、魅族)、 iOS |
| 消息撤回 | 支持个推通道的通知消息/安卓厂商(小米、vivo) |
curl --location --request DELETE
'https://restapi.getui.com/v2/appid/task/$taskid' \
--header 'content-type: application/json' \
--header 'token: $taskid' \
--data-raw ''
注意事项
对于个推在线通道消息,可设置相同的notify_id,示例:
{
"push_message": {
"notification": {
"notify_id": 1234
}
}
}
对于离线厂商通道,消息覆盖示例(仅额外新增的覆盖参数,其他基础的标题、内容等参数不变),示例:
{
"push_channel": {
"android": {
"ups": {
"notification": {
//华为、荣耀、小米、OPPO、vivo、魅族。消息覆盖。可设置相同的notify_id
"notify_id": 1234
}
}
},
"ios": {
//对于IOS离线厂商通道消息,可设置相同的apns-collapse-id
"apns-collapse-id": "1234"
},
"harmony": {
"notification": {
//对于鸿蒙离线厂商通道消息,可设置相同的notify_id
"notify_id": 1234
}
}
}
}
{
"push_message":{
//在线通知消息
"revoke": {
//需要撤回的taskId
"old_task_id": "xxx",
//在没有找到对应的taskId,是否把对应appId下所有的通知都撤回
"force": false
}
},
"push_channel": {
"android": {
"ups": {
//安卓厂商离线通知消息
"revoke": {
//需要撤回的taskId
"old_task_id": "xxx"
}
}
},
"harmony":{
//鸿蒙厂商离线通知消息
"revoke": {
//需要撤回的taskId
"old_task_id": "xxx"
}
}
}
}
注意事项