广播推送
OPPO PUSH提供广播和单点推送两种下发消息的方式。以下是这两种推送方式的介绍及具体的API使用方式。
广播推送
广播推送主要用于向大批量用户推送同一条消息的场景,例如标签推送、大批量的注册ID推送等。一般情况下,广播消息会在同一时间向这批目标设备推送消息,如果设置了定速推送,则按照给定的速度均匀向圈定的目标推送消息。
使用广播推送,需要先在OPPO PUSH保存一条广播消息体,再通过创建好的消息体对应的消息ID,调用OPPO PUSH的广播推送接口推送该条消息。
保存通知栏消息内容体
接口详情
描述 | 内容 |
---|---|
接口功能 | 保存消息内容体,获取消息Id |
请求方法 | POST |
请求编码 | UTF-8 |
Content-Type | application/x-www-form-urlencoded |
请求路径 | /server/v1/message/notification/save_message_content |
请求参数
除了共有的鉴权参数外,消息体内容的参数均以key-value的形式填写在HTTP请求的body中。
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
auth_token | string | 是 | 鉴权令牌,详见鉴权一章。 |
消息体内容参数:参数主要围绕消息体的具体内容,以及推送的方式,消息体内容参数设置详情可查看通知栏消息
响应参数
调用接口后,OPPO PUSH会响应JSON格式的字符串,包含以下字段:
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
code | Int | 是 | 返回码,具体含义请参考调用地址,公共参数和返回码一章。 |
message | String | 否 | 响应信息描述 |
data | String | 否 | JSON格式的响应返回值,成功调用将包含消息ID,后续需要使用消息ID来进行广播消息推送。 |
响应示例
{
"code": 0,
"message": "success",
"data": {
"message_id": "58ad47319e8d725350a5afd5" //消息ID
}
}
调用广播推送
接口详情
描述 | 内容 |
---|---|
接口功能 | 发送通知栏消息 |
请求方法 | POST |
Content-Type | application/x-www-form-urlencoded |
请求编码 | UTF-8 |
请求路径 | /server/v1/message/notification/broadcast |
请求参数
名称 | 类型 | 必须 | 默认 | 描述 |
---|---|---|---|---|
auth_token | string | 是 | 无 | 鉴权令牌,详见鉴权一章。 |
message_id | String | 是 | 无 | 消息ID。 消息ID是调用保存消息体接口成功后响应的唯一标识。 广播通知栏消息ID的格式为AppID-1-3-ObjectID,如ZngnvJIM7wQusNtbqYnpH6XX-1-3-622ea78f923805b1389e61c2,其中ZngnvJIM7wQusNtbqYnpH6XX是某个业务的AppID,622ea78f923805b1389e61c2是这条消息在Push的唯一ID。 |
target_type | Short | 是 | 无 | 目标类型。 接受一个short类型数字,目前推送目标可指定以下几种: 2:表示推送目标为注册ID类型, 5:表示推送目标为别名类型, 6:表示推送目标按照标签对应的用户群圈定; |
target_value | String | 否 | 无 | 具体的推送目标用户信息,根据推送目标类型有不同的传入方式: 1.注册ID类型或别名类型的推送。这两种类型一次调用可传入最多1000个目标,目标之间以英文字符 ; 为分隔符。如传入注册ID目标列表,字符串可表示为 “RegID1;RegID2;RegID3”, 或者别名名单 “Alias1;Alias2;Alias3” 。 标签: 2.标签推送。标签推送的目标值使用标签表达式。 标签表达式由一个或多个指令组合而成,一个指令包括组合字段和标签名单,表示若干个标签的组合搭配。 假设有一个标签表达式,标签表达式的配置和计算规则如下: { “or” : [ “tagID1”, ” tagID2″ ], “and” : [ “tagID3”, “tagID4”], “not” : [ “tagID5”, “tagID6”] } 表达式逻辑计算如下: 计算 “or” 字段的结果,得到tagID1和tagID2的并集A;计算 “and” 字段的结果 tagID3和tagID4的交集B; 计算 “not” 字段的结果 (tagID5和tagID6的并集C’)的非集=C最后计算所有A和B和C的交集。 最终结果为 (tagID1 ∪ tagID2)∩(tagID3 ∩ tagID4)∩(¬(tagID5 ∩ tagID6)) |
响应参数(JSON)
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
code | Int | 是 | 返回码,具体含义请参考调用地址,公共参数和返回码一章 |
message | String | 否 | 响应信息描述 |
data | String | 否 | JSON格式的响应返回值,成功调用将包含消息ID和任务ID。 |
推送请求调用成功响应示例
{
code:0,
message: "success",
data : {
message_id : xxxxxxxxx // 消息Id
task_id : xxxxxxxxx // taskId
}
}
如果推送目标存在问题,会根据对应异常的目标进行响应,示例如下:
{
code:0,
message: "",
data : {
message_id : xxxxxxxxx, // 消息ID
task_id:XXXXXXXXXX, //推送任务ID
// 部分目标有异常,将以 错误码——对应目标名单的形式返回
"10000": [
"J0476035d625e6c64567f71487e040e7d017f0558675b",
"J0476045d625e6c64567f71487e040e7d017f0558675b",
"J0476035d625e6sd64567f71487e040e7d017f0558675b"
]
}
}
返回码(code)
Code | 英文描述 | 中文描述 |
---|---|---|
10000 | Invalid Registration_id | registration_id格式不正确 |
编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/11091/
部分内容来自网络投稿,如有侵权联系立删