我发现我可以使用2个开源项目: javapns(http://code.google.com/p/javapns/) 和java-apns(http://github.com/notnoop/java-apns)
它们都非常好,但不处理错误响应。以增强格式组合有效内容时,可以在有效内容中包含标识符,并将其发送到Apple推送通知服务器。如果出现错误,您可以读取套接字并接收响应的状态(与通知中发送的标识符匹配)。
但是,没有一个java库处理这种情况。有没有充分的理由为什么库没有读取套接字以获得响应?
另外,请告诉我您使用的其他Java库。
非常感谢你的帮助。 感谢。
答案 0 :(得分:4)
您应该再次查看java-apns。从0.1.5开始,它现在支持增强的有效载荷格式。它还有一个单独的监视线程,用于侦听使用增强格式时发送的错误。不幸的是,开箱即用,您无法为每个通知设置标识符,因此很难将错误响应与Apple不喜欢的通知进行匹配。 (我在GitHub上提出了issue这个问题。)
答案 1 :(得分:1)
JavaPNS最近更新为2.0,它包括对增强通知格式的完全支持。如果您愿意,可以手动设置标识符,但默认情况下,库会生成自己的标识符,并自动将它们与错误响应数据包进行匹配。基本上,您不再需要担心标识符,因为错误响应会自动与库发送的消息匹配,并且可以通过简单的方法调用轻松检查:yourPushedNotification.isSuccessful()。
答案 2 :(得分:0)
另一个开源库是Pushy http://relayrides.github.io/pushy/
答案 3 :(得分:0)
这个非常好我用过它
https://github.com/notnoop/java-apns
我也试过javaapns
https://code.google.com/p/javapns/
但有些人怎么对我不起作用。它在发送通知时给了我成功= true但我的设备无法接收它。