[ThirdParty]notnoop/java-apns

5855 ワード

notnoop/java-apns github:https://github.com/notnoop/java-apns
概要
JAva-apnsはAPNSサービスにサービスするjavaクライアントで、アップルサーバに対する高い拡張性、簡単、モジュール化されたインタフェースを提供することを目的としています.
これらのインタフェースは、ほとんどのcasesを完了するコードが少ないだけでなく、java-apnsライブラリを永続的なネットワークリンクライブラリまたはjsonライブラリで再構成することもできます.
Links: Installation
  • Javadocs
  • Changelog

  • 詳細:
  • 簡単で使いやすく、高性能の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:
  • 接続の確立
    ApnsService service =
        APNS.newService()
        .withCert("/path/to/certificate.p12", "MyCertPassword")
        .withSandboxDestination()
        .build();

     
  • メッセージの作成&送信
    String payload = APNS.newPayload().alertBody("Can't be simpler than this!").build();
    String token = "fedfbcfb....";
    service.push(token, payload);

     
  • フィードバックサービスにより非アクティブなデバイスリストを取得
    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);