`
LiYunpeng
  • 浏览: 942814 次
  • 性别: 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说明、示例代码和常见问题解答。如果文档无法解决疑惑,还可以直接联系个推的技术支持,他们将提供专业的...

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

    uni-app 中使用uni push的demo

    1、在uni-app 中使用uni push; 2、可以实现在demo 中发送推送

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

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

    RE Tool(易语言push神器)

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

    ArrayList集合工具类

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

    JGit工具类包 超全 可用

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

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

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

    安卓上使用的busybox,adb push即可使用

    通常,我们可以使用 `adb`(Android Debug Bridge)这一开发者工具来完成此过程。步骤如下: 1. 将 Busybox 的 `.apk` 文件下载到电脑上。 2. 使用 USB 连接 Android 设备,并确保开发者选项中的 "USB调试" 已启用...

    ios push 测试工具

    "ios push 测试工具"是针对APNs进行调试和验证的工具,帮助开发者确保消息推送能够正确、及时地到达用户的设备。 首先,我们要理解APNs的工作原理。当应用注册了APNs并获取到设备令牌后,服务器端可以通过这个令牌...

    unipush 推送消息服务端接口支撑(1.0版本,免费)

    关于unipush推送消息,手机端接收消息并且展示通知栏的服务端代码资源。 适用于App消息推送,支持在线离线推送消息。适用场景多元化(只需要用户登录App时进行用户信息和手机设备id绑定的处理) 首先要引入unipush的...

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

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

    ionic2 codepush热更新使用

    ionic2中使用codepush插件实现热更新功能,内含功能实现流程,插件下载以及实现代码

    使用android push notification service 实现即时通知

    不过,我们可以讨论如何在Android上使用类似APNs的Push Notification Service来实现即时通知。 **Android Push Notification Service** 在Android上,Google提供了Firebase Cloud Messaging(FCM)作为GCM的升级版...

Global site tag (gtag.js) - Google Analytics