本方案采用了JAVAPNS,下载地址为:http://code.google.com/p/javapns/
代码如下:
import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import javapns.notification.AppleNotificationServer; import javapns.notification.AppleNotificationServerBasicImpl; import javapns.notification.PayloadPerDevice; import javapns.notification.PushNotificationPayload; import javapns.notification.transmission.NotificationProgressListener; import javapns.notification.transmission.NotificationThread; import javapns.notification.transmission.NotificationThreads; /** * 苹果通知 * * @author Administrator * */ public class AppleNotification { /** * 日志输出类 */ private static Logger logger = Logger.getLogger(AppleNotification.class .getName()); /** * 苹果消息推送 * * @param certificatePath * 证书路径 * @param certificatePassword * 证书密码 * @param deviceToken * 设备标识 * @param msg * 消息内容 * @param msgCount * 消息数 * @param host * 苹果推送服务器域名(开发:gateway.sandbox.push.apple.com ; * 正式:gateway.push.apple.com) * @return */ public boolean push(String certificatePath, String certificatePassword, String deviceToken, String msg, int msgCount, String host, boolean isProduction) { String keystore = certificatePath;// 证书路径和证书名 String password = certificatePassword; // 证书密码 String token = deviceToken;// 手机唯一标识 boolean production = isProduction; // 设置true为正式服务地址,false为开发者地址 int threadThreads = 10; // 线程数 try { // 建立与Apple服务器连接 AppleNotificationServer server = new AppleNotificationServerBasicImpl( keystore, password, production); List<PayloadPerDevice> list = new ArrayList<PayloadPerDevice>(); PushNotificationPayload payload = new PushNotificationPayload(); payload.addAlert(msg); payload.addSound("default");// 声音 payload.addBadge(msgCount);// 图标小红圈的数值 PayloadPerDevice pay = new PayloadPerDevice(payload, token);// 将要推送的消息和手机唯一标识绑定 list.add(pay); NotificationThreads work = new NotificationThreads(server, list, threadThreads);// work.setListener(DEBUGGING_PROGRESS_LISTENER);// 对线程的监听,一定要加上这个监听 work.start(); // 启动线程 work.waitForAllThreads();// 等待所有线程启动完成 } catch (Exception e) { logger.error(e.getMessage()); return false; } return true; } public static final NotificationProgressListener DEBUGGING_PROGRESS_LISTENER = new NotificationProgressListener() { public void eventThreadStarted(NotificationThread notificationThread) { logger.info(" [EVENT]: thread #" + notificationThread.getThreadNumber() + " started with " + " devices beginning at message id #" + notificationThread.getFirstMessageIdentifier()); } public void eventThreadFinished(NotificationThread thread) { logger.info(" [EVENT]: thread #" + thread.getThreadNumber() + " finished: pushed messages #" + thread.getFirstMessageIdentifier() + " to " + thread.getLastMessageIdentifier() + " toward " + " devices"); } public void eventConnectionRestarted(NotificationThread thread) { logger.info(" [EVENT]: connection restarted in thread #" + thread.getThreadNumber() + " because it reached " + thread.getMaxNotificationsPerConnection() + " notifications per connection"); } public void eventAllThreadsStarted( NotificationThreads notificationThreads) { logger.info(" [EVENT]: all threads started: " + notificationThreads.getThreads().size()); } public void eventAllThreadsFinished( NotificationThreads notificationThreads) { logger.info(" [EVENT]: all threads finished: " + notificationThreads.getThreads().size()); } public void eventCriticalException( NotificationThread notificationThread, Exception exception) { logger.info(" [EVENT]: critical exception occurred: " + exception); } }; }
相关推荐
苹果消息推送(Apple Push Notification service, APNs)是苹果公司为开发者提供的一项服务,用于向iOS、iPadOS、watchOS、tvOS以及macOS设备发送远程通知。在Java环境中实现APNs推送,需要掌握以下几个核心知识点:...
Java向苹果服务器推送消息是iOS应用开发者经常遇到的需求,用于实时通知用户新的信息或系统状态。APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本...
【苹果iOS推送Java服务端详解】 在iOS应用开发中,苹果提供了远程通知(Apple Push Notification service,简称APNs)服务,使得开发者可以向用户的设备发送消息,即使应用没有在前台运行也能接收到这些消息。本篇...
Java苹果推送源代码是针对iOS设备的Apple Push Notification service(APNs)的开发工具,它允许开发者使用Java语言进行远程通知的发送。APNs是苹果公司提供的服务,用于向运行iOS、iPadOS、watchOS、macOS等系统的...
APNS(Apple Push Notification Service)苹果推送通知服务。该技术由苹果公司提供的APNS服务。工作原理:首先,APNS会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书已确定其为...
这个“ios 消息推送 java后端demo”是为开发者提供的一个示例,帮助理解如何使用Java后端实现对iOS设备的消息推送。下面将详细介绍iOS消息推送的原理、Java后端实现以及压缩包中可能包含的内容。 一、iOS消息推送...
Java进行苹果APNS(Apple Push Notification Service)消息推送是一项在iOS和macOS应用程序中实现远程通知功能的关键技术。本文将详细介绍如何使用Java实现这一过程,同时关注`javapns`库和`bcprov-jdk`加密组件的...
该项目是一款基于Java语言实现的苹果推送服务APNS客户端库——APNS4J的设计源码,共包含37个文件,主要包括31个Java源文件、1个Git忽略文件、1个YAML配置文件、1个LICENSE文件、1个README文本文件、1个Markdown文件...
【极光推送JAVA服务端集成 jpush-api-java-client-master】是一个专门为Java开发者设计的极光推送(JPush)服务端SDK。极光推送是面向移动应用开发者提供的一套消息推送服务,它可以帮助开发者轻松实现向Android、...
本篇文章将详细介绍如何在服务器端使用Java来实现iPhone的推送通知功能。 首先,我们需要了解APNs的工作原理。APNs是苹果公司的远程通知服务,当应用程序在后台或未运行时,可以通过APNs将消息推送到用户的设备上。...
在iOS应用开发中,苹果提供了Apple Push Notification service (APNs) 来实现实时的消息推送功能,让应用程序在后台状态下也能接收到服务器的通知。本文将详细介绍如何使用Java编写后端来实现iOS的推送服务。 首先...
Java APNS推送消息 ------------------------------------------------- 苹果APNS服务器更新,请看新的方法:https://download.csdn.net/download/kerryzb/85443487
苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项服务,允许开发者将实时的通知信息推送到iOS、macOS以及watchOS等设备上。这个“APNS 苹果消息推送项目源码,运行即用”包含了实现...
Java APNS推送是Java开发中实现向iOS设备发送推送通知的一种技术。APNS(Apple Push Notification Service)是苹果公司提供的一个服务,允许开发者通过服务器端将实时消息推送到用户的iOS设备上,即使应用在后台或者...
Java调用APNs(Apple Push Notification service)推送是iOS应用开发者在进行远程通知服务时常见的需求。APNs是苹果提供的一项服务,允许开发者将实时消息推送到用户的iOS设备上,如应用更新、消息提醒等。在Java...
Java整合APNS推送服务是将Java应用程序与Apple Push Notification Service(APNS)相结合,以便能够向iOS和tvOS设备发送即时消息。APNS是苹果公司提供的一个服务,它允许开发者在用户不打开应用的情况下,向他们的...
本文将详细介绍如何使用Java语言来搭建一个iOS推送服务,涵盖所需依赖、详细代码示例以及开发步骤。 一、APNs概述 APNs是苹果公司提供的一个服务,允许开发者向运行iOS、iPadOS、watchOS或tvOS的设备发送远程通知。...
在这个过程中,Java作为服务器端的语言,负责发送推送通知到苹果的Push Notification Service(APNs),然后由APNs将这些通知转发给iPhone设备。 首先,我们需要了解Apple Push Notification Service (APNs)的工作...
在安卓应用开发中,推送服务是一项至关重要的功能,它能够实时地将服务器端的信息传递到用户的设备上,增强用户与应用的互动性。本实验工程“个推推送服务”专注于这个领域,为开发者提供了一个实践平台,以实现透传...
在iOS设备上实现消息推送服务,开发者通常会利用苹果的Apple Push Notification service(APNs)。本文将详细讲解如何使用JAVA程序来调用APNs服务,为iOS设备提供消息推送功能,并提供必要的依赖包和实例代码。 ...