免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1829 | 回复: 2
打印 上一主题 下一主题

iphone push [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-19 16:51 |只看该作者 |倒序浏览
iphone push




今天很顺利的弄了一个java push iphone的小程序,拿出来和大家分享一下吧。

前期准备工作:



    1. p12文件

    2. 在生成p12文件时所需要的密码

    3. 测试机器的tonken码

    4. 需要以下类库,bcprov-jdk16-145-1.jar  

                             commons-io-2.0.1.jar   

                             commons-lang-2.5.jar   

                             javapns-jdk16-163.jar

                             log4j-1.2.16.jar





准备工作已经做好,下面就是主要的java代码部分了:
  1.   try {
  2.              String deviceToken = "98ea484fa 4fe8871a eb8e558d 0d443ee4 a89fb3bd 27d07c13 9e5e36a0 d2b726ad";//iphone手机获取的token

  3.               PayLoad payLoad = new PayLoad();
  4.               payLoad.addAlert("我的push测试");//push的内容
  5.               payLoad.addBadge(1);//图标小红圈的数值
  6.               payLoad.addSound("default");//铃音
  7.                         
  8.               PushNotificationManager pushManager = PushNotificationManager.getInstance();
  9.               pushManager.addDevice("iPhone",deviceToken);
  10.               //Connect to APNs
  11.               //************************************************
  12.               //测试的服务器地址:gateway.sandbox.push.apple.com /端口2195
  13.               //                      产品推送服务器地址:gateway.push.apple.com / 2195
  14.               //***************************************************/
  15.               String host= "gateway.sandbox.push.apple.com";
  16.               int port = 2195;
  17.               String certificatePath= "F:\\iphone.p12";//导出的证书
  18.               String certificatePassword= "iphone";//此处注意导出的证书密码不能为空因为空密码会报错
  19.               pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
  20.                         
  21.               //Send Push
  22.               Device client = pushManager.getDevice("iPhone");
  23.               pushManager.sendNotification(client, payLoad);
  24.               pushManager.stopConnection();

  25.               pushManager.removeDevice("iPhone");
  26.               System.out.println("OK");
  27.              }
  28.              catch (Exception e) {
  29.                    e.printStackTrace();
  30.              }
复制代码
如果测试成功会在控制台打印出"OK"

论坛徽章:
0
2 [报告]
发表于 2012-01-19 22:07 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-01-23 23:55 |只看该作者
了解了解。学习了啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP