Java SDK 极光推送流程

本文将指导您完成Java使用极光推送的流程,包括在极光官网注册、创建应用以获取AppKey和Master Secret,以及在Java项目中引入依赖并创建辅助类JPushUtil。
摘要由CSDN通过智能技术生成

流程

  1. 在极光官网先注册一个账号,创建一个应用,获取AppKey、Master Secret (官网:https://www.jiguang.cn
  2. 在java项目中导入依赖的jar包,如果你是maven项目,在pom文件中添加依赖即可。
		<dependency>
			<groupId>cn.jpush.api</groupId>
			<artifactId>jpush-client</artifactId>
			<version>3.4.7</version>
		</dependency>
		<dependency>
			<groupId>cn.jpush.api</groupId>
			<artifactId>jiguang-common</artifactId>
			<version>1.1.8</version>
		</dependency>
		<dependency>
			<groupId>io.netty</groupId>
			<artifactId>netty-all</artifactId>
			<version>4.1.6.Final</version>
			<scope>compile</scope>
		</dependency>
  1. 创建一个JPushUtil类
public class JpushClientUtil {
   


	/**
	 * 设置好账号的app_key和masterSecret是必须的
	 */
	private final static String APPKEY = "d9cec8d81fdf8e69398550b5";
	private final static String MASTERSECRET = "d07cd0328470209f1dc35c0c";
	/**
	 * ApnsProduction
	 * 此字段的值是用来指定本推送要推送的apns环境,false表示开发,true表示生产;对android和自定义消息无意义
	 * 上线之后要改为 true
	 */
	private final static Boolean ApnsProduction = false;

	private final static int RETURNCODE = 200;

	private final static JPushClient jPushClient = new JPushClient(MASTERSECRET, APPKEY);

	private JpushClientUtil() {
   
		throw new AssertionError("不能产生该对象");
	}

	/**
	 * 推送给设备标识(别名)参数的用户
	 *
	 * @param alias              设备标识(别名)
	 * @param notification_title 通知内容标题
	 * @param msg_title          消息内容标题
	 * @param msg_content        消息内容
	 * @param extrasparam        扩展字段(通常传跳转的链接)
	 * @return 0推送失败,1推送成功
	 */
	public static int sendToAlias(List<String> alias, String notification_title, String msg_title, String msg_content, String extrasparam) {
   
		int result = 0;
		try {
   
			PushPayload pushPayload = JpushClientUtil.buildPushObject_all_alias_alertWithTitle(alias, notification_title, msg_title, msg_content, extrasparam);
			PushResult pushResult = jPushClient.sendPush(pushPayload);
			if (pushResult.getResponseCode() == RETURNCODE) {
   
				result = 1;
			}
			log.info("[极光推送]PushResult result is " + pushResult);
		} catch (APIConnectionException e) {
   
			log.error("[极光推送]Connection error. Should retry later. ", e);
		} catch (APIRequestException e) {
   
			log.error("[极光推送]Error response from JPush server. Should review and fix it. ", e);
			log.info("[极光推送]HTTP Status: " + e.getStatus());
			log.info("[极光推送]Error Code: " + e.getErrorCode());
			log.info("[极光推送]Error Message: " + e.getErrorMessage());
		}
		return result;
	}

	/**
	 * 推送给设备标识(别名)参数的用户(定时)
	 *
	 * @param alias              设备标识(别名)
	 * @param notification_title 通知内容标题
	 * @param msg_title          消息内容标题
	 * @param msg_content        消息内容
	 * @param extrasparam        扩展字段
	 * @param time               格式:yyyy-MM-dd HH:mm:ss
	 * @return 0推送失败,1推送成功
	 */
	public static int sendToAlias2(List<String> alias, String notification_title, String msg_title, String msg_content, String extrasparam, String time) {
   
		int result = 0;
		try {
   
			PushPayload pushPayload = JpushClientUtil.buildPushObject_all_alias_alertWithTitle(alias, notification_title, msg_title, msg_content, extrasparam);
			ScheduleResult scheduleResult = jPushClient.createSingleSchedule("点呗生活", time, pushPayload);
			if (scheduleResult.getResponseCode() == RETURNCODE) {
   
				result = 1;
			}
			log.info("[极光推送]ScheduleResult result is " + scheduleResult);
		} catch (APIConnectionException e) {
   
			log.error("[极光推送]Connection error. Should retry later. ", e);
		} catch (APIRequestException e) {
   
			log.error("[极光推送]Error response from JPush server. Should review and fix it. ", e);
			log.info("[极光推送]HTTP Status: " + e.getStatus());
			log.info("[极光推送]Error Code: " + e.getErrorCode());
			log.info("[极光推送]Error Message: " + e.getErrorMessage());
		}
		return result;
	}

	/**
	 * 推送给设备RegistrationIds参数的用户
	 *
	 * @param registration
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨染秦时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值