2012-04-09 140 views
4

我在想,如果您从苹果的推送反馈服务中获得一个令牌列表,是否只针对发出呼叫的应用(使用该应用的pem证书),或者将苹果发送您是否为所有具有相同帐户下的应用标识的应用支持标记?PHP Apple推送通知反馈服务

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

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

我很困惑,因为苹果开发者页面表示,这“为此,苹果推送通知服务包括的APN不断地将更新其中有失败的递送尝试器件的每个应用程序列表反馈服务”,这导致我相信我应该只在每个应用程序的基础上获得令牌,而不是所有的应用程序。

任何人都可以确认或否认反馈服务如何与多个应用程序协同工作,那么我可以确定我的问题在哪里(如果我有一个)?

感谢

+0

您确定您在那里使用不同的证书吗? – deceze 2012-04-09 02:00:13

+0

我创建了新的并删除了旧的(我认为)...如果我使用旧的证书,然后检索其他应用的反馈正确吗?但现在的问题是,一旦你从苹果得到的反馈不再存在,所以我无法测试,看看这是否是我的问题! – jsherk 2012-04-09 02:23:34

+0

您是否收到有关此问题的任何信息? – 2012-04-11 08:35:07

回答

2

送苹果的邮件,等待约2周后好了,我终于得到了他们以下回应:

连接到反馈服务使用相同的TLS/SSL身份(证书和私钥),用于连接到APN网关。 APN从证书的UserID属性中识别您希望与哪个应用进行通信。

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

所以你给每个应用程序建立一个单独的连接到反馈服务。

2

我发现这方面的一些信息:

的APNS反馈服务器只返回设备令牌自上次反馈请求已“过期”。

source

如果您发送的几个您的应用程序中,再经过推向苹果的X号这意味着,调用反馈(),然后反馈(),将拥有所有的应用程序未激活令牌。

我现在的解决方案是在每次推送到苹果之后都会打电话反馈。 不够好,现在©

+0

我实际上做了两个检查...一个在推之前,一个在推之后。但我仍然不认为它是否会返回开发者帐户中所有应用程序的所有过期令牌,或者是否仅为正在使用证书的应用程序连接的所有过期令牌。 – jsherk 2012-04-12 14:14:47

+0

我们是否可以获得有效负载的某个标识符以确定哪个通知失败? – 2013-12-05 16:03:33