package com.gsww.jup.util;
import java.util.HashMap;
import java.util.Map;
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;
/**
* 向用户推送消息
*
*/
public class JpushClient {
private static final String appKey = “466f7032ac604e02fb7bda89”; //必填
private static final String masterSecret =;// 必填,每个应用都对应一个masterSecret
/**
* 向指定序列号的用户推送消息
* @param alias 用户序列号
* @param msgTitle 消息头
* @param contnet 消息内容
* @param parm
*/
public static void jpush(String alias, String msgTitle, String contnet,
Map<String, String> parm) {
// 创建JPushClient
JPushClient jpushClient = new JPushClient(masterSecret, appKey);
PushPayload payload = PushPayload.newBuilder().setPlatform(
Platform.android_ios())
// 平台的用户
.setAudience(Audience.alias(alias)).setNotification(
Notification.newBuilder().addPlatformNotification(
AndroidNotification.newBuilder().setAlert(
msgTitle).addExtras(parm).build())
.addPlatformNotification(
IosNotification.newBuilder().setAlert(
msgTitle).addExtras(parm)
.build()).build()).setOptions(
Options.newBuilder().setApnsProduction(true).build())
.setMessage(
Message.newBuilder().setMsgContent(contnet).addExtras(
parm).build())// 自定义信息
.build();
try {
PushResult pu = jpushClient.sendPush(payload);
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
/**
* 向所有用户推送消息
* @param msgTitle
* @param contnet
* @param parm
*/
public static void jpushAll(String msgTitle, String contnet,
Map<String, String> parm) {
// 创建JPushClient
JPushClient jpushClient = new JPushClient(masterSecret, appKey);
PushPayload payload = PushPayload.newBuilder().setPlatform(
Platform.android_ios())
// 平台的用户
.setAudience(Audience.alias()).setNotification(
Notification.newBuilder().addPlatformNotification(
AndroidNotification.newBuilder().setAlert(
msgTitle).addExtras(parm).build())
.addPlatformNotification(
IosNotification.newBuilder().setAlert(
msgTitle).addExtras(parm)
.build()).build()).setOptions(
Options.newBuilder().setApnsProduction(false).build())
.setMessage(
Message.newBuilder().setMsgContent(contnet).addExtras(
parm).build())// 自定义信息
.build();
try {
PushResult pu = jpushClient.sendPush(payload);
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
}