将 APNS 二进制协议升级到增强的基于 HTTP/2 的 API

Posted

技术标签:

【中文标题】将 APNS 二进制协议升级到增强的基于 HTTP/2 的 API【英文标题】:upgrade APNS binary protocol to the enhanced HTTP/2-based API 【发布时间】:2019-03-05 21:51:03 【问题描述】:

我最近收到了来自 Apple 的以下邮件

我们注意到您的应用可能正在通过二进制协议与 Apple 推送通知服务进行通信。由于这是一个遗留协议,我们建议尽快更新到增强的基于 HTTP/2 的 API。您将能够利用出色的新功能,例如使用 JSON Web 令牌进行身份验证、改进的错误消息传递和每个通知的反馈。

我不知道该怎么办: 1 - 我是否必须修改我的应用程序中的某些内容以及如何修改? 2 - 我是否必须修改服务器上的某些内容(当然),但如何修改?

欢迎任何帮助。 祝你今天过得愉快。

【问题讨论】:

如何发送推送通知?你使用图书馆吗?如果是这样,lib 的文档是否给出了任何提示? 【参考方案1】:

首先,我建议您阅读有关新的基于 http/2 的 apns 服务的好处的官方文档。然后,如果您想使用新引入的功能,您可以更改服务器端实现,以便能够通过新 API 发送通知。但是,根据您要使用的功能,您的客户端代码当然可能会有一些变化。

否则,在 Apple 决定关闭旧版 api 之前,暂时无需对双方进行任何更改。正如您所看到的,他们称之为legacy,最好为压力时刻做好准备。

如果我们谈到如何在服务器端使用新的 API,我建议你仔细阅读这两页:

Setting Up a Remote Notification Server

Sending Notification Requests to APNs

或者,取决于您的编程语言,但也许您可以通过使用 google 找到一些使其易于使用的库。

【讨论】:

看来苹果将从 2021 年 4 月起停止对旧版 APNS API 的支持。 developer.apple.com/news/?id=c88acm2b

以上是关于将 APNS 二进制协议升级到增强的基于 HTTP/2 的 API的主要内容,如果未能解决你的问题,请参考以下文章

将 APNs 从证书升级到身份验证令牌是不是会使现有的 deviceToken 失效?

iOS的即时通讯推送服务APNs

2021年3月31日之后,APNs将不再支持传统二进制协议(解决沙盒 push发送失败)

2021年3月31日之后,APNs将不再支持传统二进制协议(解决沙盒 push发送失败)

2021年3月31日之后,APNs将不再支持传统二进制协议(解决沙盒 push发送失败)

2021年3月31日之后,APNs将不再支持传统二进制协议(解决沙盒 push发送失败)