zpush Apple 推送服务 Java 客户端开源项目

我要开发同款
匿名用户2014年05月10日
75阅读

技术信息

开源地址
https://github.com/hengyunabc/zpush
授权协议
未知

作品详情

基于etty4实现的苹果通知推送服务Java客户端。特点:

支持第三版通知推送,即commad=2。目前的绝大部分Java客户端都只支持commad=1,即第二版。

支持SSL握手成功才返回,可以调用pushMaager.start().syc();等待握手成功才开始发送;

最大限度重试发送,内部自动处理重连,错误重发机制;

支持配置RejectListeer,即通知被Apple服务器拒绝之后的回调接口;

支持配置ShutdowListeer,即当shutdow时,没有发送完的消息处理的回调接口;

支持发送统计信息;

实现组件分离,可以利用PushCliet,FeedbackCliet来写一些灵活的代码。

Notificatio发送者可以自己定义设置发送的Queue,自己灵活处理阻塞,超时等问题。

  Example:

更多的例子在src/test/java目录下。

public class MaiExample {    public static void mai(Strig[] args) throws IterruptedExceptio {        Eviromet eviromet = Eviromet.Product;        Strig password = "123456";        Strig keystore = "/home/hegyuabc/test/apptype/app_type_1/productAPNS.p12";        PushMaager pushMaager = ew PushMaagerImpl(keystore, password, eviromet);        //set a push queue        BlockigQueuequeue = ew LikedBlockigQueue(8192);        pushMaager.setQueue(queue );        //waitig for SSL hadshake success        pushMaager.start().syc();        //build a otificatio        Strig toke = "5f6aa01d8e3358949b7c25d461bb78ad740f4707462c7eafbebcf74fa5ddb387";        Notificatio otificatio = ew NotificatioBuilder()                .setToke(toke)                .setBadge(1)                .setPriority(5)                .setAlertBody("xxxxx").build();        //put otificatio ito the queue        queue.put(otificatio);        TimeUit.SECONDS.sleep(10);        //get statistic ifo        Statistic statistic = pushMaager.getStatistic();        System.out.pritl(statistic);    }}

功能介绍

基于netty4实现的苹果通知推送服务Java客户端。 特点: 支持第三版通知推送,即command = 2。目前的绝大部分Java客户端都只支持command = 1,即第二版。 支持SSL握...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论