ios - Push Notification 的device token 可以作为唯一标识吗?

标签 ios

问题:不推荐使用 UDID - 我们不能再使用它了。 网上有一些解决方案:生成GUID并将其存储在“安全的地方”,iCloud,iOS6开始的IdentifierForVendor,OpenUID,SecuredID等......

要求: 我需要设备的唯一标识符才能在我们的服务器上存储用户数据。

问题: 我可以使用 Push Notification 的 deviceToken 作为唯一标识符吗?

这个想法的优缺点是什么?

  • (-) 用户可以禁用推送通知
  • (+) 唯一编号
  • (+) 支持所有 iOS

最佳答案

这是一个糟糕的想法,如果用户更换设备或出于其他未知原因, token 可能会发生变化。

  • 用户可以拥有多个设备
  • 如果用户重新安装应用,他们可以获得另一个 token
  • 用户不会 100% 保留相同的 token 。

最重要的是:You are identifying devices not users!

一种解决方案是生成 UUID 并将其保存在您检索它的用户钥匙串(keychain)中。但如果用户清除设备,也可以将其删除。

您最好的选择是允许用户使用可以创建的帐户登录。然后您可以将其与钥匙串(keychain)中的 UUID 结合起来。

关于ios - Push Notification 的device token 可以作为唯一标识吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354760/

相关文章:

iphone - 如何打开 iPhone 的默认浏览器?

ios - 不能使用实例成员

ios - Storyboard 中自定义类集的本地化不起作用

ios - 是否需要从顶 View Controller 呈现警报 View ?

ios - Swift 3 - 将 bool 值发送到不同的类

ios - 使用 iOS 增加 PFFile 解析上传大小

objective-c - 获取 xcode 4.5 以警告新的 API 调用

ios - 如何让 switch case 在 Swift 中不出现多次?

ios - 从 GCDWebServer 获取 Bonjour URL

ios - CollectionView 在滚动时突出显示不正确的单元格