【发布时间】:2014-05-15 19:33:35
【问题描述】:
如果用户安装了我的两个 iOS 应用程序(例如,免费版和专业版),并且我想通过推送通知向所有安装了这两个应用程序的用户发布通知,有没有办法如果用户同时安装了两个应用程序,是否阻止向用户发送两个通知?
在 iOS6 及更低版本中,应用程序之间的推送通知令牌似乎相同,因此可以使用唯一标识符来确保只向某人发送一个通知。但是,从 iOS7 开始,这似乎已更改,因此推送令牌对于每个应用程序都是唯一的。
此外,我没有任何其他用户的唯一标识符(例如他们的电子邮件)。
这个问题的答案很可能是“不”。但如果是这种情况,您可以引用来支持您的结论的任何参考资料都会有所帮助。
【问题讨论】:
-
没有。参考资料:“从 iOS7 开始,这似乎发生了变化,因此推送令牌在每个应用程序中都是唯一的。”和“我没有任何其他用户的唯一标识符”。无论如何,拥有一个唯一的 id 也无济于事——如果用户安装了应用程序 A 和应用程序 B,你会不会只将推送发送给其中一个?哪一个,如果他们都安装了然后又卸载了一个,然后你将它发送给卸载的那个,那么用户根本不会得到任何推送。
-
@MartinH 在您的示例中,如果我们有一个唯一标识符,我们会将其发送到该用户的一个应用程序(可能是最近使用的一个)。然后我们会轮询 APNS 反馈服务,如果消息被拒绝,那么我们会使用其他应用再次将其发送给那个人。
-
当应用程序发送推送令牌时,它们包含一个有效负载,说明它是来自免费版还是专业版。然后您的数据库将能够看到两个应用程序已使用相同的令牌注册。
-
@MartinH 每个应用程序的令牌都不同。据我所知,没有办法知道这两个应用程序是同一个人。
-
Doh,我读错了“但是,从 iOS7 开始,这似乎已更改,因此每个应用程序的推送令牌都是唯一的。”。然后我认为没有什么可以做的,什么都没有想到。
标签: ios push-notification apple-push-notifications push