packagecom.zy.cm.common.core.util;importcn.jiguang.common.resp.APIConnectionException;importcn.jiguang.common.resp.APIRequestException;importcn.jpush.api.JPushClient;importcn.jpush.api.push.PushResult;importcn.jpush.api.push.model.Message;importcn.jpush.api.push.model.Options;importcn.jpush.api.push.model.Platform;importcn.jpush.api.push.model.PushPayload;importcn.jpush.api.push.model.audience.Audience;importcn.jpush.api.push.model.notification.AndroidNotification;importcn.jpush.api.push.model.notification.IosAlert;importcn.jpush.api.push.model.notification.IosNotification;importcn.jpush.api.push.model.notification.Notification;importjava.util.HashMap;importjava.util.List;importjava.util.Map;public classJiGuangPushUtil {/*** 两个参数分别填写你申请的masterSecret和appKey##*/
private static String masterSecret = "你的masterSecret";private static String appKey = "你的appKey";private static JPushClient jPushClient=newJPushClient(masterSecret,appKey);/*** 全平台推送
*@paramparm map里面可以根据自身情况增加一些参数 比如页面跳转的地址等
*@paramlist 用户id集合 这里我们是以用户id作为别名的方式注册到极光 所以我们只需要把用户id给极光 他就会直接给对应用户推送*/
public static void jpushAll(Map parm,Listlist) {
PushPayload payload=PushPayload.newBuilder()//所有平台的用户
.setPlatform(Platform.all())//指定用户
.setAudience(Audience.alias(list))
.setNotification(Notification.newBuilder()//ios推送
.addPlatformNotification(IosNotification.newBuilder()
.setAlert(IosAlert.newBuilder().setTitleAndBody(parm.get("title"),null,parm.get("body")).build())
.setBadge(+1)
.setSound("qxgf")
.addExtras(parm)
.build())//Android推送 也可以分开写
.addPlatformNotification(AndroidNotification.newBuilder()
.setTitle(parm.get("title"))
.addExtras(parm)
.setAlert(parm.get("body"))
.build())
.build())//指定开发环境
.setOptions(Options.newBuilder().setApnsProduction(false).build())//自定义信息
.setMessage(Message.newBuilder().setMsgContent(parm.get("title")).addExtras(parm).build())
.build();try{
PushResult pushResult=jPushClient.sendPush(payload);
System.out.println(pushResult);if(pushResult.getResponseCode()==200){
System.out.println(pushResult.getResponseCode());
}
}catch(APIConnectionException e) {
e.printStackTrace();
}catch(APIRequestException e) {
e.printStackTrace();
}
}/*** 参数设置
*@paramtitle
*@parambody
*@paramlist 用户集合*/
public static void jpushPush(String title, String body, Listlist){
Map parm = new HashMap<>();//标题
parm.put("title",title);//内容
parm.put("body",body);
JiGuangPushUtil.jpushAll(parm,list);
}
}