package com.cku.jpush; import cn.jpush.api.JPushClient; import cn.jpush.api.common.resp.APIConnectionException; import cn.jpush.api.common.resp.APIRequestException; import cn.jpush.api.push.PushResult; 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.Notification; import com.cku.util.MD5Generator; import com.cku.util.SysConfig; import com.cku.jpush.JpushNotification; public class PushUtils { public static String jpushMasterSecret = ""; public static String jpushAppKey = ""; public static boolean isDebug = false; public final static String SAIL = "cab"; static { jpushMasterSecret = SysConfig.getInstance().getProperty("jpushMasterSecret"); jpushAppKey = SysConfig.getInstance().getProperty("jpushAppKey"); //苹果true为正式,false为测试,安卓不支持, isDebug = "true".equals(SysConfig.getInstance().getProperty("jpushApns"))?true:false; } public static JPushClient jpushClient = new JPushClient(jpushMasterSecret, jpushAppKey); public static String getShowId(String userId){ return MD5Generator.generate(SAIL+userId).substring(8,24); } /** * 发送-通知-所有设备 * @param notification */ public static void push_all_notification(JpushNotification notification){ PushPayload payloadAndroid = PushPayload.newBuilder() .setPlatform(Platform.android()) .setAudience(Audience.all()) .setOptions(Options.newBuilder() .setApnsProduction(isDebug) .build()) .setNotification(Notification.android(notification.getAlert(),notification.getTitle(),notification.getExtras())).build(); PushPayload payloadIos = PushPayload.newBuilder() .setPlatform(Platform.ios()) .setAudience(Audience.all()) .setOptions(Options.newBuilder() .setApnsProduction(isDebug) .build()) .setNotification(Notification.ios(notification.getAlert(),notification.getExtras())).build(); try { PushResult resultAndroid = jpushClient.sendPush(payloadAndroid); PushResult resultIos = jpushClient.sendPush(payloadIos); System.out.println("resultAndroid"+resultAndroid); System.out.println("resultIos"+resultIos); } catch (APIConnectionException e) { e.printStackTrace(); } catch (APIRequestException e) { e.printStackTrace(); } } /** * 发送别名通知 * @param alias * @param notification */ public static void push_alias_notification(String alias,String notification){ PushPayload payload = PushPayload.newBuilder() .setPlatform(Platform.all()) .setAudience(Audience.alias(alias)) .setNotification(Notification.alert(notification)) .setOptions(Options.newBuilder() .setApnsProduction(isDebug) .build()) .build(); try { jpushClient.sendPush(payload); } catch (APIConnectionException e) { e.printStackTrace(); } catch (APIRequestException e) { e.printStackTrace(); } } }