OPPO开放平台 消息回执说明

OPPO开放平台 消息回执说明

消息回执

消息回执是OPPO PUSH提供给开发者获知消息送达状态的功能。由于推送消息请求是异步调用,调用请求接口成功仅表示消息成功开始下发,不代表消息最终的推送状态,因此OPPO PUSH在后续的消息推送流程中捕获重要事件,并通过HTTP请求的形式反馈给开发者,这个功能成为消息回执功能。

开启和配置消息回执

要使用消息回执功能,开发者在推送每条消息时需要在对应的请求字段中配置回执参数,目前回执参数主要有两个,一个是开发者接受OPPO PUSH回执HTTP请求的目标地址URL,以及这个回执请求携带的URL参数。

回执参数是归属于消息体内容的参数,和其他消息体参数一样,按照不同推送方式,在创建广播消息体或在单点推送接口中正确配置配置参数即可获取消息的回执。

以下是回执参数说明:

名称类型是否必填默认描述是否支持单推
call_back_urlString* 仅支持registrationId推送方式 *
开发者接收消息送达的回执消息的URL地址。
OPPO PUSH提供消息回执的功能,消息回执的功能是指消息送达后,OPPO PUSH基于HTTP/HTTPS请求的方式告知开发者对应消息的送达情况。
要使用回执功能,开发者需要配置回执目标地址的URL参数,URL长度限制在限制200以内。
以下是一个使用回执的示例:
1.开发者配置本参数
2.消息到达设备后,OPPO PUSH根据本参数,向这个URL以
Content-Type为application/json的方式发送一个HTTP/HTTPS请求。请求内容的示例如下
JSON 数据示例:
[
{
“messageId”: “msgId1”, // 到达的消息ID
“appId”: “appid”, // 对应的应用ID
“taskId”: “taskId1”, // 如果是广播消息,对应taskID;如果是单推消息,该字段为消息ID
“registrationIds”: “regId1, regid2”, // 消息的推送目标注册ID
“eventTime”: “timestamp”, // 回执事件产生时间
“param”: “call_back_parameter”, // 开发者指定的回执参数
“eventType”: “push_arrive” // 到达事件,消息到达的事件被定义为push_arrive
},
// 对于完全一致的URL地址,OPPO PUSH可能会将相同URL地址回执信息在一个HTTP/HTTPS请求中发送,因此body里是一个长度大于等于1的JSON数组
{
“messageId”: “msgId1”,
“appId”: “appid”,
“taskId”: “taskId1”,
“registrationIds”: “regId1,regid2”,
“eventTime”: “timestamp”,
“param”: “call_back_parameter”,
“eventType”:
“push_arrive”
}
]
call_back_parameterString开发者指定的自定义回执参数。
数字符串长度限制在100以内,OPPO PUSH将这个参数设置在回执请求体单个JSON结构的param字段中。

回执事件

OPPO PUSH 有如下回执事件

回执事件含义触发条件备注
push_arrive表明消息成功到达设备消息成功到达设备,OPPO PUSH客户端向服务端反馈已经收到该条消息。表示消息到达OPPO PUSH客户端,不包含通知栏的展示,点击等后续动作含义。
regid_invalid无效的RegistrationID应用被卸载、应用自动注销、用户设备刷机、设备30天内未联网会导致RegistrationID失效开发者接收到无效RegistrationID的回执后可以做剔除或者过滤处理,减少无效推送