APP 在进行日常消息推送的过程中,因为种种原因,有时会出现推送“失误”,比如不小心推送内容输入错误,或是测试生产环境切换错误,给线上用户推送了测试消息等等。个推消息推送的消息终止、消息覆盖和消息撤回三大功能可以有效帮助 APP 避免推送“失误”。
名词 | 解释 |
---|---|
消息终止 | 对正处于推送状态,或者未接收的消息停止下发(只支持批量推和群推任务)。 |
消息覆盖 | 实现消息覆盖,可以通过相应接口重新发一条具有相同id的消息实现,如果推送的消息未设置此id,则无法实现消息覆盖功能。 |
消息撤回 | 消息撤回是指对已经发送的部分(个推在线,小米,vivo)通道消息进行撤回。客户端接收到消息撤回的指令,会将通知栏中展示的消息进行删除,不再展示。 |
功能 | 支持情况 |
---|---|
消息终止 | 支持个推通道存入离线库状态的批量推/群推任务, 不支持安卓厂商/iOS离线 |
消息覆盖 | 支持个推通道/安卓厂商(华为、小米、OPPO、魅族)/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":1111
}
}
}
对于IOS通道消息,可设置相同的apns-collapse-id,示例:
{
"ios":{
"apns-collapse-id":"2222"
}
}
对于安卓厂商通道消息,可设置相同的notify_id,示例:
{
"android":{
"ups":{
"notification":{
"notify_id":3333
}
}
}
}
对于鸿蒙厂商通道消息,可设置相同的notify_id,示例:
{
"harmony":{
"notification":{
"notify_id":4444
}
}
}
{
"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"
}
}
}
}
注意事项