代码改进:
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;
}
/**********发送push时可能会有长度限制,需要注意一下*************/
PushNotificationManager pushManager = null;
try {
List<String> list = new ArrayList<String>();
list.add("斗破苍穹");
PayLoad complexPayLoad = new PayLoad();
PayLoadCustomAlert customAlert = new PayLoadCustomAlert();
customAlert.addActionLocKey("Open App");
customAlert.addLocKey("您订阅的图书《%1$@》已更新,请到书架查看!");
customAlert.addLocArgs(list);
complexPayLoad.addCustomAlert(customAlert);
complexPayLoad.addBadge(1);
complexPayLoad.addSound("default");
complexPayLoad.addCustomDictionary("type", 1);
complexPayLoad.addCustomDictionary("bookID", 123456);
System.out.println(complexPayLoad.toString());
pushManager = PushNotificationManager.getInstance();
pushManager.addDevice("iPhone", deviceToken);
String certificatePassword = "*****";
String host = "gateway.sandbox.push.apple.com";
String port = "2195";
String certificationPath = "K:/***.p12";
pushManager.initializeConnection(host, Integer.parseInt(port),
certificationPath, certificatePassword,
SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
// 发送PUSH消息
Device client = pushManager.getDevice("iPhone");
pushManager.sendNotification(client, complexPayLoad);
result = true;
} catch (Exception e) {
logger.info("向IPhone终端发送PUSH消息产生异常!");
System.out.println("向IPhone终端发送PUSH消息产生异常!");
e.printStackTrace();
} finally {
if (pushManager != null) {
pushManager.stopConnection();
pushManager.removeDevice("iPhone");
}
}
return result;
}
上面代码中定义的“type”和“bookID”在客户端可以获得。
分享到:
相关推荐
2. 电路设计:文档中展示了iPhone X的电路设计,包括音频电路、摄像头电路、系统电源电路、SOC电路、传感器电路等。这些电路设计的详细信息可以帮助读者了解iPhone X的硬件实现机理。 3. 系统电源管理:文档中提到...
iPhone-Explorer-v2-2.dmg,查看ios设备应用程序。
iPhone的Push(推送通知)功能是iOS设备上的一项重要特性,它允许应用程序在后台向用户发送提醒,即使应用并未在运行。这一功能依赖于Apple Push Notification Service (APNS) —— 苹果提供的推送服务。下面是Push...
netdisk_iPhone-2022-07-29-042850.ips
【标题】"iPhone子龙山人博客-----源码一"所涵盖的知识点主要与iOS开发、编程语言Objective-C或Swift、以及可能使用的游戏引擎Cocos2d-x有关。子龙山人博客通常会分享关于iOS应用开发的经验和技术,源码一可能是其中...
标题“iphone-sdk-2.0-headers”指向的是苹果公司早期发布的iPhone SDK(软件开发工具包)的一个组件,专门包含了2.0版本的头文件。这些头文件是开发者编写iOS应用时的重要参考资料,它们定义了各种API接口、类、...
可用于Axure Sketch交互圆形设计; iPhone主流机型iPhone 6-X 机型外壳透明源文件,分层,可编辑 iPhone主流机型iPhone 6-X 机型外壳透明源文件,设计文件
iPhone开发秘籍---第二版
在C#项目中,你可能有一个名为"iphone-plist-net"的解决方案,它可能包含以下部分: - **Solution File**: .sln 文件,管理所有相关项目的集合。 - **Project File**: .csproj 文件,定义了项目的目标框架、引用、源...
Push通知是一种允许服务器远程向iOS设备发送消息的技术。这些消息可以是简单的文本信息,也可以包含更多的元数据,如链接、图像等。当用户的设备接收到这些通知时,会以弹窗的形式展示给用户,即使用户当前没有打开...
iPhone开发秘籍---第二版.zip part2
Java向苹果服务器推送消息是iOS应用开发者经常遇到的需求,用于实时通知用户新的信息或系统状态。APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本...
Documents-iPhone-8.6.1-Support-Log.zip
iPhone 14 Pro Max 03405318 信息大全 摘要:本文档提供了 iPhone 14 Pro Max 03405318 的重要信息,涵盖安全使用、电池维护、激光器安全、听力辅助设备兼容性等多方面的知识点。 一、安全使用 在使用 iPhone ...
iPhone开发系列之二---Objective-C入门知识,是一本很好的书,值得一看
Cocos2D-iPhone是一个广泛使用的开源游戏开发框架,它基于C++和Objective-C实现,专为iOS平台设计。这个框架让开发者能够轻松地创建2D游戏、动态演示和其他交互式应用。"知易Cocos2D-iPhone代码示例源码1-8"包含了从...
标题中的“iphone-red-mockup-NRSXHY-2017-08-31.zip”表明这是一个关于iPhone红色模型的压缩包文件,可能是设计者或开发者用于展示应用程序、网站或其他数字产品在iPhone设备上的视觉效果。日期“2017-08-31”可能...
iPhone 6点位图 .
cydia_1.0.3366-1_iphoneos-arm-安装包-图标不见了
iPhone6 - Front White - by JustD