`

javapns简介(转)

 
阅读更多

 

javapns是一个java实现的APNs的provider库,利用这个库可以向apple的APNs服务器推送基本的以及自定义的APNs消息、从APNs服务器接收详细发送情况报告(error packet)和查询反馈信息(feedback)。下面介绍其基本的用法。

 

一、下载javapns库和其依赖的库:

svn checkout http://javapns.googlecode.com/svn/trunk/ javapns-read-only

 

 

· commons-lang-2.4.jar

· commons-io-1.4.jar

· bcprov-jdk15-146.jar

· log4j-1.2.15.jar

这几个都是开源库。

在工程中导入这几个库。

 

二、推送通知的方法:

Push.alert:推送一条仅包含alert的消息

Push.sound:推送一条仅包含sound的消息

Push.badge:推送一条仅包含badge的消息

Push.combine:推送一条包含alertsoundbadge的消息

也可以自己构造Payload,然后传递给Push.payload方法发送一个payload,给一个或多个设备。或者调用Push.payloads方法把payload一对一的发送给设备,这个需要预先构造PayloadPerDevice类的实例。

自己构造构造Payload的实例的基本方法:

PushNotificationPayload payload = new PushNotificationPayload();

//声明一个空的payload

payload.setExpiry(1);

//设置payload的过期时间

payload.addAlert("alert message");

//设置alert消息

payload.addBadge(3);

//设置badge值

payload.addSound("beep.wav");

//设置声音

payload.addCustomAlertActionLocKey("launch apns");

//设置ActionLocKey

payload.addCustomAlertLocKey("locKey");

//设置LocKey

payload.addCustomDictionary("custom1", "value1");

//增加一个自定义键值对

List<PushedNotification> notifications = Push.payload(payload, "apns-key+cert-exported-from-mac.p12", "hadoop", 

false, 

"def981279b88b3a858b9dc9ea35b893175d5d190e2a271d448ee0679ad5bd880");

//调用Push.payload方法发送这个payload,发回一个已发送的notification的列表
 

三、处理APNs服务器的反馈

苹果的推送服务器提供两个的反馈系统,实际生产过程中,要对两个反馈系统中的反馈消息都进行检查,不能只用其一。这两个反馈系统是:Feedback Service vs Error-response packets 。

javapns系统已经对这两种反馈系统提供的良好的支持。

(1)Error-response packets

在发送消息之后返回的PushedNotificationresponse成员中,会保存有苹果返回的Error-response packets的信息,若消息推送为发生错误,则该成员为空null。可通过如下方法使用:

for (PushedNotification notification : notifications) {

response = notification.getResponse();

if(response != null)

{

response.getMessage();

System.out.println(response.getMessage());

}

            if (notification.isSuccessful()) 

{

                  System.out.println("Push notification sent successf ully to: " + notification.getDevice().getToken());

            } 

else 

{

                    String invalidToken = 

notification.getDevice().getToken();

            }

}
 

2)feedback service

feedback service会列出apple 服务器认为永远不可达的设备(可能是由于你的client端的应用程序已被删除等原因)。可通过如下方法使用feedback:

List<Device> devList = Push.feedback("apns-key+cert-exported-from- mac.p12", "hadoop", false);

for(Device basicDevice: devList)

{

System.out.println(basicDevice.getToken());

System.out.println(basicDevice.getDeviceId());

}

 

转载自:http://www.mc2lab.com/?p=724

 

分享到:
评论

相关推荐

    JavaPNS JavaPNS_2.2 jar包及文档

    JavaPNS是Java平台上的一个开源库,专为与Apple Push Notification Service (APNS)进行交互而设计。这个库使得开发者能够轻松地从Java应用程序发送推送通知到iOS和macOS设备。JavaPNS_2.2是该库的一个版本,包含了...

    JavaPNS_2.2

    JavaPNS是Java平台上用于与Apple Push Notification Service (APNs)交互的一个开源库,主要针对iOS设备进行远程通知的发送。版本2.2是该库的一个更新,提供了更稳定的性能和可能的新特性。下面我们将详细探讨JavaPNS...

    JAVA IOS推送 javaPNS2.2与javaPNS2.2.1

    JavaPNS是Java平台上用于实现Apple Push Notification Service (APNS) 的一个开源库,主要用来向iOS设备发送推送通知。这个库的版本2.2和2.2.1是两个不同迭代的版本,可能包含了一些优化和修复了之前版本中的问题。...

    JAVA JavaPNS-2.2 实现iphone的推送通知

    JavaPNS是Java平台上用于实现Apple Push Notification Service (APNs)的一个开源库,版本2.2提供了对iPhone设备推送通知的支持。APNs是苹果公司提供的一个服务,允许开发者向iOS、iPadOS以及watchOS设备发送远程通知...

    JavaPNS_2.2.zip iphone push

    JavaPNS是一个开源的Java库,专为开发者设计,用于向Apple设备,特别是iPhone和iPad,发送Apple Push Notification Service(APNs)推送通知。在JavaPNS 2.2版本中,这个库提供了简单易用的API,允许开发者在Java...

    javapns-jdk16-163.jar.zip

    《JavaPNS与Android开发:深入理解javapns-jdk16-163.jar库》 在Android应用开发中,我们经常会遇到需要推送通知的需求,而JavaPNS(Java Push Notification Service)就是一个用于实现Apple Push Notification ...

    javaPNS_2.2.rar_JavaPNS_JavaPNS 2.2 Javadoc_Javapns 2.2_javaPNS2

    JavaPNS 2.2 是一个专门为Java开发者设计的推送通知服务库,它允许开发者通过Apple Push Notification Service (APNS) 或者 Google Cloud Messaging (GCM) 向iOS和Android设备发送推送通知。这个库提供了方便的API,...

    JavaPNS_2.2消息推送.zip

    JavaPNS(Java Push Notification Service)是一个开源的Java库,专为开发者设计,用于与Apple Push Notification service (APNs) 和 Google Cloud Messaging (GCM,现已被Firebase Cloud Messaging, FCM所取代) ...

    javapns-jdk

    JavaPNS是一个开源库,专为Java开发者设计,用于与Apple Push Notification Service (APNs)交互,即向iOS和watchOS设备发送推送通知。在Java后台应用中使用JavaPNS,可以简化与APNs服务器通信的过程,使得开发人员...

    javapns-jdk16-2.4.0.jar

    javapns是一个java实现的APNs的provider库,利用这个库可以向apple的APNs服务器推送基本的以及自定义的APNs消息、从APNs服务器接收详细发送情况报告(error packet)和查询反馈信息(feedback); 这是从官方下载的...

    javapns-jdk16-163.jar和bcprov-jdk16-145.jar

    JavaPNS和Bouncy Castle是两个在Java开发中常见的库,尤其在处理特定功能时非常有用。这里我们详细探讨一下这两个库以及它们在Java环境中的作用。 JavaPNS(Java Push Notification Service)是一个开源Java库,专...

    javapns-jdk16-163.jar

    ios手机推送信息关键服务器jar包,这是用于连接iphone提供的服务器推送消息。

    JAVA IOS消息推送依赖jar

    Java iOS 消息推送依赖于特定的库,如在标题和描述中提到的 `bcprov-jdk15on-149.jar` 和 `javapns-jdk16-163.jar`,这两个库是实现Apple Push Notification Service (APNS)的关键组件。APNS是苹果公司提供的一项...

    javapns-jdk16-2.2.1.rar_Java编程_Java_

    JavaPNS是Java平台上用于与Apple Push Notification Service (APNs)交互的一个库,它使得Java开发者能够方便地向iOS和macOS设备发送推送通知。在标题"javapns-jdk16-2.2.1.rar_Java编程_Java_"中,我们可以看到这是...

    javapns:从 code.google.compjavapns 自动导出

    JavaPNS是一个开源的Java库,专为开发者提供与Apple Push Notification Service (APNS)交互的能力。APNS是苹果公司提供的服务,允许开发者向iOS、iPadOS和macOS设备发送远程通知。JavaPNS库简化了这个过程,使得Java...

    java实现IOS推送

    Java实现iOS推送主要是通过使用第三方库,如javapns,来与Apple Push Notification Service (APNs)进行交互。下面我们将深入探讨这个话题。 首先,让我们理解APNs。APNs是苹果公司提供的一个服务,它允许开发者向...

    testpush:maven安装 javapns demo iOS推送java jersey服务器

    #testpush ##开发工具 下载 , ##maven配置 下载了lastest version,文件名:apache-maven-3.2.1-bin.tar.gz 将解压在当前目录下。 将解压后的apache-maven-3.2.1文件夹移到/usr/local/maven目录(不存在则新建)下...

    java进行苹果APNS消息推送

    本文将详细介绍如何使用Java实现这一过程,同时关注`javapns`库和`bcprov-jdk`加密组件的使用。 首先,APNS是苹果公司提供的服务,允许开发者向其应用的用户发送即时消息,如通知、提醒或应用内更新。这种服务通过...

Global site tag (gtag.js) - Google Analytics