构建pushpayload为空
PushPayload.newBuilder()
//指定要推送的平台,all代表当前应用配置了的所有平台,也可以传android、ios等具体平台
.setPlatform(platform)
//指定推送的接收对象,all代表所有人,也可以指定已经设置成功的tag或alias或该应应用客户端调用接口获取到的registration id
.setAudience(audience)
//Platform指定了哪些平台就会像指定平台中符合推送条件的设备进行推送。 jpush的自定义消息,
// sdk默认不做任何处理,不会有通知提示。建议看文档http://docs.jpush.io/guideline/faq/的
// [通知与自定义消息有什么区别?]了解通知和自定义消息的区别
.setMessage(Message.newBuilder().setTitle(msgTitle).setMsgContent(msgContent).addExtra("data", JSON.toJSONString(jPushVO)).build())
.setOptions(Options.newBuilder()
//此字段的值是用来指定本推送要推送的apns环境,true表示生产,false表示开发;对android和自定义消息无意义
.setApnsProduction(abstractJPushToolUtils.jPush.getEnvironment())
//此字段是给开发者自己给推送编号,方便推送者分辨推送记录,默认为1
.setSendno(sendNo == null ? 1 : sendNo)
//此字段的值是用来指定本推送的离线保存时长,如果不传此字段则默认保存一天,最多指定保留十天,单位为秒
.setTimeToLive(offlineSaveSeconds)
.build());
这样构建完pushpayload后,打印pushpayload为什么是{}?怀疑就是这个原因导致我最后推送403了