APNS反馈服务是否根据新的API不再存在?

12

我正在查看更新的官方APNS文档,其中明确指出:

所有开发者都应该将其远程通知提供程序服务器迁移到更强大、更高效的基于HTTP/2的API,即APNs Provider API。

但是新的APNs Provider API似乎没有旧的APNS反馈服务。它们已经更改了端点URL,其中不包括反馈服务端点。此外,错误代码现在已经升级,其中包括以下错误代码:

未注册-指定主题的设备令牌无效。

那么我们不再需要调用APNS反馈服务了吗?

我的主要问题是,我正在使用javapns api版本2.2进行iOS推送通知,但我找不到任何更新,可以帮助我适应这些新变化。


上面的链接已经失效,这个链接可能是截至2016/12/05的最新链接 - https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/BinaryProviderAPI.html - Nobu
@Nobu 谢谢,链接已更新。 - DineshM
1个回答

20

我认为新文档很清晰:

针对之前由反馈服务报告的情况,现在有一个HTTP状态码:

410 - 设备令牌已不再适用于该主题。

此外,在响应正文中有一个名为timestamp的JSON数据键:

timestamp

如果:status标头中的值为410,则此键的值是APNs确认设备令牌对于该主题无效的最后时间。

在设备使用更晚时间戳向您的提供程序注册令牌之前,请停止推送通知。

因此,新API中的HTTP响应涵盖了以前由反馈服务涵盖的功能。由于新文档中没有提到反馈服务,因此我们可以安全地假定它不是新API的一部分。

如果您正在使用旧的库(如javapns),该库仍在使用旧API,我假设它仍在使用反馈服务。苹果公司可能会继续支持旧的API一段时间。


不确定苹果是否仍在支持反馈服务。肯定他们不会立即关闭它。但令人惊讶的是,苹果在12月17日编辑了这些文档,我的反馈服务在12月16日后就没有返回设备令牌。也许之后没有人卸载应用程序。是的,javapns仍然支持旧API,但我找不到任何更新的Java库,如果苹果在某个时候停止支持旧API,则可以支持这些最新的API。 - DineshM
1
@DineshM 嗯,如果他们没有在反馈服务中向您发送设备令牌,那么他们不能抱怨您继续向这些令牌发送推送通知。他们不能期望每个人在短时间内都开始使用新的API。它基于新的HTTP/2协议,该协议并不像我所知道的那样广泛。 - Eran
现在反馈服务正在使用旧代码返回设备令牌。但是对于新的HTTP/2接口,无法找到任何Java库。 - DineshM
1
@Curiousity 不好意思,我不行。我没有关注最近的Java APN库。 - Eran
@Curiousity 我还没有使用APNs的HTTP/2版本,所以无法从自己的经验回答。然而,JDK 9应该支持HTTP/2。 - Eran
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接