package com.zheng.cms.web.jpush.util;

import cn.jpush.api.JPushClient;
import cn.jpush.api.common.APIConnectionException;
import cn.jpush.api.common.APIRequestException;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory; import java.util.HashMap;
import java.util.Map; public class JPushClientUtil { private static Logger logger = LoggerFactory.getLogger(JPushClientUtil.class);
private static final String appKey = "466f7032ac604e02fb7bda89"; // 必填,例如466f7032ac604e02fb7bda89
private static final String masterSecret = "13ac09b17715bd117163d8a1";// "13ac09b17715bd117163d8a1";//必填,每个应用都对应一个masterSecret
protected static JPushClient jpush = null;
private static final int MAX = Integer.MAX_VALUE;
private static boolean flag=false; public static void main(String[] args) {
//String msgTitle = "推送测试";
String msgContent = "看到信息了么,看到就推送成功了!";
//String userid="7753b9c538de44c791bb44eed1980d39";
//pushMessage(msgContent);
// String[] alias={"143","143"};
/* Map<String,String> extras=new HashMap<String,String>();
extras.put("type", "3");
//pushNotification("title","tet","13611112222");
pushAndroidNotification("renz",extras,"3",alias );*/
Map<String, String> extras = new HashMap<String, String>();
// 添加附加信息
extras.put("url", "htt://baidu.com");
sendAllsetNotification(msgContent,extras);
} private static void init(){
if(!flag){
jpush = new JPushClient(masterSecret, appKey);
flag=true;
}
} /**
+ * 推送所有信息
+ * @param msgContent
+ */
public static void pushMessage(String msgContent) { init();
PushResult pushResult;
try {
pushResult = jpush.sendMessageAll(msgContent);
if(pushResult.isResultOK()){
logger.info("发送成功");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 给所有平台的所有用户发通知
*/
public static void sendAllsetNotification(String message,Map<String, String> extras)
{ init();
PushPayload payload = buildPushObject_all_alias_alert(message, extras);
try
{
PushResult result = jpush.sendPush(payload);
logger.info(result.toString());
}
catch (APIConnectionException e)
{
logger.info("推送失败!",e);
}
catch (APIRequestException e)
{
logger.info("APIRequestException" + e);
logger.info("Error Message: " + e.getErrorMessage());
System.out.println("Error Message: " + e.getErrorMessage());
}
} /**
* 推送 通知
*/
public static void pushNotification(String title,String alert,String...alias ) { init();
Map extras= new HashMap();
PushResult pushResult1;
PushResult pushResult2;
try {
pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
//jpush.
if(pushResult1.isResultOK()){
logger.info("android发送成功");
}else{
logger.info("android发送失败");
}
if(pushResult2.isResultOK()){
logger.info("Ios发送成功");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 推送ANDROID客户端通知
*/
public static void pushAndroidNotification(String title,Map<String,String> extras,String alert,String...alias ) {
init();
PushResult pushResult1;
try {
pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
if(pushResult1.isResultOK()){
logger.info("android发送成功");
}else{
logger.info("android发送失败");
} } catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 推送Ios通知
*/
public static void pushIosNotification(String alert,Map<String,String> extras,String...alias ) {
init();
PushResult pushResult2;
try {
pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); if(pushResult2.isResultOK()){
logger.info("Ios发送成功");
}else{
logger.info("Ios发送失败");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 推送 通知
*/
public static void pushNotification(String alert,String alias ) {
init();
Map extras= new HashMap();
extras.put("1", "1");
PushResult pushResult2;
try {
pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
if(pushResult2.isResultOK()){
logger.info("android发送成功");
}else{
logger.info("android发送失败");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 发送通知
*
* @param message
* @param extras
* @return
* @author WangMeng
* @date 2017年1月13日
*/
private static PushPayload buildPushObject_all_alias_alert(String message,
Map<String, String> extras)
{
return PushPayload.newBuilder()
.setPlatform(Platform.android_ios())
// 设置平台
.setAudience(Audience.all())
// 按什么发送 tag alia
.setNotification(
Notification
.newBuilder()
.setAlert(message)
.addPlatformNotification(
AndroidNotification.newBuilder().addExtras(extras).build())
.addPlatformNotification(
IosNotification.newBuilder().addExtras(extras).build())
.build())
// 发送消息
.setOptions(Options.newBuilder().setApnsProduction(false).build()).build();
//设置ios平台环境 True 表示推送生产环境,False 表示要推送开发环境 默认是开发
}
}
package com.zheng.cms.web.jpush.util;

import cn.jpush.api.JPushClient;
import cn.jpush.api.common.APIConnectionException;
import cn.jpush.api.common.APIRequestException;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory; import java.util.HashMap;
import java.util.Map; public class JPushClientUtil { private static Logger logger = LoggerFactory.getLogger(JPushClientUtil.class);
private static final String appKey = "466f7032ac604e02fb7bda89"; // 必填,例如466f7032ac604e02fb7bda89
private static final String masterSecret = "13ac09b17715bd117163d8a1";// "13ac09b17715bd117163d8a1";//必填,每个应用都对应一个masterSecret
protected static JPushClient jpush = null;
private static final int MAX = Integer.MAX_VALUE;
private static boolean flag=false; public static void main(String[] args) {
//String msgTitle = "推送测试";
String msgContent = "看到信息了么,看到就推送成功了!";
//String userid="7753b9c538de44c791bb44eed1980d39";
//pushMessage(msgContent);
// String[] alias={"143","143"};
/* Map<String,String> extras=new HashMap<String,String>();
extras.put("type", "3");
//pushNotification("title","tet","13611112222");
pushAndroidNotification("renz",extras,"3",alias );*/
Map<String, String> extras = new HashMap<String, String>();
// 添加附加信息
extras.put("url", "htt://baidu.com");
sendAllsetNotification(msgContent,extras);
} private static void init(){
if(!flag){
jpush = new JPushClient(masterSecret, appKey);
flag=true;
}
} /**
+ * 推送所有信息
+ * @param msgContent
+ */
public static void pushMessage(String msgContent) { init();
PushResult pushResult;
try {
pushResult = jpush.sendMessageAll(msgContent);
if(pushResult.isResultOK()){
logger.info("发送成功");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 给所有平台的所有用户发通知
*/
public static void sendAllsetNotification(String message,Map<String, String> extras)
{ init();
PushPayload payload = buildPushObject_all_alias_alert(message, extras);
try
{
PushResult result = jpush.sendPush(payload);
logger.info(result.toString());
}
catch (APIConnectionException e)
{
logger.info("推送失败!",e);
}
catch (APIRequestException e)
{
logger.info("APIRequestException" + e);
logger.info("Error Message: " + e.getErrorMessage());
System.out.println("Error Message: " + e.getErrorMessage());
}
} /**
* 推送 通知
*/
public static void pushNotification(String title,String alert,String...alias ) { init();
Map extras= new HashMap();
PushResult pushResult1;
PushResult pushResult2;
try {
pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
//jpush.
if(pushResult1.isResultOK()){
logger.info("android发送成功");
}else{
logger.info("android发送失败");
}
if(pushResult2.isResultOK()){
logger.info("Ios发送成功");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 推送ANDROID客户端通知
*/
public static void pushAndroidNotification(String title,Map<String,String> extras,String alert,String...alias ) {
init();
PushResult pushResult1;
try {
pushResult1 = jpush.sendAndroidNotificationWithAlias(title, alert, extras, alias);
if(pushResult1.isResultOK()){
logger.info("android发送成功");
}else{
logger.info("android发送失败");
} } catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 推送Ios通知
*/
public static void pushIosNotification(String alert,Map<String,String> extras,String...alias ) {
init();
PushResult pushResult2;
try {
pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias); if(pushResult2.isResultOK()){
logger.info("Ios发送成功");
}else{
logger.info("Ios发送失败");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 推送 通知
*/
public static void pushNotification(String alert,String alias ) {
init();
Map extras= new HashMap();
extras.put("1", "1");
PushResult pushResult2;
try {
pushResult2 = jpush.sendIosNotificationWithAlias(alert, extras, alias);
if(pushResult2.isResultOK()){
logger.info("android发送成功");
}else{
logger.info("android发送失败");
}
} catch (APIConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (APIRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 发送通知
*
* @param message
* @param extras
* @return
* @author WangMeng
* @date 2017年1月13日
*/
private static PushPayload buildPushObject_all_alias_alert(String message,
Map<String, String> extras)
{
return PushPayload.newBuilder()
.setPlatform(Platform.android_ios())
// 设置平台
.setAudience(Audience.all())
// 按什么发送 tag alia
.setNotification(
Notification
.newBuilder()
.setAlert(message)
.addPlatformNotification(
AndroidNotification.newBuilder().addExtras(extras).build())
.addPlatformNotification(
IosNotification.newBuilder().addExtras(extras).build())
.build())
// 发送消息
.setOptions(Options.newBuilder().setApnsProduction(false).build()).build();
//设置ios平台环境 True 表示推送生产环境,False 表示要推送开发环境 默认是开发
}
}

极光推送java代码的更多相关文章

  1. 极光推送JAVA代码示例

    一. 准备工作 1. 登录极光推送官网https://www.jpush.cn/,注册账号并登录 2. 创建应用 创建应用过程,详见百度经验:http://jingyan.baidu.com/arti ...

  2. JPush极光推送 Java调用服务器端API开发

       极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验.简单的说就是通过JPush后台管理网站进行app消息的推送.可以让用户及时 ...

  3. 极光推送-Java后台实现方式一:Http API

    Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请求API:https://api.jpush.cn/v3/push,另一种则是使用官方提供的第三方Java APIjar包,这里先 ...

  4. 极光推送>>java SDK服务端集成后台项目(使用详解)

    PS:如果你是第一次用推送,那就直接按照我的步骤来,再去看官方文档,这样,更容易能理解操作流程.还有——-请耐心看 极光文档(java SDK)请参考 [ 极光文档 ] 步骤一: 首先,你必须在 [极 ...

  5. 总结:极光推送java服务端(1)

    遇到的问题: 1.怎么用极光推送 2.极光推送发送失败报错 返回{ } 3.透传和推送区别以及怎么设置 我的解决方案: 问题1.极光推送类里面有不同的方法,需要发给那些人就调用相应的方法.有安卓.io ...

  6. 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)

    一共两个类 一个Jdpush  一个JpushClientUtil 代码如下   注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...

  7. JPush极光推送Java服务器端API

    // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, appKey);   // 对android和ios设备发送 ...

  8. JPush极光推送Java服务器端实例

    import cn.jpush.api.JPushClient; import cn.jpush.api.common.resp.APIConnectionException; import cn.j ...

  9. 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)

    这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...

随机推荐

  1. if 结构语句

    if 条件: print()#不只是能输入print

  2. BZOJ2150部落战争——最小路径覆盖

    题目描述 lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国的下部征战来获得更大的领土. A国是一 个M*N的矩阵,其中某些地方是城镇,某些地方是高山深涧无人居住.lanzerb ...

  3. Katu Puzzle POJ - 3678(水2 - sat)

    题意: 有n个未知量,m对未知量之间的关系,判断是否能求出所有的未知量且满足这些关系 解析: 关系建边就好了 #include <iostream> #include <cstdio ...

  4. 洛谷P4581 [BJOI2014]想法(玄学算法,拓扑排序)

    洛谷题目传送门 萝卜大毒瘤 题意可以简化成这样:给一个DAG,求每个点能够从多少个入度为\(0\)的点到达(记为\(k\)). 一个随机做法:给每个入度为\(0\)的点随机一个权值,在DAG上求出每个 ...

  5. SPOJ divcntk(min25筛)

    题意 \(\sigma_0(i)\) 表示 \(i\) 的约数个数 求 \[ S_k(n)=\sum_{i=1}^n\sigma_0(i^k)\pmod {2^{64}} \] 共 \(T\) 组数据 ...

  6. Vert.x系列(三)--ClusteredEventBus源码分析

    前言:因为ClusteredEventBus涉及集群,有必产生网络问题,从而引入了NetServer.ServerID等涉及网络,端口的类.在之前的EventBusImpl中, 使用的数据结构是以ad ...

  7. 树状数组区间加法&区间求和操作

    树状数组区间加法&区间求和操作 一般的树状数组解决区间加&单点询问并不复杂 但是要解决区间求和... 我们假设原数组是\(\{a_i\}\),差分数组\(\{d_i=a_i-a_{i- ...

  8. luogu5010 HMR的LIS III (dp+线段树)

    这个东西和最长上升子序列很像 考虑如果已经知道每个位置为开头的LIS长度和个数 f[i],我可以扫一遍 判断这个个数和K的大小,找到第一个长度=len而且个数<K的,这个位置就是要选的 然后K- ...

  9. [IOI2014]holiday假期(分治+主席树)

    题目描述 健佳正在制定下个假期去台湾的游玩计划.在这个假期,健佳将会在城市之间奔波,并且参观这些城市的景点.在台湾共有n个城市,它们全部位于一条高速公路上.这些城市连续地编号为0到n-1.对于城市i( ...

  10. bzoj3756pty的字符串(后缀自动机+计数)

    题目描述 题解 我们可以先对trie树建出广义SAM,然后维护一下right集合大小(注意right集合在广义SAM上的维护方式). 然后把匹配穿往广义SAM上匹配,假设现在匹配到了x节点,那么x的所 ...