package com.zheng.cms.web.jpush.util; import cn.jpush.api.JPushClient; import cn.jpush.api.common.APIConnectionException; import cn.jpush.api.common.APIRequestException; import cn.jpush.api.push.PushResult; import cn.jpush.api.push.model.Message; import cn.jpush.api.push.model.Options; import cn.jpush.api.push.model.Platform; import cn.jpush.api.push.model.PushPayload; import cn.jpush.api.push.model.audience.Audience; import cn.jpush.api.push.model.notification.AndroidNotification; import cn.jpush.api.push.model.notification.IosNotification; import cn.jpush.api.push.model.notification.Notification; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.HashMap; import java.util.Map; public class JPushClientUtil { private static Logger logger = LoggerFactory.getLogger(JPushClientUtil.class); private static final String appKey = "466f7032ac604e02fb7bda89"; // 必填,例如466f7032ac604e02fb7bda89 private static final String masterSecret = "13ac09b17715bd117163d8a1";// "13ac09b17715bd117163d8a1";//必填,每个应用都对应一个masterSecret protected static JPushClient jpush = null; private static final int MAX = Integer.MAX_VALUE; private static boolean flag=false; public static void main(String[] args) { //String msgTitle = "推送测试"; String msgContent = "看到信息了么,看到就推送成功了!"; //String userid="7753b9c538de44c791bb44eed1980d39"; //pushMessage(msgContent); // String[] alias={"143","143"}; /* Map<String,String> extras=new HashMap<String,String>(); extras.put("type", "3"); //pushNotification("title","tet","13611112222"); pushAndroidNotification("renz",extras,"3",alias );*/ Map<String, String> extras = new HashMap<String, String>(); // 添加附加信息 extras.put("url", "htt://baidu.com"); sendAllsetNotification(msgContent,extras); } private static void init(){ if(!flag){ jpush = new JPushClient(masterSecret, appKey); flag=true; } } /** + * 推送所有信息 + * @param msgContent + */ public static void pushMessage(String msgContent) { init(); PushResult pushResult; try { pushResult = jpush.sendMessageAll(msgContent); if(pushResult.isResultOK()){ logger.info("发送成功"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 给所有平台的所有用户发通知 */ public static void sendAllsetNotification(String message,Map<String, String> extras) { init(); PushPayload payload = buildPushObject_all_alias_alert(message, extras); try { PushResult result = jpush.sendPush(payload); logger.info(result.toString()); } catch (APIConnectionException e) { logger.info("推送失败!",e); } catch (APIRequestException e) { logger.info("APIRequestException" + e); logger.info("Error Message: " + e.getErrorMessage()); System.out.println("Error Message: " + e.getErrorMessage()); } } /** * 推送 通知 */ public static void pushNotification(String title,String alert,String...alias ) { init(); Map extras= new HashMap(); PushResult pushResult1; PushResult pushResult2; try { pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias); pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); //jpush. if(pushResult1.isResultOK()){ logger.info("android发送成功"); }else{ logger.info("android发送失败"); } if(pushResult2.isResultOK()){ logger.info("Ios发送成功"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 推送ANDROID客户端通知 */ public static void pushAndroidNotification(String title,Map<String,String> extras,String alert,String...alias ) { init(); PushResult pushResult1; try { pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias); if(pushResult1.isResultOK()){ logger.info("android发送成功"); }else{ logger.info("android发送失败"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 推送Ios通知 */ public static void pushIosNotification(String alert,Map<String,String> extras,String...alias ) { init(); PushResult pushResult2; try { pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); if(pushResult2.isResultOK()){ logger.info("Ios发送成功"); }else{ logger.info("Ios发送失败"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 推送 通知 */ public static void pushNotification(String alert,String alias ) { init(); Map extras= new HashMap(); extras.put("1", "1"); PushResult pushResult2; try { pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); if(pushResult2.isResultOK()){ logger.info("android发送成功"); }else{ logger.info("android发送失败"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 发送通知 * * @param message * @param extras * @return * @author WangMeng * @date 2017年1月13日 */ private static PushPayload buildPushObject_all_alias_alert(String message, Map<String, String> extras) { return PushPayload.newBuilder() .setPlatform(Platform.android_ios()) // 设置平台 .setAudience(Audience.all()) // 按什么发送 tag alia .setNotification( Notification .newBuilder() .setAlert(message) .addPlatformNotification( AndroidNotification.newBuilder().addExtras(extras).build()) .addPlatformNotification( IosNotification.newBuilder().addExtras(extras).build()) .build()) // 发送消息 .setOptions(Options.newBuilder().setApnsProduction(false).build()).build(); //设置ios平台环境 True 表示推送生产环境,False 表示要推送开发环境 默认是开发 } }
package com.zheng.cms.web.jpush.util; import cn.jpush.api.JPushClient; import cn.jpush.api.common.APIConnectionException; import cn.jpush.api.common.APIRequestException; import cn.jpush.api.push.PushResult; import cn.jpush.api.push.model.Message; import cn.jpush.api.push.model.Options; import cn.jpush.api.push.model.Platform; import cn.jpush.api.push.model.PushPayload; import cn.jpush.api.push.model.audience.Audience; import cn.jpush.api.push.model.notification.AndroidNotification; import cn.jpush.api.push.model.notification.IosNotification; import cn.jpush.api.push.model.notification.Notification; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.HashMap; import java.util.Map; public class JPushClientUtil { private static Logger logger = LoggerFactory.getLogger(JPushClientUtil.class); private static final String appKey = "466f7032ac604e02fb7bda89"; // 必填,例如466f7032ac604e02fb7bda89 private static final String masterSecret = "13ac09b17715bd117163d8a1";// "13ac09b17715bd117163d8a1";//必填,每个应用都对应一个masterSecret protected static JPushClient jpush = null; private static final int MAX = Integer.MAX_VALUE; private static boolean flag=false; public static void main(String[] args) { //String msgTitle = "推送测试"; String msgContent = "看到信息了么,看到就推送成功了!"; //String userid="7753b9c538de44c791bb44eed1980d39"; //pushMessage(msgContent); // String[] alias={"143","143"}; /* Map<String,String> extras=new HashMap<String,String>(); extras.put("type", "3"); //pushNotification("title","tet","13611112222"); pushAndroidNotification("renz",extras,"3",alias );*/ Map<String, String> extras = new HashMap<String, String>(); // 添加附加信息 extras.put("url", "htt://baidu.com"); sendAllsetNotification(msgContent,extras); } private static void init(){ if(!flag){ jpush = new JPushClient(masterSecret, appKey); flag=true; } } /** + * 推送所有信息 + * @param msgContent + */ public static void pushMessage(String msgContent) { init(); PushResult pushResult; try { pushResult = jpush.sendMessageAll(msgContent); if(pushResult.isResultOK()){ logger.info("发送成功"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 给所有平台的所有用户发通知 */ public static void sendAllsetNotification(String message,Map<String, String> extras) { init(); PushPayload payload = buildPushObject_all_alias_alert(message, extras); try { PushResult result = jpush.sendPush(payload); logger.info(result.toString()); } catch (APIConnectionException e) { logger.info("推送失败!",e); } catch (APIRequestException e) { logger.info("APIRequestException" + e); logger.info("Error Message: " + e.getErrorMessage()); System.out.println("Error Message: " + e.getErrorMessage()); } } /** * 推送 通知 */ public static void pushNotification(String title,String alert,String...alias ) { init(); Map extras= new HashMap(); PushResult pushResult1; PushResult pushResult2; try { pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias); pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); //jpush. if(pushResult1.isResultOK()){ logger.info("android发送成功"); }else{ logger.info("android发送失败"); } if(pushResult2.isResultOK()){ logger.info("Ios发送成功"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 推送ANDROID客户端通知 */ public static void pushAndroidNotification(String title,Map<String,String> extras,String alert,String...alias ) { init(); PushResult pushResult1; try { pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias); if(pushResult1.isResultOK()){ logger.info("android发送成功"); }else{ logger.info("android发送失败"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 推送Ios通知 */ public static void pushIosNotification(String alert,Map<String,String> extras,String...alias ) { init(); PushResult pushResult2; try { pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); if(pushResult2.isResultOK()){ logger.info("Ios发送成功"); }else{ logger.info("Ios发送失败"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 推送 通知 */ public static void pushNotification(String alert,String alias ) { init(); Map extras= new HashMap(); extras.put("1", "1"); PushResult pushResult2; try { pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); if(pushResult2.isResultOK()){ logger.info("android发送成功"); }else{ logger.info("android发送失败"); } } catch (APIConnectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (APIRequestException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 发送通知 * * @param message * @param extras * @return * @author WangMeng * @date 2017年1月13日 */ private static PushPayload buildPushObject_all_alias_alert(String message, Map<String, String> extras) { return PushPayload.newBuilder() .setPlatform(Platform.android_ios()) // 设置平台 .setAudience(Audience.all()) // 按什么发送 tag alia .setNotification( Notification .newBuilder() .setAlert(message) .addPlatformNotification( AndroidNotification.newBuilder().addExtras(extras).build()) .addPlatformNotification( IosNotification.newBuilder().addExtras(extras).build()) .build()) // 发送消息 .setOptions(Options.newBuilder().setApnsProduction(false).build()).build(); //设置ios平台环境 True 表示推送生产环境,False 表示要推送开发环境 默认是开发 } }