极光推送的API

进行推送的关键在于构建一个 PushPayload 对象。这是极光官网API的一句话。

打开极光源码找到PushPayload 类


看到这几个属性,然后在极光网站上有对应的说明


其实 要做的就是按照自己的需求给这个几个属性设置值而已。


package com.cn.hnust.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import com.cn.hnust.po.Message;

import cn.jpush.api.common.ClientConfig;
import cn.jpush.api.device.DeviceClient;
import cn.jpush.api.push.PushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.PushPayload.Builder;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.Notification;
import cn.jpush.api.schedule.ScheduleClient;
import cn.jpush.api.schedule.model.SchedulePayload;
import cn.jpush.api.schedule.model.TriggerPayload;

@Component("noticeComponent")
public class NoticeComponent {
	private final PushClient _pushClient;
	private final DeviceClient _deviceClient;
	private final ScheduleClient _scheduleClient;
	private final ClientConfig conf;

	private Logger logo = LoggerFactory.getLogger(this.getClass());

	public NoticeComponent() {
		String masterSecret = "";//密匙
		String appKey = "";//极光的appkey
		int maxRetryTimes = 600;
		conf = ClientConfig.getInstance();
		conf.setMaxRetryTimes(maxRetryTimes);

		_pushClient = new PushClient(masterSecret, appKey, null, conf);
		_deviceClient = new DeviceClient(masterSecret, appKey, null, conf);
		_scheduleClient = new ScheduleClient(masterSecret, appKey, null, conf);
	}

	public void send(Message message) {
		Builder builder = PushPayload.newBuilder();
		builder.setPlatform(Platform.ios());
		builder.setAudience(Audience.registrationId(message.getRegistrationIds()));
		builder.setNotification(Notification.alert(message.getAlert()));
		builder.setMessage(cn.jpush.api.push.model.Message.content(message.getAlert()));
		cn.jpush.api.schedule.model.TriggerPayload.Builder triggerPayload = TriggerPayload.newBuilder();
		triggerPayload.setSingleTime("");
		cn.jpush.api.schedule.model.SchedulePayload.Builder builderSchedule = SchedulePayload.newBuilder();
		builderSchedule.setName("a");
		builderSchedule.setEnabled(true);
		builderSchedule.setTrigger(triggerPayload.buildSingle());
		builderSchedule.setPush(builder.build());
		try {
			sendBySysMessage(builder);
		} catch (Exception e) {
			// 推送报错
			e.printStackTrace();
		}
	}

	public void sendBySysMessage(Builder builder) throws Exception {
		PushResult pushResult = get_pushClient().sendPush(builder.build());
		logo.info("返回结果" + pushResult);
	}

	public PushClient get_pushClient() {
		return _pushClient;
	}

	public DeviceClient get_deviceClient() {
		return _deviceClient;
	}

	public ScheduleClient get_scheduleClient() {
		return _scheduleClient;
	}
}

结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值