PHP 苹果推送通知反馈服务


PHP Apple Push Notifications feedback service

我想知道当您从Apple的推送反馈服务获取令牌列表时,这些令牌是否仅特定于进行调用的应用程序(使用该应用程序的PEM证书),还是Apple会向您发回具有同一帐户下的应用程序的所有应用程序的令牌?

问的原因是,我有一个检查反馈服务的脚本,以便它可以在发送推送之前删除令牌。我复制了脚本并将其设置在新应用程序的新子目录中,并更改了所有适当的数据库信息,并为此新应用程序创建了新的 pem 文件。

由于这是一个新应用程序,数据库中只有一个令牌,我还没有发送任何推送,但是当我运行脚本时,反馈服务报告了 1200 个需要删除的令牌。由于我没想到会这样,所以我只是检查从这个应用程序的数据库中删除这些令牌,而不是从其他应用程序中删除这些令牌。

我很困惑,因为 Apple 开发人员页面说"为此,Apple 推送通知服务包括一项反馈服务,APNs 会不断更新每个应用程序的设备列表,这些设备尝试失败",这让我相信我应该只在每个应用程序的基础上获取令牌,而不是所有应用程序

任何人都可以确认或否认反馈服务如何与多个应用程序一起工作,以便我可以找出我的问题所在(如果我有一个的话)?

谢谢

我找到了一些这方面的信息:

APNS 反馈服务器仅返回自上次反馈请求以来已"过期"的设备令牌。

这意味着,如果您发送到多个应用程序,那么在向 Apple 推送 X 次后,调用 feedback(),则 feedback() 将具有来自您所有应用程序的非活动令牌。

我目前的解决方案是在每次推送苹果后调用反馈。现在©足够好了

在给苹果发了一封电子邮件并等待了大约 2 周后,我终于收到了他们的以下回复:

连接到反馈服务使用您用于连接到 APNs 网关的相同 TLS/SSL 身份(证书和私钥)。APNs 通过证书的 UserID 属性标识要与哪个应用通信。

因此,正如您必须为每个应用建立与 APNs 的单独连接以发送通知一样,您必须对反馈服务执行相同的操作。

因此,您为每个应用程序与反馈服务建立单独的连接。