关闭

Apple Push Notification Service(APNS)开发指引

标签: apnsjavaplay服务器苹果
1606人阅读 评论(0) 收藏 举报
分类:

notnoop/java-apns github:https://github.com/notnoop/java-apns

简介

java-apns是服务于APNS服务的java客户端,该库目的是提供一套面对苹果服务器的高扩展性、简单、模块化的接口。

这些接口只需要很少的代码去完成大多数的cases,同时你还可以用永自己的网络链接库或者json库重新配置java-apns库。

Links: Installation

细节:

  • 简单易用,高性能的APNS API
  • 支持Apple反馈服务
  • 支持增强的Apple Push Notification
  • 支持MDM和NewStand Notification
  • 方便读取Apple certificates
  • 方便扩展&复用
  • 容易集成在框架中
  • 自定义push负载
  • 支持pooling的链接
  • 遇错重连

Sample Code

To send a notification, you can do it in two steps:

  1. 建立连接

    ApnsService service =
        APNS.newService()
        .withCert("/path/to/certificate.p12", "MyCertPassword")
        .withSandboxDestination()
        .build();

     

  2. 创建&发送消息

    String payload = APNS.newPayload().alertBody("Can't be simpler than this!").build();
    String token = "fedfbcfb....";
    service.push(token, payload);

     

  3. 通过反馈服务获取不活动的设备列表

    Map<String, Date> inactiveDevices = service.getInactiveDevices();
    for (String deviceToken : inactiveDevices.keySet()) {
        Date inactiveAsOf = inactiveDevices.get(deviceToken);
        ...
    }

     

     

自定义发送内容

你可以发送自定义的消息,支持自定义的字段

复制代码
String payload = APNS.newPayload()
            .badge(3)
            .customField("secret", "what do you think?");
            .localizedKey("GAME_PLAY_REQUEST_FORMAT")
            .localizedArguments("Jenna", "Frank")
            .actionKey("Play").build();

service.push(token, payload);
复制代码

 

增强的Notification Push Format

复制代码
 String payload = APNS.newPayload()
            .badge(3)
            .customField("secret", "what do you think?");
            .localizedKey("GAME_PLAY_REQUEST_FORMAT")
            .localizedArguments("Jenna", "Frank")
            .actionKey("Play").build();

 EnhancedApnsNotification notification = new EnhancedApnsNotification(EnhancedApnsNotification.INCREMENT_ID() /* Next ID */,
     new Date().getTime() + 60 * 60 /* Expire in one hour */,
     token /* Device Token */,
     payload);

 service.push(notification);
复制代码
0
0
查看评论

关于APNs payLoad的一些细节问题

根据开发者文档,细节1: Each push notification includes a payload. The payload contains information about how the system should alert the user as well as any cus...
  • limsco_
  • limsco_
  • 2013-10-09 19:18
  • 1744

APNS详解

建议每次程序启动的时候都调用registerForRemoteNotificationTypes来重新获取设备相关的token,而不要缓存token. 这是因为,如果用户重装了iOS或者用户换了设备并且恢复程序备份到一个新的设备,都将导致这个token值不一样。 当iOS收到远程消息时,...
  • sxfcct
  • sxfcct
  • 2012-09-03 18:08
  • 30924

IOS消息推送之APNS

APNS:Apple Push
  • jiajiayouba
  • jiajiayouba
  • 2014-10-09 17:56
  • 51686

蛋疼的Apple IOS Push通知协议

简介 Apple Push通知机制其实很简单,就是Apple的APNs服务器做为中间人,把消息推送到对应的设备上。 一张来自Apple文档的图: 当然,示意图看起来简单,但是还有一些实际的问题。 比如,如何区分Provicer的?如何区分设备的? 简单而言,是这样的: 每个应用都有一个自己的...
  • hengyunabc
  • hengyunabc
  • 2014-05-10 00:33
  • 8194

Java APNS使用填坑

1.java向ios推送消息有现成的类库java APNS可以使用,github地址:https://github.com/notnoop/java-apns 2.官网上给出了使用的demo: //Setup the connection ApnsService service = APNS...
  • goldenfish1919
  • goldenfish1919
  • 2015-09-29 16:52
  • 6458

JAVA APNS苹果推送

最近在做苹果推送,找到了一个比较好的开源项目,国人写的 下载地址为:https://github.com/RamosLi/dbay-apns-for-java 调用代码如下: import java.io.InputStream; import java.util.List; import com...
  • linyu19872008
  • linyu19872008
  • 2014-02-18 18:52
  • 4827

苹果推送通知服务(APNs)编程

-译自 weimenglee 的Programming ApplePush Notification ServicesiPhone 对于应用程序在后台运行有诸多限制(除非你越狱)。因此,当用户切换到其他程序后,原先的程序无法保持运行状态。对于那些需要保持持续连接状态的应用程序(比
  • kmyhy
  • kmyhy
  • 2011-08-15 15:07
  • 30572

Apple Push Notification Service (APNS)原理与实现方案

http://maxwin.me/blog/?p=170   原理 简单的说,app要单独实现消息动态更新,一种是轮询,这对用户来说会带来额外的流量。另一种方案是push,app client和server直接保持一个长连接,有新的消息时server push给app client。...
  • ghosc
  • ghosc
  • 2012-08-22 20:20
  • 4275

APN Push

Hello, this weekend we had an event and the opportunity to send out >2700 pushes at time and would love to share our wrapping class around this ver...
  • jecons
  • jecons
  • 2014-09-09 18:52
  • 1079

Java NotNoop推送方式实例

先熟悉一下主要的几个接口或者类: 示例:
  • keysilence1
  • keysilence1
  • 2015-07-10 11:49
  • 3290
    个人资料
    • 访问:111072次
    • 积分:1398
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:80篇
    • 译文:0篇
    • 评论:3条
    最新评论