【发布时间】:2015-11-23 09:10:10
【问题描述】:
为了让我们向用户发送 iOS 通知,会发生以下流程:用户安装我们的应用程序,向 APNS 注册,然后将注册令牌发送到我们的服务器,以便稍后用于发送通知。
对用户安装我们应用程序的每台设备重复上述过程;我们希望他们在所有设备上都能收到通知。
除此之外,当用户卸载我们的应用并在同一设备上重新安装时,该过程会重复。
每次重复该过程时,我们都会获得一个新的、不同的注册令牌。这一切都很好,但是,我们注意到直到最近卸载我们的应用程序时,设备令牌在重新安装并生成新令牌后仍然有效。我们的理解是,一个设备可以存在一个唯一的令牌。
Apple 的文档似乎也暗示了这一点 (https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW12)
此阶段令牌信任的形式确保只有 APNs 生成稍后将兑现的令牌,并且它可以确保设备交给它的令牌与之前为该特定设备提供的令牌相同— 并且仅适用于该设备。
重新安装后生成新令牌并将其发送到我们的后端时,我们有两个指向同一设备的设备令牌,因此我们向该设备发送了多个通知。我们是否误解了文档?如果是这样,处理重新安装场景的典型方法是什么?
谢谢!
【问题讨论】:
-
您是否更改了捆绑标识符?
-
我想补充一点,我 100% 确信这正在发生,你是对的。这也发生在我身上。我向 Apple 报告了这个错误,他们关闭了它,说它现在处于测试阶段。
-
同样的事情发生在我身上。 ios8 上的设备不这样做……但在 ios9 上,每次安装都会获得不同的设备令牌。它还会在每次安装时发出“____ 希望向您发送推送通知”警报,而无需更改日期等。它肯定会成功完成委托回调,我什至可以将推送发送到此设备....它只是更改每次安装。怎么办?
-
有人能得到合适的解决方案吗?
-
我只为我的应用商店应用程序(生产应用程序)而不是从试飞下载的应用程序(开发应用程序)面临这个问题......我无法理解为什么会发生这种情况?..这个问题的任何解决方案..
标签: ios iphone apple-push-notifications