`
quanjj
  • 浏览: 38916 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

向IPhone终端发送PUSH消息

阅读更多

       刚刚接了一个任务,向IPhone终端发送PUSH消息,乍一听起来,觉得好深奥,回到工位上网查了一下,其实很简单,主要把流程搞清楚了,把容易出错误的地方弄明白,代码就非常的简单了,呵呵

 

 

       下面先说一下流程,首先,要得到发送消息的IPhone的令牌号,每个苹果手机都有唯一的令牌,就和咱们手机的imei差不多。其次,得到手机令牌后才能和苹果服务器交互,和苹果服务器交互的时候带上证书、令牌、和消息内容,发请求就完事了。

 

 

       流程就是这么简单,但要注意手机令牌号一定要正确,还有证书不能出问题,二者有一方出问题,push都不能成功。

 

 

 

 

实现业务的java代码:

 

public static boolean logic(String deviceToken, String message)
			throws Exception {

		boolean result = false;

		if (deviceToken == null || "".equals(deviceToken)) {

			logger.info("IPhone终端令牌号为空值,PUSH失败!");
			System.out.println("IPhone终端令牌号为空值,PUSH失败!");
			return false;

		}

		PushNotificationManager pushManager = null;

		try {
			PayLoad payLoad = new PayLoad();
			payLoad.addAlert(message);// 消息内容	
			payLoad.addBadge(1);// IPhone上显示的信息条数,默认为1
			payLoad.addSound("default");// 铃音
			
			pushManager = PushNotificationManager.getInstance();
			pushManager.addDevice("iPhone", "******");//*代表IPhone的令牌号
			
			String certificatePassword = "******";
			String host = "gateway.sandbox.push.apple.com";
			String port = "2195";
			String certificationPath = "c:/push_p.p12";
			
			pushManager.initializeConnection(host, Integer.parseInt(port),
					certificationPath, certificatePassword,
					SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
			
			// 发送PUSH消息
			Device client = pushManager.getDevice("iPhone");
			pushManager.sendNotification(client, payLoad);
			
			result = true;
			
		} catch (Exception e) {		
			e.printStackTrace();
		} finally {
			if (pushManager != null) {
				pushManager.stopConnection();
				pushManager.removeDevice("iPhone");
			}
		}
		return result;
	}

 

 

上面的代码只能实现push简单的字符串类型的message,至于可否push其他数据类型的message,本人正在研究中。。。

 

感觉应该是可以的。。。

 

 

实现该业务需要依赖的第三方jar包:

 

bcprov-jdk16-145-1.jar

 

 

 

javapns-jdk16-163.jar

 

 

 

commons-lang-2.5.jar

 

 

 

commons-io-1.4.jar

分享到:
评论

相关推荐

    iPhone的Push(推送通知)功能原理浅析

    iPhone的Push(推送通知)功能是iOS设备上的一项重要特性,它允许应用程序在后台向用户发送提醒,即使应用并未在运行。这一功能依赖于Apple Push Notification Service (APNS) —— 苹果提供的推送服务。下面是Push...

    iphone开发中push实现

    Push通知是一种允许服务器远程向iOS设备发送消息的技术。这些消息可以是简单的文本信息,也可以包含更多的元数据,如链接、图像等。当用户的设备接收到这些通知时,会以弹窗的形式展示给用户,即使用户当前没有打开...

    iPhone push功能源码

    在iOS开发中,推送通知(Push Notification)是应用与用户互动的重要方式,它可以在应用程序未运行或在后台时,向用户发送消息。本资源提供的"iPhone push功能源码"包括了"pushMe"服务器端和"pushTest"客户端两部分...

    WPF仿Iphone发送消息

    同时,根据消息的方向(发送或接收),气泡的形状和颜色也应有所区别,通常发送的消息向右扩展,接收的消息向左扩展。 4. **布局管理**:在WPF中,`Grid`和`StackPanel`等布局容器可以帮助我们组织控件的位置。例如...

    iphone的Push实现.net代码

    标题 "iPhone的Push实现.NET代码" 涉及到的是苹果设备(iPhone)上的远程通知服务,即Apple Push Notification service (APNS) 的.NET后端实现。这一技术允许应用程序在后台接收来自服务器的通知,即使应用没有运行...

    iPhone PushTest

    苹果推送通知服务是苹果公司提供的一个服务,它允许开发者向他们的iOS、iPadOS、watchOS、macOS以及tvOS应用发送远程通知。这些通知可以是提醒、消息或者应用更新等信息,即使用户没有打开特定的应用也能收到。 二...

    Java向苹果服务器推送消息(Java实现HTTP/2协议发送APNS)

    Java向苹果服务器推送消息是iOS应用开发者经常遇到的需求,用于实时通知用户新的信息或系统状态。APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本...

    iphone 短信发送成功音效

    "iPhone短信发送成功音效"是用户与手机交互时的一种反馈机制,它通过听觉信号告知用户信息已成功发送。这个特定的音效,通常是一段短暂而清晰的音频,表明短信已从iPhone发出并成功送达对方的设备。 音效设计对于...

    JavaPNS_2.2.zip iphone push

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

    phonegap在iphone手机上pushnotification实现

    iPhone上的Push Notification(推送通知)是一项重要的功能,它可以在应用程序不在前台运行时向用户发送消息,提醒用户有新的活动或信息。在PhoneGap中实现iPhone的Push Notification,需要结合Apple的Push ...

    push推送浅析

    1. 确认Enable for Apple Push Notification service:在iPhone Provisioning Portal > App IDs中选择需要Push服务的App ID,并进入Configure。 2. 配置Development Push SSL Certificate:配置Development Push ...

    iphone push notificaiton

    iPhone推送通知,也称为Apple Push Notification Service (APNs),是苹果公司为iOS、iPadOS、watchOS和tvOS设备提供的一项服务,允许应用程序在后台发送提醒到用户设备。这项技术对于开发者来说非常重要,因为它可以...

    iphone短信发送(非系统界面)

    标题和描述提到的“iphone短信发送(非系统界面)”就是一个典型的示例,它展示了如何在iPhone应用内直接处理短信发送,无需用户离开当前应用。 首先,要实现这个功能,我们需要了解Apple提供的MessageUI框架。...

    跨平台多终端网页播放器支持PC终端/IPHONE、IPAD/安卓终端

    适配pc终端、苹果终端(含IPHONE、IPAD)、安卓终端(含安卓系统手机和安卓系统平板) 简要提示:功能强大,不仅支持基于HTTP的视频文件跨平台播放,还可以支持RTMP+HTTP(HLS直播跨平台),当然这点须要你有流媒体...

    iPhone终端技术支持常见问题解答(FAQ).pdf

    iPhone终端技术支持常见问题解答(FAQ).pdf

    iPhone终端开通5G套餐后无法正常使用VoLTE的问题.zip

    然而,在实际应用过程中,用户可能会遇到各种问题,比如“iPhone终端开通5G套餐后无法正常使用VoLTE”。这个问题涉及到5G网络优化、VoLTE服务及其与iPhone设备的兼容性等多个方面。下面将详细探讨这些关键知识点。 ...

    java实现给Iphone推送消息

    然后随后将服务器的信息接收并且保存在APNS当中,APNS从其中注册的列表中查找该设备(设备可以为iPhone、iPad、iTouch)并将信息发送到该设备;最后,设备接收到数据信息给相应的APP,并按照设定弹出Push信息。

    java消息推送给iphone

    1. **Apple Push Notification Service (APNs)**: APNs是Apple提供的一项服务,允许开发者在应用不运行或在后台运行时向用户的设备发送消息。这些消息可以是通知,也可以是应用内的数据。APNs通过安全的连接发送这些...

Global site tag (gtag.js) - Google Analytics