java给iphone应用实现推送
来源:互联网 发布:手风琴菜单js 编辑:程序博客网 时间:2024/06/06 05:55
根据公司项目所需,需要对iphone应用进行消息推送,一开始选的是php,但是php语言知识略懂,开发起来比较麻烦,所有就用比较熟悉的java语言进行消息推送。
需要依赖的jar包:
具体代码如下:
/** * MainSend.java * 版权所有(C) 2012 * 创建:cuiran 2012-07-24 11:31:35 */package com.wpn.iphone.send;import java.util.ArrayList;import java.util.List;import javapns.devices.Device;import javapns.devices.implementations.basic.BasicDevice;import javapns.notification.AppleNotificationServerBasicImpl;import javapns.notification.PushNotificationManager;import javapns.notification.PushNotificationPayload;import javapns.notification.PushedNotification;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * TODO * @author cuiran * @version TODO */public class MainSend {private static Log log = LogFactory.getLog(MainSend.class.getName()); /************************************************ 测试推送服务器地址:gateway.sandbox.push.apple.com /2195 产品推送服务器地址:gateway.push.apple.com / 2195 需要javaPNS_2.2.jar包 ***************************************************//** *这是一个比较简单的推送方法, * apple的推送方法 * @param tokens iphone手机获取的token * @param path 这里是一个.p12格式的文件路径,需要去apple官网申请一个 * @param password p12的密码 此处注意导出的证书密码不能为空因为空密码会报错 * @param message 推送消息的内容 * @param count 应用图标上小红圈上的数值 * @param sendCount 单发还是群发 true:单发 false:群发 */public void sendpush(List<String> tokens,String path, String password, String message,Integer count,boolean sendCount) {try {//message是一个json的字符串{“aps”:{“alert”:”iphone推送测试”}}PushNotificationPayload payLoad = PushNotificationPayload.fromJSON(message);payLoad.addAlert("iphone推送测试 www.baidu.com"); // 消息内容payLoad.addBadge(count); // iphone应用图标上小红圈上的数值payLoad.addSound("default"); // 铃音 默认PushNotificationManager pushManager = new PushNotificationManager();//true:表示的是产品发布推送服务 false:表示的是产品测试推送服务pushManager.initializeConnection(new AppleNotificationServerBasicImpl(path, password, false));List<PushedNotification> notifications = new ArrayList<PushedNotification>(); // 发送push消息if (sendCount) {log.debug("--------------------------apple 推送 单-------");Device device = new BasicDevice();device.setToken(tokens.get(0));PushedNotification notification = pushManager.sendNotification(device, payLoad, true);notifications.add(notification);} else {log.debug("--------------------------apple 推送 群-------");List<Device> device = new ArrayList<Device>();for (String token : tokens) {device.add(new BasicDevice(token));}notifications = pushManager.sendNotifications(payLoad, device);}List<PushedNotification> failedNotifications = PushedNotification.findFailedNotifications(notifications);List<PushedNotification> successfulNotifications = PushedNotification.findSuccessfulNotifications(notifications);int failed = failedNotifications.size();int successful = successfulNotifications.size(); if (successful > 0 && failed == 0) {log.debug("-----All notifications pushed 成功 (" + successfulNotifications.size() + "):");} else if (successful == 0 && failed > 0) {log.debug("-----All notifications 失败 (" + failedNotifications.size() + "):");} else if (successful == 0 && failed == 0) {System.out.println("No notifications could be sent, probably because of a critical error");} else {log.debug("------Some notifications 失败 (" + failedNotifications.size() + "):");log.debug("------Others 成功 (" + successfulNotifications.size() + "):");}// pushManager.stopConnection();} catch (Exception e) {e.printStackTrace();}}/** * TODO * @param args */public static void main(String[] args) {MainSend send=new MainSend();List<String> tokens=new ArrayList<String>();tokens.add("76edc85fd2e6704b27974d774cc046d7e33a3440fd6f39ba18c729387e6c788a");tokens.add("dc2cf037bd4465c851b1d96a86b0a028307bc7e443435b6fafe93c2957bb415c");String path="E:\\iphone\\WPNPushService.p12";String password="wappin2009";String message="{'aps':{'alert':'iphone推送测试 www.baidu.com'}}";Integer count=1;boolean sendCount=false;send.sendpush(tokens, path, password, message, count, sendCount);}}
源码下载地址: http://pan.baidu.com/s/1vhsXu
- java给iphone应用实现推送
- java给iphone应用实现推送
- java给iphone应用实现推送
- java实现推送通知给iphone
- java给iphone推送
- iphone推送 java代码实现
- iphone 推送通知 java 实现
- iphone 推送通知 java 实现
- iphone 推送通知 java 实现
- iphone 推送通知 java 实现
- iphone 推送通知 java 实现
- iphone 推送通知 服务器端java 实现
- iPhone应用中APNS推送通知流程代码实现案例
- iPhone应用中APNS推送通知流程代码实现案例
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送服务实现
- 常用排序算法小记
- mysql 日期函数
- chrome使用技巧总结
- IIS7下js文件启用Gzip后却不压缩的解决方法
- 使用 HttpClient 和 HtmlParser 实现简易爬虫
- java给iphone应用实现推送
- VC6.0下设置Unicode编译环境
- NSNotificationCenter消息通信机制介绍(KVO)
- weblogic study
- chromium log相关
- Android - Unparsed aapt error(s)错误的处理方法
- 隐马尔可夫(HMM)模型的各种语言实现
- GDI+ 显示DICOM 图像测试
- 30天自制操作系统