极光推送JPushUtil

public class JPushUtil {


	private static final String  jiguang_appKey="123";
	private static final String  jiguang_masterSecret="4566";


	protected static final Logger LOG = LoggerFactory.getLogger(JPushUtil.class);



	//别名推送
	public static PushPayload buildPushObject_android_and_ios_singleNotice(String title, String alert, String alias, Map<String, String> extras, boolean apnsProduction) {
		return PushPayload.newBuilder()
				.setPlatform(Platform.android_ios())
				.setAudience(Audience.alias(alias))
				.setNotification(Notification.newBuilder().setAlert(alert)
						.addPlatformNotification(AndroidNotification.newBuilder()
								.setTitle(title)
								.addExtras(extras)
								.build())
						.addPlatformNotification(IosNotification.newBuilder()
								.addExtras(extras)
								.setSound("default")
								.build())
						.build())
				.setOptions(Options.newBuilder()
						.setApnsProduction(apnsProduction)
						.build())
				.build();
	}
	//别名推送
	public static PushPayload buildPushObject_android_and_ios_batchNotice(String title,String alert,List<String> alias,Map<String, String> extras,boolean apnsProduction) {
		return PushPayload.newBuilder()
				.setPlatform(Platform.android_ios())
				.setAudience(Audience.alias(alias))
				.setNotification(Notification.newBuilder().setAlert(alert)
						.addPlatformNotification(AndroidNotification.newBuilder()
								.setTitle(title)
								.addExtras(extras)
								.build())
						.addPlatformNotification(IosNotification.newBuilder()
								.addExtras(extras)
								.setSound("default")
								.build())
						.build())
				.setOptions(Options.newBuilder()
						.setApnsProduction(apnsProduction)
						.build())
				.build();
	}

	//标签推送
	public static PushPayload buildPushObject_android_and_ios_tag_singleNotice(String title,String alert,String tag,Map<String, String> extras,boolean apnsProduction) {
		return PushPayload.newBuilder()
				.setPlatform(Platform.android_ios())
				.setAudience(Audience.tag(tag))
				.setNotification(Notification.newBuilder().setAlert(alert)
						.addPlatformNotification(AndroidNotification.newBuilder()
								.setTitle(title)
								.addExtras(extras)
								.build())
						.addPlatformNotification(IosNotification.newBuilder()
								.addExtras(extras)
								.setSound("default")
								.build())
						.build())
				.setOptions(Options.newBuilder()
						.setApnsProduction(apnsProduction)
						.build())
				.build();
	}

	//标签 批量推送
	public static PushPayload buildPushObject_android_and_ios_tag_batchNotice(String title,String alert,List<String> tags,Map<String, String> extras,boolean pnsProduction) {
		return PushPayload.newBuilder()
				.setPlatform(Platform.android_ios())
				.setAudience(Audience.tag(tags))
				.setNotification(Notification.newBuilder().setAlert(alert)
						.addPlatformNotification(AndroidNotification.newBuilder()
								.setTitle(title)
								.addExtras(extras)
								.build())
						.addPlatformNotification(IosNotification.newBuilder()
								.addExtras(extras)
								.setSound("default")
								.build())
						.build())
				.setOptions(Options.newBuilder()
						.setApnsProduction(pnsProduction)
						.build())
				.build();
	}


	//全平台发送
	public static PushPayload buildPushObject_all_notice(String title,String alert,Map<String, String> extras,boolean pnsProduction) {
		return PushPayload.newBuilder()
				.setPlatform(Platform.android_ios())
				.setAudience(Audience.all())
				.setNotification(Notification.newBuilder().setAlert(alert)
						.addPlatformNotification(AndroidNotification.newBuilder()
								.setTitle(title)
								.addExtras(extras)
								.build())
						.addPlatformNotification(IosNotification.newBuilder()
								.addExtras(extras)
								.setSound("default")
								.build())
						.build())
				.setOptions(Options.newBuilder()
						.setApnsProduction(pnsProduction)
						.build())
				.build();
	}





	/**
	 * 根据别名 单个推送
	 */
	public static boolean sendSingleNotice(String title,String alert,Long alias,Map<String, String> extras,String profilesActive) {
		try {
			boolean apnsProduction=false;
			if("prod".equals(profilesActive)){
				apnsProduction=true;
			}
			String aliasStr=profilesActive+alias;
			JPushClient jpushClient = new JPushClient(jiguang_masterSecret, jiguang_appKey);
			PushPayload payload =buildPushObject_android_and_ios_singleNotice(title,alert,aliasStr,extras,apnsProduction);
			jpushClient.sendPush(payload);
		} catch (Exception e) {
			return false;
		}
		return true;
	}


	/**
	 * 根据别名 批量推送
	 */
	public static boolean sendBatchNotice(String title,String alert,List<Long> alias,Map<String, String> extras,String profilesActive) {
		try {
			boolean apnsProduction=false;
			if("prod".equals(profilesActive)){
				apnsProduction=true;
			}
			List<String> aliasStr=new ArrayList<>();
			for (Long alia:alias){
				aliasStr.add(profilesActive+alia);
			}
			JPushClient jpushClient = new JPushClient(jiguang_masterSecret, jiguang_appKey);
			PushPayload payload =buildPushObject_android_and_ios_batchNotice(title,alert,aliasStr,extras,apnsProduction);
			jpushClient.sendPush(payload);
		} catch (Exception e) {
			return false;
		}
		return true;
	}


	/**
	 * 根据标签 单个推送
	 */
	public static boolean sendTagSingleNotice(String title,String alert,String tag,Map<String, String> extras,String isProduce) {
		try {
			boolean apnsProduction=false;
			if("prod".equals(isProduce)){
				apnsProduction=true;
			}
			JPushClient jpushClient = new JPushClient(jiguang_masterSecret, jiguang_appKey);
			PushPayload payload =buildPushObject_android_and_ios_tag_singleNotice(title,alert,tag,extras,apnsProduction);
			jpushClient.sendPush(payload);

		} catch (Exception e) {
			return false;
		}
		return true;
	}


	/**
	 * 根据标签 批量推送
	 */
	public static boolean sendTagBatchNotice(String title,String alert,List<String> tags,Map<String, String> extras,String isProduce) {
		try {
			boolean apnsProduction=false;
			if("prod".equals(isProduce)){
				apnsProduction=true;
			}

			JPushClient jpushClient = new JPushClient(jiguang_masterSecret, jiguang_appKey);
			PushPayload payload =buildPushObject_android_and_ios_tag_batchNotice(title,alert,tags,extras,apnsProduction);
			jpushClient.sendPush(payload);
		} catch (Exception e) {
			return false;
		}
		return true;
	}

	/**
	 * 全平台发送
	 */
	public static boolean sendAllNotice(String title,String alert,Map<String, String> extras,String isProduce) {
		try {
			boolean apnsProduction=false;
			if("prod".equals(isProduce)){
				apnsProduction=true;
			}
			JPushClient jpushClient = new JPushClient(jiguang_masterSecret, jiguang_appKey);
			PushPayload payload =buildPushObject_all_notice(title,alert,extras,apnsProduction);
			jpushClient.sendPush(payload);
		} catch (Exception e) {
			return false;
		}
		return true;
	}




	public static void main(String[] args) {

		List<Long> aliases=new ArrayList<Long>();
		aliases.add(1l);
		aliases.add(2l);
		Map<String, String> extras=new HashMap<String,String>();
		extras.put("sound", "default");
		extras.put("type", "3");
		extras.put("entityType", "3");
		extras.put("entityId", "dfffca1b1f8648098540cf033d397b5c");



		JPushUtil.sendBatchNotice("订单通知", "后视镜的后视镜活动时间", aliases, extras,"test");
	}
}


Guess you like

Origin blog.csdn.net/LC_Liangchao/article/details/121835577