package com.hxkj.Jpush;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.jiguang.common.ClientConfig;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
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 cn.piesat.dragonfly.dao.MessageDao;
//import com.hxkj.Jpush.Message;
//import org.springframework.web.context.ContextLoader;
//import org.springframework.web.context.WebApplicationContext;
/**
*
* Created by Administrator on 2017/1/10.
*/
public final class JPushClientUtil {
static ClientConfig config = ClientConfig.getInstance();
private static final String appKey = "8b323a0487ddfd674c37b35f"; // 必填,每个应用都对应一个appKey
private static final String masterSecret = "85f34a3a01e94ba9f41a02cc";// 必填,每个应用都对应一个masterSecret
private static JPushClient client = null;
static {
client = new JPushClient(masterSecret, appKey, null, config);
}
private static PushPayload buildBroadCastPayload(String title,
String message) {
return PushPayload.newBuilder()
.setPlatform(Platform.newBuilder().setAll(true).build())
.setAudience(Audience.newBuilder().setAll(true).build())
.setNotification(Notification.newBuilder().
addPlatformNotification(IosNotification.newBuilder()
.setBadge(1)
.setContentAvailable(false)
.setMutableContent(false)
.setSound("defalut")
.setAlert(message)
.setCategory(title)
.build()
)
.addPlatformNotification(AndroidNotification.newBuilder()
.setAlert(message)
.setTitle(title)
.build())
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(true)
.setSendno(100000)
.setTimeToLive(86400)
.build()
)
.build();
}
/**
*
* 推送消息到个人
*
*
@param user_id
*
*
@param message
*/
public static boolean pushForOne(String user_id, String title,
String message, Map<String, String> map) {
PushPayload payload = buildSinglePayload(user_id, title, message, map);
System.out.println(payload);
PushResult result = null;
try {
result = client.sendPush(payload);
System.out.println(result);
if (result.getResponseCode() == 200) {
System.out.println("推送结果:" + result.getResponseCode());
return true;
}
return false;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
// 组织数据方法
private static PushPayload buildSinglePayload(String user_id, String title,
String message, Map<String, String> map) {
return PushPayload.newBuilder()
.setPlatform(Platform.newBuilder().setAll(true).build())
.setAudience(Audience.alias(user_id))
.setNotification(Notification.newBuilder()
.addPlatformNotification(IosNotification.newBuilder()// ios
.setBadge(1)
.setContentAvailable(true)
.setMutableContent(false)
.setSound("defalut")
.setCategory(title)
.addExtras(map)
.setAlert(message)
.build()
)
.addPlatformNotification(
AndroidNotification.newBuilder()//安卓
.addExtras(map)
.setAlert(message)
.setTitle(title)
.build())
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(false)
.setSendno(100000)
.setTimeToLive(86400)
.build()
)
.build();
}
// 测试方法
public static void main(String[] args) {
try {
for (int i = 2; i < 5; i++) {
Map<String, String> map = new HashMap<String, String>();
map.put("e", i + "");
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
boolean flag = pushForOne("15011346785", "test",
df.format(date) + " 第" + i + "条", map);
System.out.println(flag);
}
System.exit(0);
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.jiguang.common.ClientConfig;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
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 cn.piesat.dragonfly.dao.MessageDao;
//import com.hxkj.Jpush.Message;
//import org.springframework.web.context.ContextLoader;
//import org.springframework.web.context.WebApplicationContext;
/**
*
* Created by Administrator on 2017/1/10.
*/
public final class JPushClientUtil {
static ClientConfig config = ClientConfig.getInstance();
private static final String appKey = "8b323a0487ddfd674c37b35f"; // 必填,每个应用都对应一个appKey
private static final String masterSecret = "85f34a3a01e94ba9f41a02cc";// 必填,每个应用都对应一个masterSecret
private static JPushClient client = null;
static {
client = new JPushClient(masterSecret, appKey, null, config);
}
private static PushPayload buildBroadCastPayload(String title,
String message) {
return PushPayload.newBuilder()
.setPlatform(Platform.newBuilder().setAll(true).build())
.setAudience(Audience.newBuilder().setAll(true).build())
.setNotification(Notification.newBuilder().
addPlatformNotification(IosNotification.newBuilder()
.setBadge(1)
.setContentAvailable(false)
.setMutableContent(false)
.setSound("defalut")
.setAlert(message)
.setCategory(title)
.build()
)
.addPlatformNotification(AndroidNotification.newBuilder()
.setAlert(message)
.setTitle(title)
.build())
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(true)
.setSendno(100000)
.setTimeToLive(86400)
.build()
)
.build();
}
/**
*
* 推送消息到个人
*
*
@param user_id
*
*
@param message
*/
public static boolean pushForOne(String user_id, String title,
String message, Map<String, String> map) {
PushPayload payload = buildSinglePayload(user_id, title, message, map);
System.out.println(payload);
PushResult result = null;
try {
result = client.sendPush(payload);
System.out.println(result);
if (result.getResponseCode() == 200) {
System.out.println("推送结果:" + result.getResponseCode());
return true;
}
return false;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
// 组织数据方法
private static PushPayload buildSinglePayload(String user_id, String title,
String message, Map<String, String> map) {
return PushPayload.newBuilder()
.setPlatform(Platform.newBuilder().setAll(true).build())
.setAudience(Audience.alias(user_id))
.setNotification(Notification.newBuilder()
.addPlatformNotification(IosNotification.newBuilder()// ios
.setBadge(1)
.setContentAvailable(true)
.setMutableContent(false)
.setSound("defalut")
.setCategory(title)
.addExtras(map)
.setAlert(message)
.build()
)
.addPlatformNotification(
AndroidNotification.newBuilder()//安卓
.addExtras(map)
.setAlert(message)
.setTitle(title)
.build())
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(false)
.setSendno(100000)
.setTimeToLive(86400)
.build()
)
.build();
}
// 测试方法
public static void main(String[] args) {
try {
for (int i = 2; i < 5; i++) {
Map<String, String> map = new HashMap<String, String>();
map.put("e", i + "");
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
boolean flag = pushForOne("15011346785", "test",
df.format(date) + " 第" + i + "条", map);
System.out.println(flag);
}
System.exit(0);
} catch (Exception e) {
e.printStackTrace();
}
}
}