UPush.java
3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.brframework.commonapppush.vo;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
/**
* @author xu
* @date 2019/10/11 11:42
*/
@Data
public class UPush {
// 必填,应用唯一标识
@JSONField(name = "appkey")
private String appKey;
// 必填,时间戳,10位或者13位均可,时间戳有效期为10分钟
private String timestamp;
// 必填,消息发送类型,其值可以为:
//"type":"xx",
// unicast-单播
// listcast-列播,要求不超过500个device_token
// filecast-文件播,多个device_token可通过文件形式批量发送
// broadcast-广播
// groupcast-组播,按照filter筛选用户群, 请参照filter参数
// customizedcast,通过alias进行推送,包括以下两种case:
// - alias: 对单个或者多个alias进行推送
// - file_id: 将alias存放到文件后,根据file_id来推送
private String type;
// 当type=unicast时, 必填, 表示指定的单个设备
@JSONField(name = "device_tokens")
private String deviceTokens;
// 当type=listcast时, 必填, 要求不超过500个, 以英文逗号分隔
// 当type=customizedcast时, 必填
@JSONField(name = "alias_type")
private String aliasType;
// alias的类型, alias_type可由开发者自定义, 开发者在SDK中
// 调用setAlias(alias, alias_type)时所设置的alias_type
private String alias; // 当type=customizedcast时, 选填(此参数和file_id二选一)
// 开发者填写自己的alias, 要求不超过500个alias, 多个alias以英文逗号间隔
// 在SDK中调用setAlias(alias, alias_type)时所设置的alias
// 当type=filecast时,必填,file内容为多条device_token,以回车符分割
@JSONField(name = "file_id")
private String fileId;
// 当type=customizedcast时,选填(此参数和alias二选一)
// file内容为多条alias,以回车符分隔。注意同一个文件内的alias所对应
// 的alias_type必须和接口参数alias_type一致。
// 使用文件播需要先调用文件上传接口获取file_id,参照"文件上传"
// 当type=groupcast时,必填,用户筛选条件,如用户标签、渠道等,参考附录G。 filter的内容长度最大为3000B)
private String filter;
//发送数据
private Object payload;
// 可选,发送策略
private UPushPolicy policy;
// 可选,正式/测试模式。默认为true
// 测试模式只对“广播”、“组播”类消息生效,其他类型的消息任务(如“文件播”)不会走测试模式
// 测试模式只会将消息发给测试设备。测试设备需要到web上添加。
// Android: 测试设备属于正式设备的一个子集。
@JSONField(name = "production_mode")
private String productionMode;
// 可选,发送消息描述,建议填写。
private String description;
/// 可选,默认为false。当为true时,表示MIUI、EMUI、Flyme系统设备离线转为系统下发
private String mipush;
// 可选,mipush值为true时生效,表示走系统通道时打开指定页面acitivity的完整包路径。
@JSONField(name = "mi_activity")
private String miActivity;
}