极光推送怎么和java继承_极光推送java后台对接

需要先去极光申请注册极光IM,获取appkey和masterSecret

https://docs.jiguang.cn/jmessage/server/rest_api_im/

http://jpush.github.io/jmessage-api-java-client/apidocs/

https://github.com/jpush/jmessage-api-java-client

09690e5ec28f4ad2963ea27842573b90.jpg

pom.xml

wnews

com.fd.wnews

0.0.1-SNAPSHOT

4.0.0

fd-wnews-common

org.springframework

spring-context

com.baomidou

mybatis-plus-support

io.swagger

swagger-annotations

io.netty

netty-transport

com.fd.businessengine

be-common-entity

1.0.2-SNAPSHOT

compile

cn.jpush.api

jpush-client

3.2.17

compile

org.apache.httpcomponents

httpclient

org.apache.httpcomponents

httpmime

4.5.9

com.arronlong

httpclientutil

1.0.4

cn.jpush.api

jiguang-common

1.1.3

backport-util-concurrent

backport-util-concurrent

3.1

cn.jpush.api

jmessage-client

1.1.8

工具类

package com.fd.wnews.utils.jiguang;

import cn.jiguang.common.resp.APIConnectionException;

import cn.jiguang.common.resp.APIRequestException;

import cn.jpush.api.JPushClient;

import cn.jpush.api.push.PushResult;

import cn.jpush.api.push.model.Message;

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.AndroidNotification;

import cn.jpush.api.push.model.notification.IosNotification;

import cn.jpush.api.push.model.notification.Notification;

import java.util.Map;

/**

* @Description 极光推送工具类

* @Author lc

* @Date 2019-11-20 上午 11:20

*/

public class PushUtil {

public static final String APP_KEY = "*************";

public static final String MASTER_SECRET = "*************";

/**

* @param param

* @return cn.jpush.api.push.PushResult

* @Description Android

* @Author lc

* @Date 2019-11-20 上午 11:34

**/

public static PushResult jpushAndroid(Mapparam) {

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

JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);

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

PushPayload payload = PushPayload.newBuilder()

.setPlatform(Platform.android())//指定android平台的用户

.setAudience(Audience.all())//你项目中的所有用户

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

.setNotification(Notification.android(param.get("msg"), "这是title", param))

//发送内容

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

//这里是指定开发环境,不用设置也没关系

.setMessage(Message.content(param.get("msg")))//自定义信息

.build();

PushResult pu = null;

try {

pu = jpushClient.sendPush(payload);

} catch (APIConnectionException e) {

e.printStackTrace();

} catch (APIRequestException e) {

e.printStackTrace();

}

return pu;

}

/**

* @param param

* @return cn.jpush.api.push.PushResult

* @Description ios

* @Author lc

* @Date 2019-11-20 上午 11:34

**/

public static PushResult jpushIOS(Mapparam) {

//创建JPushClient

JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);

PushPayload payload = PushPayload.newBuilder()

.setPlatform(Platform.ios())//ios平台的用户

.setAudience(Audience.all())//所有用户

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

.setNotification(Notification.newBuilder()

.addPlatformNotification(IosNotification.newBuilder()

.setAlert(param.get("msg"))

.setBadge(+1)

.setSound("happy")//这里是设置提示音(更多可以去官网看看)

.addExtras(param)

.build())

.build())

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

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

.build();

PushResult pu = null;

try {

pu = jpushClient.sendPush(payload);

} catch (APIConnectionException e) {

e.printStackTrace();

} catch (APIRequestException e) {

e.printStackTrace();

}

return pu;

}

/**

* @param param

* @return void

* @Description All所有平台

* @Author lc

* @Date 2019-11-20 上午 11:26

**/

public static PushResult jpushAll(Mapparam) {

//创建JPushClient

JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);

//创建option

PushPayload payload = PushPayload.newBuilder()

.setPlatform(Platform.all()) //所有平台的用户

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

.setNotification(Notification.newBuilder()

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

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

.setBadge(+1)

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

.addExtras(param) //附加参数

.build())

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

.addExtras(param) //附加参数

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

.build())

.build())

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

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

.build();

PushResult pu = null;

try {

pu = jpushClient.sendPush(payload);

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

} catch (APIConnectionException e) {

e.printStackTrace();

} catch (APIRequestException e) {

e.printStackTrace();

}

return pu;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值