个推消息推送消息终止、覆盖和撤回

APP 在进行日常消息推送的过程中,因为种种原因,有时会出现推送“失误”,比如不小心推送内容输入错误,或是测试生产环境切换错误,给线上用户推送了测试消息等等

个推消息推送消息终止、覆盖和撤回

一、需求背景

1.1 背景描述

APP 在进行日常消息推送的过程中,因为种种原因,有时会出现推送“失误”,比如不小心推送内容输入错误,或是测试生产环境切换错误,给线上用户推送了测试消息等等。个推消息推送的消息终止、消息覆盖和消息撤回三大功能可以有效帮助 APP 避免推送“失误”。

1.2 名称解释

名词解释
消息终止对正处于推送状态,或者未接收的消息停止下发(只支持批量推和群推任务)。
消息覆盖实现消息覆盖,可以通过相应接口重新发一条具有相同id的消息实现,如果推送的消息未设置此id,则无法实现消息覆盖功能。
消息撤回消息撤回是指对已经发送的个推通道消息进行撤回。客户端接收到消息撤回的指令,会将通知栏中展示的消息进行删除,不再展示。

1.3 功能支持情况

功能支持情况
消息终止支持个推通道存入离线库状态的批量推/群推任务, 不支持安卓厂商/iOS离线
消息覆盖支持个推通道/安卓厂商(华为、小米、OPPO、魅族)/iOS
消息撤回支持个推通道的通知消息/安卓厂商(小米、vivo)

二、功能实现

  • 终止、撤回、覆盖功能实现,客户端不用操作,服务端调用相应的api接口即可
  • 终止、撤回、覆盖功能适用于通知消息
  • 开发者可通过调用 服务端 RestAPI V2 实现对应的功能。

2.1 消息终止代码示例

curl --location --request DELETE 
'https://restapi.getui.com/v2/appid/task/$taskid' \
--header 'content-type: application/json' \
--header 'token: $taskid' \
--data-raw ''

注意事项

  • 只支持批量推和群推任务,单推任务不支持

2.2 消息覆盖代码示例

对于个推通道消息,可设置相同的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
            }
        }
    }
}

2.3 消息撤回代码示例

{
   "push_message":{
           //在线通知消息
        "revoke": {
            //需要撤回的taskId
            "old_task_id": "xxx",  
            //在没有找到对应的taskId,是否把对应appId下所有的通知都撤回
            "force": false  
        }
    },
    "push_channel": {
        "android": {
            "ups": {
                //离线通知消息
                "revoke": {
                    //需要撤回的taskId
                    "old_task_id": "xxx"
                }
            }
        }
    }

}

注意事项

  • SDK要求客户端版本:2.12.5.0以上

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/15487/

部分内容来自网络投稿,如有侵权联系立删

(0)
上一篇 2022年12月21日 下午5:36
下一篇 2022年12月22日 上午11:53

相关推荐