苹果推送通知服务需要一些澄清

时间:2015-03-27 11:41:54

标签: ios apple-push-notifications devicetoken

我目前对APNS的理解是Apple将为每个设备提供不同的设备令牌。基于设备令牌,服务提供商将通知发送给设备。 因此,如果我们在两个设备中使用相同的帐户登录,那么我们可以在两个设备或仅最新设备中获得单个通知吗? 如果我们将通知发送到设备,并且设备处于关闭模式。那么apns将返回任何错误消息并将该设备令牌存储在反馈服务列表中或等待向设备发送通知?

2 个答案:

答案 0 :(得分:0)

你在谈论同一个帐户?你的意思是Apple账户?在任何情况下,两个设备都将具有不同的令牌。

如果您想以某种方式根据帐户对设备进行分组,则必须在服务器上执行此操作。您的服务器应该知道具有相同帐户的人有2个不同的设备和2个不同的令牌,因此您将令牌发送到两个设备。

让我们说用户通过Facebook登录您的应用程序。如果用户John Doe使用Facebook登录他的iPhone,他的设备将收到令牌。如果John Doe使用相同的帐户登录他的iPad,设备将收到不同的令牌。

答案 1 :(得分:0)

您的答案的确切问题是,您只能获得用户选择登录的最新设备的一次推送通知。由于Apple的APNS架构,无论两个设备属于同一用户,都无法在两个不同的设备上接收相同的设备令牌。

为了向多个设备发送通知,您必须在后端调整数据模型,以便一个用户可以与多个设备令牌关联。然后,当您的事件被触发时,您可以将通知发送到两个设备(当然假设用户都是loggen)。