需要用http / 2 java发送APNS推送

时间:2018-03-13 06:10:39

标签: java apple-push-notifications

任何帮助:我使用遗留代码向iOS设备发送APN推送通知。现在,问题是有时候推迟会延迟,有时会错过。所以想切换到Apple支持的http / 2。我用过码头,但工作不正常。任何帮助或参考都是可以理解的。

我的代码如下:

      public void sendHttp2Push(){
 String badgeCount ="1";
            HTTP2Client http2Client = new HTTP2Client();
            http2Client.start();
            KeyStore ks = KeyStore.getInstance("PKCS12");
            ks.load(new FileInputStream("abcDistribution.p12"), "abc123".toCharArray());
            SslContextFactory ssl = new SslContextFactory(true);
            ssl.setKeyStore(ks);
            ssl.setKeyStorePassword("abc123");
            HttpClient client = new HttpClient(new HttpClientTransportOverHTTP2(http2Client), ssl);
            client.start();
     Request req = client.POST("https://api.push.apple.com:2195")
.path("/3/device/c9addc2f2ec6cdb9baafb5232bbc0f5d0e877ca1076619476d27c6a1ce5871c9")
 ContentResponse response = req.send();
            }

我使用上面提到的代码使用jetty客户端发送带有http / 2的推送通知。

1 个答案:

答案 0 :(得分:0)

发送远程通知的第一步是与相应的APN服务器建立连接:

开发服务器:api.development.push.apple.com:443

生产服务器:api.push.apple.com:443