Java 使用第三方推送 -- 极光推送
官网链接 : https://www.jiguang.cn/
注册完成登录后,点击创建应用 这里不细说

Java后端的整合如下:
添加maven依赖的包
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jiguang-common</artifactId>
<version>1.1.3</version>
</dependency>
创建一个工具类 JiGuangPushUtil.java
/**
* @ClassName 极光推送工具类
* @Author Mr.Tang
* @Date 2019/11/14 14:01
* @Version 1.0
**/ public class JiGuangPushUtil { /**
* 两个参数分别填写你申请的masterSecret和appKey##
*/
private static String masterSecret = "你的masterSecret";
private static String appKey = "你的appKey";
private static JPushClient jPushClient=new JPushClient(masterSecret,appKey); /**
* 全平台推送
* @param parm map里面可以根据自身情况增加一些参数 比如页面跳转的地址等
* @param list 用户id集合 这里我们是以用户id作为别名的方式注册到极光 所以我们只需要把用户id给极光 他就会直接给对应用户推送
*/
public static void jpushAll(Map<String, String> parm,List<String> list) {
PushPayload payload = PushPayload.newBuilder()
//所有平台的用户
.setPlatform(Platform.all())
//指定用户
.setAudience(Audience.alias(list))
.setNotification(Notification.newBuilder()
//ios推送
.addPlatformNotification(IosNotification.newBuilder()
.setAlert(IosAlert.newBuilder().setTitleAndBody(parm.get("title"),null,parm.get("body")).build())
.setBadge(+1)
.setSound("qxgf")
.addExtras(parm)
.build())
//Android推送 也可以分开写
.addPlatformNotification(AndroidNotification.newBuilder()
.setTitle(parm.get("title"))
.addExtras(parm)
.setAlert(parm.get("body"))
.build())
.build())
//指定开发环境
.setOptions(Options.newBuilder().setApnsProduction(false).build())
//自定义信息
.setMessage(Message.newBuilder().setMsgContent(parm.get("title")).addExtras(parm).build())
.build();
try {
PushResult pushResult = jPushClient.sendPush(payload);
System.out.println(pushResult);
if(pushResult.getResponseCode()==200){
System.out.println(pushResult.getResponseCode());
}
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
/**
* 参数设置
* @param title
* @param body
* @param list 用户集合
*/
public static void jpushPush(String title,String body,List<String> list){
Map<String, String> parm = new HashMap<> ();
//标题
parm.put("title",title);
//内容
parm.put("body",body);
JiGuangPushUtil.jpushAll(parm,list);
}
}
哪里需要 哪里调用
JiGuangPushUtil.jpushPush(MedicalConstant.System_Schedule,body,list);
以上就是 Java后台整合的代码了
QQ群 :216868740
Java 使用第三方推送 -- 极光推送的更多相关文章
- java SDK服务端推送 --极光推送(JPush)
网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andr ...
- JPush Flutter Plugin(Futter推送-极光推送)
https://pub.flutter-io.cn/packages/jpush_flutter JPush's officially supported Flutter plugin (Androi ...
- Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 下面是一些知识点介绍,后期将会带领大家进行代码实战: 一.Android实现推送方式解决方案: 1.推 ...
- 【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)
作者 : octopus_truth 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/45046283 推送技术产生场景 : -- ...
- APP的消息推送(极光推送)
APP的消息推送,使用的第三方平台是极光推送 简单案例(以Thinkphp为例): 1.下载下载PHPSDK 2.把PHPSDK目录下的jpush-api-php-client-3.5.1\src\J ...
- android推送-PHP(第三方推送:个推)
在项目初期,就安卓推送功能怎么做,曾经参考过例如XMPP之类的推送方法.但苦于那些是些英文档案,又没太多时间研究,所以打算采用第三方推送(个推,极光推送等),后来在美图技术老大推荐下用采用个推. PS ...
- IOS中程序如何进行推送消息(本地推送,远程推送)2(上)
未看过本地推送的,可以提前看一下本地推送. http://www.cnblogs.com/wolfhous/p/5135711.html =============================== ...
- 极光推送-Java后台实现方式一:Http API
Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请求API:https://api.jpush.cn/v3/push,另一种则是使用官方提供的第三方Java APIjar包,这里先 ...
- 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...
随机推荐
- ESP8266_04管脚控制与软件定时器
ESP8266_04管脚控制与软件定时器 from :https://mp.weixin.qq.com/s/APawDx4io4gKJyOeuErTLA 原创: MCU启航 单片机爱好者 今天 这一节 ...
- Spring Boot 中初始化资源的几种方式(转)
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看.今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回 ...
- 2018 南京预选赛 J Sum ( 欧拉素数筛 、Square-free Number、DP )
题目链接 题意 : 定义不能被平方数整除的数为 Square-free Number 定义 F(i) = 有几对不同的 a 和 b 使得 i = a * b 且 a .b 都是 Square-free ...
- codeforces555B
Case of Fugitive CodeForces - 555B Andrewid the Android is a galaxy-famous detective. He is now chas ...
- JavaScript如何比较两个数组的内容是否相同
今天意外地发现JavaScript是不能用==或===操作符直接比较两个数组是否相等的. alert([]==[]); // false alert([]===[]); // false 以上两句代码 ...
- mybatis oracle mysql 批量插入时的坑爹问题--需谨记
mybatis oracle mysql 批量插入一.oracle的批量插入方式insert into db(id, zgbh, shbzh) select '1', '2', '3' from du ...
- H264之基础篇
1. H264 基础概念 在 H.264/AVC 视频编码标准中,整个系统框架划分为如下两个层面: 视频编码层(VCL):VCL 数据即被压缩编码后的视频数据序列,负责有效表示视频数据的内容: 网络抽 ...
- rtmp 协议详解
1. handshake 1.1 概述 rtmp 连接从握手开始.它包含三个固定大小的块.客户端发送的三个块命名为 C0,C1,C2:服务端发送的三个块命名为 S0,S1,S2. 握手序列: 客户端通 ...
- node版本如何升级
爬坑后的结论:window系统升级node只能到node官网下载window安装包来覆盖之前的node. 以下为我的爬坑之路: 今天安装了vue cli 3,使用命令时报: You are using ...
- RBAC 权限模型
RBAC 0 模型 最基本的 MySQL 脚本,没有建立外键约束. /* Navicat Premium Data Transfer Source Server Type : MySQL Source ...