苹果推送通知令牌是不是会随着 iOS 更新而改变?
Posted
技术标签:
【中文标题】苹果推送通知令牌是不是会随着 iOS 更新而改变?【英文标题】:Does apple push notification token change with iOS update?苹果推送通知令牌是否会随着 iOS 更新而改变? 【发布时间】:2013-11-18 15:32:09 【问题描述】:我正在使用 PhoneGap 开发 ios 应用程序。我使用 PhoneGap 推送通知插件来集成推送通知。因此,当用户在我的数据库中启动应用程序时,我已经记录了用户 ID 和通知令牌 ID。最近我意识到同一用户有多个令牌 ID。
我想知道这是因为 iOS 更新。 (最近他们发布了iOS 7.0、7.0.1、7.0.2等几个更新。)
谁能确认一下?如果不是这种情况,谁能给我一些想法或可能的理由来更改 APNS 令牌?
谢谢
【问题讨论】:
我发现这个线程更相关 - ***.com/questions/6652242/… 【参考方案1】:是的,安装新的 iOS 版本会更改设备的设备令牌。甚至在 iOS7 之前也是如此。
此外,我读到从 iOS7 开始,每个应用程序都会为同一设备获取唯一的设备令牌(iOS7 之前的版本不是这种情况),但为了向后兼容,旧设备令牌仍然有效(直到您开始使用新设备令牌发送消息)。这可以解释您的用户收到重复消息。
您应该处理设备的设备令牌更改的情况。由于您已经有一个用户 ID 来识别用户,因此您可以轻松确保为每个用户保留一个设备令牌。
【讨论】:
这是有道理的。谢谢你。我真的按照你说的做了。但问题是如果某些用户使用两个 iOS 设备。由于 iOS 新应用提交规则不允许访问/使用 UDID。 developer.apple.com/news/index.php?id=3212013a 在这种情况下很难跟踪不同的设备令牌。 @user1692043 如果您想支持具有多个设备的用户,我建议您的服务器为每个设备生成一个唯一的设备标识符,并且该标识符应该与您数据库中的设备令牌相关联。此 ID 应存储在设备的外部存储中(在应用程序的安装和卸载之间存在)。当您收到具有现有设备 ID 的新设备令牌时,您修改现有设备令牌而不是创建新设备令牌。【参考方案2】:不同的 iOS 设备会有不同的推送通知令牌。会不会是某些用户使用了不止一台 iOS 设备? iPhone、iPod Touch、iPad?
【讨论】:
是的,可能。但是这里有些用户报告说他们多次收到相同的通知。当我研究 tjos 的数据库时,我发现这些用户在数据库中有多个令牌 ID。以上是关于苹果推送通知令牌是不是会随着 iOS 更新而改变?的主要内容,如果未能解决你的问题,请参考以下文章