使用Java发送APNS通知

使用Java发送APNS通知,java,ios,apple-push-notifications,Java,Ios,Apple Push Notifications,我目前正在开发服务器上运行WebLogic的Java web服务。我需要向在iOS上运行的移动设备发送推送通知。我知道开发GCM/FCM以向Andriod设备发送通知需要什么。对于iOS,我知道有APN,但是我可以使用什么Java库来发送通知 另外,通过APNS发送所需的东西(注册ID等)是什么 有没有示例代码 我在谷歌上搜索并发现了JavaAPN和javapns,但我甚至不确定它们是否已经过时 提前感谢。我可以帮助您实现APNS所必须的所有事项。请注意,随着新的HTTP/2.0APNSAPI的

我目前正在开发服务器上运行WebLogic的Java web服务。我需要向在iOS上运行的移动设备发送推送通知。我知道开发GCM/FCM以向Andriod设备发送通知需要什么。对于iOS,我知道有APN,但是我可以使用什么Java库来发送通知

另外,通过APNS发送所需的东西(注册ID等)是什么

有没有示例代码

我在谷歌上搜索并发现了JavaAPN和javapns,但我甚至不确定它们是否已经过时


提前感谢。

我可以帮助您实现APNS所必须的所有事项。请注意,随着新的HTTP/2.0APNSAPI的引入,很多事情都发生了改变,过去是这样。(好消息是:现在事情真的变得简单了)

建议您通过以下链接:

APNS先决条件:

1) APNS SSL证书、密钥(与现在的沙盒和生产相同,以前用于生产/开发/voip等时不同。这是最重要的步骤,因为与APNS相关的大多数问题都是由于错误的证书生成造成的)

2) 设备令牌(特定于在iOS设备上运行的每个iOS应用程序,您的iOS客户端应用程序需要向APNS注册以获取此设备令牌。此外,设备令牌通常与开发和生产环境不同。因此,请确保您使用了正确的令牌)

一旦您拥有iOS应用程序的上述证书、密钥和设备令牌,您就可以使用APNS接口从应用程序提供商发送APNS通知

请注意,设备令牌可以随时更改(通常在iOS软件升级期间),因此每次启动应用程序时都建议获取新的设备令牌

在您关于apns的java库的查询中,请注意新的apns接口依赖于HTTP/2.0。无论是开源版本还是企业版本(如AWS、城市飞艇等),您都可以根据需要进行选择。不确定AWS是否支持新的HTTP/2.0接口。然而,根据苹果的指导方针,使用最新的APNS接口是明智的

您还可以选择使用GCM来实现APN。

但是,您的iOS应用程序可能也需要注册到GCM以进行相同的注册。基本上,iOS设备令牌将映射到GCM设备令牌。然而,您仍然需要生成证书、密钥以及我提到的设备令牌

我希望它能回答你的问题


_Ayush

Hi Ayush,我正在查看notnoop/java apns java库以发送通知。有了新的HTTP/2.0APNSAPI,这是否意味着NOTNOP/JavaAPNS将很快被淘汰?对于HTTP/1.1,我们通常可以使用标准JavaJDK发送这样的请求。对于HTTP/2.0,我们如何实现它?我们应该为HTTP/2.0下载什么库,有没有示例代码?你的第一个链接并没有真正的帮助,因为它太简短和高层次。谢谢。嗨,苹果已经明确提到“所有开发者都应该将他们的远程通知提供商服务器迁移到APNs提供商API中描述的功能更强大、效率更高的基于HTTP/2的API。”不确定他们是否真的会反对旧API。HTTP/2.0最近才被引入,不幸的是,目前我认为JAVA不支持HTTP/2.0。一些早期的玩家如Jetty、Netty已经实现了HTTP/2.0,你可以试试。我猜Java9会支持http/2.0,但我猜GA计划在明年初实现。通过谷歌搜索,我发现了似乎支持http/2.0APNS消息的“”。Curl,AWS也应该支持同样的功能。您将发现大量的apns http/2.0实现。