直接上Demo
import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; import javapns.devices.Device; import javapns.devices.implementations.basic.BasicDevice; import javapns.notification.AppleNotificationServerBasicImpl; import javapns.notification.PushNotificationManager; import javapns.notification.PushNotificationPayload; import javapns.notification.PushedNotification; public class PushPNS { public static void main(String[] args) throws Exception { // 设备的 Token 值 String deviceToken = "4f9e701ce3cb47173e3b3da5cdeb677297157b6be616689677e8e13c9b9ae652"; // push的内容 String alert = "我的push测试"; // 图标小红圈的数值 int badge = 1; // 铃音 String sound = "default"; List<String> tokens = new ArrayList<String>(); tokens.add(deviceToken); // 推送证书的路径 String certificatePath = "/Users/ivy/Desktop/Duke/Eclipse/JinanLine/WebContent/acer.p12"; // 证书的密码 String certificatePassword = "123456";// 此处注意导出的证书密码不能为空因为空密码会报错 boolean sendCount = true; try { PushNotificationPayload payLoad = new PushNotificationPayload(); payLoad.addAlert(alert); // 消息内容 payLoad.addBadge(badge); // iphone应用图标上小红圈上的数值、 if (!StringUtils.isBlank(sound)) { payLoad.addSound(sound); // 铃音 } PushNotificationManager pushManager = new PushNotificationManager(); // true:表示的是产品发布推送服务 false:表示的是产品测试推送服务 pushManager .initializeConnection(new AppleNotificationServerBasicImpl( certificatePath, certificatePassword, false)); List<PushedNotification> notifications = new ArrayList<PushedNotification>(); // 发送push消息 if (sendCount) { Device device = new BasicDevice(); device.setToken(tokens.get(0)); PushedNotification notification = pushManager.sendNotification( device, payLoad, true); notifications.add(notification); } else { List<Device> device = new ArrayList<Device>(); for (String token : tokens) { device.add(new BasicDevice(token)); } notifications = pushManager.sendNotifications(payLoad, device); } List<PushedNotification> failedNotifications = PushedNotification .findFailedNotifications(notifications); List<PushedNotification> successfulNotifications = PushedNotification .findSuccessfulNotifications(notifications); int failed = failedNotifications.size(); int successful = successfulNotifications.size(); pushManager.stopConnection(); } catch (Exception e) { e.printStackTrace(); } } }
-
需要导入的包
bcprov-jdk15on-151.jar
commons-lang3-3.1.jar
JavaPNS_2.2.jar
log4j-1.2.17.jar
-
demo链接