jpush-web端向手机端消息推送代码编写
需要引入的jar包 jpush-client-3.3.3 已经上传到CSDN可自行下载
PushUtils
import java.util.HashMap;
import java.util.Map;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
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.Notification;
import cn.jpush.api.report.ReceivedsResult;
public class PushUtils {
private static final String APPKEY = "07b9b4232444cce7c5a0d45d";
private static final String MASTERSECRET = "11802353121ad0e0b120b77d";
private static JPushClient jPushClient = null;
/**
* 获取JPushClient 对象
*
* @return
*/
public static JPushClient getJPushClient() {
if (jPushClient == null) {
jPushClient = new JPushClient(MASTERSECRET, APPKEY);
}
return jPushClient;
}
/**
* 通过tag获取设备集合
*
* @param tag
* @return
*/
public static ReceivedsResult getReceivedsbyTag(String tag) {
ReceivedsResult result = null;
try {
result = getJPushClient().getReportReceiveds(tag);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 通过tag 给某android设备 推送通知
*
* @param tag
* 标识
* @param notification
* 通知
* @return
*/
public static PushResult pushAndNotificationByTag(String tag,Notification notification) {
PushResult result = null;
try {
PushPayload load = PushPayload.newBuilder().setPlatform(Platform.android()).setAudience(Audience.tag(tag))
.setNotification(notification).build();
result = PushUtils.getJPushClient().sendPush(load);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取android设备的通知
*
* @param alert
* @param title
* @param extras
* @return
*/
public static Notification getAndNotification(String alert, String title, Map extras) {
return Notification.android(alert, title, extras);
}
/**
* 通过tag 给某android设备 推送消息
*
* @param tag
* 标识
* @param message
* 消息
* @return
*/
public static PushResult pushAndMessageByTag(String tag, Message message) {
PushResult result = null;
try {
PushPayload load = PushPayload.newBuilder().setPlatform(Platform.android()).setAudience(Audience.tag(tag))
.setMessage(message).build();
result = PushUtils.getJPushClient().sendPush(load);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取android设备的消息
*
* @param json
* @return
*/
public static Message getAndMessage(String json) {
return Message.newBuilder().setMsgContent(json).build();
}
/**
* 获取android设备的消息
*
* @param json
* @return
*/
public static Notification getAndNotification(String title,HashMap json) {
return getAndNotification(title, "管线二期", json);
}
}
import cn.jpush.api.push.model.notification.Notification;
Notification notification = PushUtils.getAndNotification(content, title, json);
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
public class PushAppDemo {
public static void testGetMessageStatus() {
// ReceivedsResult result = PushUtils.getReceivedsbyTag("15929899159");
// System.out.println(result);
try {
Message msg = Message.newBuilder().setMsgContent("asdfasdf").build();
PushPayload load = PushPayload.newBuilder().setPlatform(Platform.android())
.setAudience(Audience.tag("15929899159")).setMessage(msg).build();
PushUtils.getJPushClient().sendPush(load);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
//testGetMessageStatus();
System.out.println(System.currentTimeMillis());
}
}