如何在不使用登录系统的情况下识别唯一用户(iOS)

我需要有一种方法来识别我的应用程序的用户,但没有登录系统。

我查看了UUID,它给了我一些问题的答案,但由于它不是真正的UDID,它不是“真正独特”:如果用户重新安装应用程序,他会得到一个新的UUID,这可以’为我工作。

有没有办法可以获得设备序列号或类似的独特之处? 我可以从设备获得的任何类型,而无需用户填写任何字段。

您可以尝试使用存储在用户的iCloud中的键值存储中的一些唯一随机字符串。

因此,当用户第一次启动您的应用时,您会发现他的iCloud没有存储任何值,因此您生成并存储它。 当用户下次启动应用程序时,您将看到此值,并将采取相应措施。

更重要的是,即使用户将重新安装您的应用程序或将重置设备,您仍然可以在他的iCloud中按值识别用户。

过了一段时间,我们认为要获得独特的用户ID是不可靠的,不可能的或者真的很烦人,而不要求他们填写某种字段并实际注册。

因此,我们决定使用他们的加密格式化手机号码,使用以下过程:

  • 询问电话号码和国际代码*(+ 1,+ 32等)
  • 以编程方式validation电话号码的完整性
  • 如果满意,请要求用户进行警报validation
  • 如果没问题,请发送密码并等待validation
  • 如果有效,请注册数据库。

用户的用户名是:格式化的电话号码(例如+32495555556),然后在SHA-256中对该字符串进行哈希处理,最后我们将该超长字符串保存到数据库中并识别出这样的人。

如果您有任何疑问,请在此询问,以便我做一些澄清。 如果你有更好的主意,我仍然会很高兴听到它。