android 极光推送1011,SpringBoot服务端集成极光推送

1. 添加依赖

cn.jpush.api

jpush-client

3.4.6

2. 推送工具类

/**

* create by 星航指挥官

* create on 2020/11/22

* 不过是大梦一场空

* 不过是孤影照惊鸿

*/

public class JpushUtils {

// 设置app_key和masterSecret

private static String APP_KEY = "71e7432cf51877daf5334115";

private static String MASTER_SECRET = "acf5f4dd6302eaebf24c1eef";

/*

* android端推送

* parm参数是Controller层传来的参数,设置了通知的具体内容

* */

public static void jpushAndroid(Map parm) {

//建立JPushClient(极光推送的实例)

JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);

//推送的关键,构造一个payload

PushPayload payload = PushPayload.newBuilder()

.setPlatform(Platform.android())//指定android平台

// .setAudience(Audience.all())//通知所有 即广播(免费版一天只有10次机会)

// .setAudience(Audience.alias(parm.get("alias")))//根据别名发送

.setAudience(Audience.tag(parm.get("tag")))//根据标签发送

// .setAudience(Audience.registrationId(parm.get("id")))//指定用户发送

.setOptions(Options.newBuilder().setApnsProduction(true).setTimeToLive(7200).build())

// apnProduction指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式) 不用设置也不要紧

// TimeToLive 缓存时间

.setNotification(Notification.android(parm.get("msg"), parm.get("title"), parm)) //发送通知

.setMessage(Message.content(parm.get("msg")))//自定义信息 和上一个二选一 固然也能够一块儿发

.build();//建立

try {

PushResult pushResult = jpushClient.sendPush(payload);

System.out.println(pushResult.toString());

} catch (APIConnectionException e) {

e.printStackTrace();

} catch (APIRequestException e) {

e.printStackTrace();

}

}

/*

* ios端推送

* parm参数是Controller层传来的参数,设置了通知的具体内容

* */

public static void jpushIOS(Map parm) {

//建立JPushClient

JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);

PushPayload payload = PushPayload.newBuilder()

.setPlatform(Platform.ios())//ios平台

.setAudience(Audience.all())//全部用户

//.setAudience(Audience.registrationId(parm.get("id")))//registrationId指定用户

.setNotification(Notification.newBuilder()

.addPlatformNotification(IosNotification.newBuilder()

.setAlert(parm.get("msg"))

.setBadge(+1)

.setSound("happy")//这里是设置提示音

.addExtras(parm)

.build())

.build())

.setOptions(Options.newBuilder().setApnsProduction(false).build())

.setMessage(Message.newBuilder().setMsgContent(parm.get("msg")).addExtras(parm).build())//自定义信息

.build();

try {

PushResult pushResult = jpushClient.sendPush(payload);

System.out.println(pushResult.toString());

} catch (APIConnectionException e) {

e.printStackTrace();

} catch (APIRequestException e) {

e.printStackTrace();

}

}

/*

* android于ios端同时推送

* parm参数是Controller层传来的参数,设置了通知的具体内容

* */

public static void jpushAll(Map parm) {

//建立JPushClient

JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);

//建立option

PushPayload payload = PushPayload.newBuilder()

.setPlatform(Platform.all()) //全部平台的用户

.setAudience(Audience.registrationId(parm.get("id")))//registrationId指定用户

.setNotification(Notification.newBuilder()

.addPlatformNotification(IosNotification.newBuilder() //发送ios

.setAlert(parm.get("msg")) //消息体

.setBadge(+1)

.setSound("happy") //ios提示音

.addExtras(parm) //附加参数

.build())

.addPlatformNotification(AndroidNotification.newBuilder() //发送android

.addExtras(parm) //附加参数

.setAlert(parm.get("msg")) //消息体

.build())

.build())

.setOptions(Options.newBuilder().setApnsProduction(true).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)

.setMessage(Message.newBuilder().setMsgContent(parm.get("msg")).addExtras(parm).build())//自定义信息

.build();

try {

PushResult pushResult = jpushClient.sendPush(payload);

System.out.println(pushResult.toString());

} catch (APIConnectionException e) {

e.printStackTrace();

} catch (APIRequestException e) {

e.printStackTrace();

}

}

}

3. 推送消息

@RequestMapping("/androidPush")

public Result pushMessageToAndroid(){

//建立参数集合

Map parm = new HashMap<>();

//设置标题

parm.put("title","Alin");

//设置内容

parm.put("msg","Hello Alin !");

//设置标签

parm.put("tag","0x412");

//设置别名

parm.put("alias","0x123");

//发送推送

JpushUtils.jpushAndroid(parm);

return new Result(49,"SUCCESS",null);

}

4. 小提示

若是极光推送没有用户会报错误码:1011java

此时先检查集成是否成功android

再检查标签或者别名是否是设置错误ios

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值