Java实现iOS推送(利用javapns1.6)


import java.util.HashMap;

import java.util.Iterator;

import org.apache.log4j.Logger;

import org.apache.log4j.PropertyConfigurator;

import javapns.back.PushNotificationManager;

import javapns.back.SSLConnectionHelper;

import javapns.data.Device;

import javapns.data.PayLoad;

public class MainApnsSend {

public static void main(String[] args) throws Exception {

try {

String deviceToken = "d7e6132895b388cf016433167c9e2d97fe4b76ca5a1692209a3b6e3cb3fdcd9c";

//被推送的iphone应用程序标示符

PropertyConfigurator.configure("bin/log4j.properties");

Logger console = Logger.getLogger(MainApnsSend.class);

PayLoad payLoad = new PayLoad();

payLoad.addAlert("彩通万岁!OLALA!!AAAA");

payLoad.addBadge(1);

payLoad.addSound("default");

PushNotificationManager pushManager = PushNotificationManager.getInstance();

pushManager.addDevice("iPhone", deviceToken);

String host= "gateway.sandbox.push.apple.com";  //测试用的苹果推送服务器

int port = 2195;

String certificatePath = "D:/PushDev.p12"; //刚才在mac系统下导出的证书

String certificatePassword= "123456";

pushManager.initializeConnection(host, port, certificatePath,certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);

//Send Push

Device client = pushManager.getDevice("iPhone");

pushManager.sendNotification(client, payLoad);

pushManager.stopConnection();

pushManager.removeDevice("iPhone");

System.out.println("push succeed!");

}

catch (Exception e) {

//e.printStackTrace();

System.out.println("e.getMessage() = " + e.getMessage());

}

}

}

需要用到的jar包

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

时间: 2024-10-26 14:50:20

Java实现iOS推送(利用javapns1.6)的相关文章

iOS 推送证书制作(JAVA/PHP)

iOS 推送证书制作(JAVA/PHP) 在使用Java或者PHP制作iOS推送服务器的时候,需要自己从开发者网站上导出的aps_developer_identity证书和Apple Development Push Services证书进行合成,生成可以供Java使用的p12证书或供PHP使用的pem证书.aps_developer_identity证书和Apple Development Push Services证书的申请过程可以参考:http://www.cnblogs.com/hubj

iOS 推送证书制作 (JAVA/PHP)

// aps_development.cer 转化成pem openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem // p12 转化成pem openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12 // Java服务器所需的证书为p12格式 openssl pkcs12 -export -in PushChatCert.pem -inkey Push

iOS推送之远程推送

最近公司项目升级重构(重写),除了本来我所负责的模块,最后临危受命接了推送(远程和本地)相关的模块,顺便把推送的相关知识复习了一遍.后期连续工作十几天加上最后一天的通(瞎)宵(熬)达(一)旦(夜),也算是不辱使命.此文除了讲解远程推送相关的基本知识外,也会涉及一些推送相关的奇淫技巧.另外本文主要讲解远程推送,后续会出一篇iOS推送之本地推送(iOS Notification Of Local Notification)的姊妹篇. 此篇文章的逻辑如下图所示: 图0-0 此篇文章的逻辑图 远程推送原

IOS推送http2使用netty服务启动异常

IOS推送http2使用netty服务启动异常 现象 使用netty开发×××送HTTP2,本机运行正常,部署至linux服务器异常. 原因 是linux服务器内核版本过低,所使用GLIBC类库版本过低.netty要求GLIBC_2.10,我的服务器最高才GLIBC_2.5. linux查看GLIBC版本命令 strings /lib64/libc.so.6 |grep GLIBC_ 解决办法 升级linux内核版本以及GLIBC类库版本. 以下附netty服务器异常日志 2018-11-18

iOS 推送证书

push 服务器证书 钥匙串:登入-->证书,选项里面导出证书命名为cert.p12,跟密钥命名为key.p12 需要将上面的2个.p12文件转成.pem格式: openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12 openssl pkcs12 -nocerts -out key.pem -in key.p12 如果需要对 key不进行加密: openssl rsa -in key.pem -out key.unencrypted.

申请iOS推送证书.p12

iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书(开发环境)和上架到App Store的ios 推送证书(生产环境)! 一.iOS发布推送证书(开发环境)测试APP iOS证书申请这里用到一个工具Appuploader,可以在win系统中辅助快速申请iOS证书,如果没有Mac也无所谓. 可以很快速的创建iOS推送证书 先安装好Appuploader安装教程 1.打开Appuploader,选择Certification. 2.点击+ADD\选择Push Notif

IOS推送功能push

笔记:ios推送功能 推送可实时提醒用户你想要让客户端用户知道的信息,那怕用户并没有开启这个应用.应用场景很广泛,如淘宝应用:在你使用淘宝客户端的时候,假如你拍的东西发货了,如果没有推送功能,你不会及时知道你拍下的东西已经发货.但使用了推送后,淘宝就会发送一条推送通知,告知使用客户端App的你,你拍下的东西已经发货.使用推送的场景很多,在用户的体验度上更人性. 苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发

iOS推送小结

iOS推送小结 (吐槽,md的代码编辑功能不知道是不会用还是确实不好用) 1.推送配置 1.1证书配置 请自行谷百. 1.2注册推送 //代码来源:环信Demo //In method application:(UIApplication *)application didFinishLaunchingWithOptions: UIApplication *application = [UIApplication sharedApplication]; //注册APNS if([applicat

iOS推送 再备

这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 众所周知,使用推送通知是一个很棒的.给应用添加实时消息通知的方式.这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系. 然而不幸的是,iOS的推送通知并非那么容易驾驭,往往会搞的开发者精疲力尽,灰心丧气,无法持久.现在,救星来了!只要通读本教程,你就能摆脱这些烦恼,成为一名活力