`
LiYunpeng
  • 浏览: 952387 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JavaPNS初级使用,关于Push工具类的使用

阅读更多
首先的Push里简单的

alert、badge、sound和combined就不过多的介绍了
就是推送简单的提示和声音,以及组合等推送。

重点介绍推送有数据内容的部分
payload有两种方法
其内部调用的内容不相同
其中一个是单线程的推送
通过PushNotificationManager发送推送
public static PushedNotifications payload(Payload payload, Object keystore, String password, boolean production, Object devices) throws CommunicationException, KeystoreException {
		return sendPayload(payload, keystore, password, production, devices);
	}

可以传递要推送设备Token的List,Payload里面就是要推送的方式以及推送的内容字典等。

另外一个就是多线程的推送
public static PushedNotifications payload(Payload payload, Object keystore, String password, boolean production, int numberOfThreads, Object devices) throws Exception {
		if (numberOfThreads <= 0) return sendPayload(payload, keystore, password, production, devices);
		AppleNotificationServer server = new AppleNotificationServerBasicImpl(keystore, password, production);
		List<Device> deviceList = Devices.asDevices(devices);
		NotificationThreads threads = new NotificationThreads(server, payload, deviceList, numberOfThreads);
		threads.start();
		try {
			threads.waitForAllThreads(true);
		} catch (InterruptedException e) {
		}
		return threads.getPushedNotifications(true);
	}



以上方法都是同步执行的,也就是当发送推送之后得到反馈才继续往下执行
----------------
下面介绍queue方法
public static PushQueue queue(Object keystore, String password, boolean production, int numberOfThreads) throws KeystoreException {
		AppleNotificationServer server = new AppleNotificationServerBasicImpl(keystore, password, production);
		PushQueue queue = numberOfThreads <= 1 ? new NotificationThread(server) : new NotificationThreads(server, numberOfThreads);
		return queue;
	}

这个方法是异步执行,执行完之后,不需要等待推送的反馈即可直接往下执行


在这你会发现,其实推送用的都是NotificationThread或者NotificationThreads
而这两个类有若干重载的构造方法
使用不同的构造方法来决定到底是同步还是异步推送


接下来是payloads方法
也是有两个重载的方法
也分别对应单线程和多线程
这个方法主要是可以针对不同的设备Token发送不同的信息内容
也就是说,针对于每一个设备有属于自己的信息内容
这里面主要使用的就是 PayloadPerDevice这个类
里面是一对一的内容,一个Payload,对应一个Token

以上大体就是JavaPNS最简单基础的使用方法,关于Push类的使用
分享到:
评论

相关推荐

    JavaPNS_2.2.zip iphone push

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

    JavaPNS JavaPNS_2.2 jar包及文档

    对于开发者来说,这是一份重要的资源,它提供了关于如何使用库、方法和类的详细信息,有助于快速理解和集成JavaPNS到项目中。通过查阅API文档,可以了解如何创建推送通知,设置目标设备的令牌,以及如何处理推送失败...

    JAVA IOS推送 javaPNS2.2与javaPNS2.2.1

    JavaPNS是一个轻量级、易于使用的库,旨在简化开发人员与Apple Push Notification Service之间的交互。通过使用JavaPNS,开发者可以避免处理APNS协议的细节,如SSL连接、JSON编码和错误处理等,从而将精力集中在应用...

    JavaPNS_2.2

    5. **readme.txt**:阅读此文件可以获取关于JavaPNS 2.2的基本信息、安装指南和使用说明。 为了使用JavaPNS 2.2,你需要将jar包导入你的Java项目中,配置证书路径,然后调用库提供的方法来构建和发送推送通知。记得...

    个推推送工具类

    在使用个推推送工具类的过程中,遇到任何问题,开发者都可以参考官方提供的详细文档,里面包含了详细的API说明、示例代码和常见问题解答。如果文档无法解决疑惑,还可以直接联系个推的技术支持,他们将提供专业的...

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

    "iphone_apns_send"可能是示例代码或工具,用于演示如何使用JavaPNS库发送推送通知到iPhone设备。通过深入理解和实践这些知识点,你将能够有效地使用JavaPNS-2.2为你的iOS应用实现推送通知功能。

    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,...

    uni-app 中使用uni push的demo

    综上所述,uni-app结合uni-push服务为开发者提供了强大的消息推送能力,无论是开发过程中的调试还是上线后的运营,uni-push都能成为提升用户体验和产品活跃度的有效工具。通过深入了解和熟练运用这些知识点,开发者...

    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-163.jar.zip

    在Android应用开发中,我们经常会遇到需要推送通知的需求,而JavaPNS(Java Push Notification Service)就是一个用于实现Apple Push Notification Service (APNS) 的Java库。本文将详细解析“javapns-jdk16-163.jar...

    fema440—美国抗震规范关于pushover的介绍

    fema440—美国抗震规范关于pushover的介绍

    JGit工具类包 超全 可用

    这个工具类包包含了丰富的功能,能够帮助开发者执行诸如push、pull等Git操作,非常适合在Java应用中集成Git功能,无需依赖本地Git安装。`giylabapi`可能是对GitLab API的封装,用于处理与GitLab服务器的通信,包括...

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

    JavaPNS(Java Push Notification Service)是一个开源Java库,专为苹果的Push Notification Service(APNS)设计。APNS是苹果提供的一项服务,允许应用程序开发者向用户的iOS、iPadOS和macOS设备发送实时通知。...

    ArrayList集合工具类

    在这个项目中,开发者可能实现了一套与Java中的ArrayList类似的工具类,以供JavaScript开发使用。这可能包括了ArrayList的实现、相关的操作方法以及可能的优化措施。通过查看源代码,我们可以学习到如何在JavaScript...

    RE Tool(易语言push神器)

    易语言专用push神奇,快来下载!! 易语言专用push神奇,快来下载!!

    ionic2 codepush热更新使用

    ### ionic2 codepush热更新使用 #### 一、概述 在移动开发中,热更新是一种非常实用的技术,它能够实现在不重新提交应用商店的情况下更新应用的部分代码或资源,从而极大缩短修复bug或更新功能的时间。本篇文档将...

    wappush.rar_WAPpush_java push_push_wap push_wap push java

    综上所述,"wappush.rar_WAPpush_java push_push_wap push_wap push_java"是一个关于使用Java技术实现WAP Push服务的项目,其中可能包含了JSP页面和JavaBean组件,用于处理推送消息的生成和发送。这个项目可以帮助...

    易语言完美又简单的防PUSH窗口

    易语言完美又简单的防PUSH窗口

    C#结合unipush的服务端消息推送demo

    接下来,初始化个推客户端,使用`PushClient`类: ```csharp var config = new UnipushConfig { AppId = "your_app_id", AppKey = "your_app_key", MasterSecret = "your_master_secret" }; var client = new ...

Global site tag (gtag.js) - Google Analytics