我们要防止用户在同一设备上创建多个配置文件。 为此,我们首先尝试了IDFA,但可以随时从“设置”中重置IDFA。 然后我们发现DeviceCheck指出:
识别与您关联的按设备,按开发人员访问的数据 服务器可以在其业务逻辑中使用
据此,我们为每个设备设置两个位,并为服务器到服务器验证设置一个令牌。现在的问题是:
如果用户卸载了该应用程序并重新安装。令牌会保持不变吗? 我们如何检测用户没有在同一设备上创建多个配置文件?
答案 0 :(得分:1)
您也可以通过将值存储在Keychain
中来实现。即使该应用程序被删除,它也将持续存在,因此您可以确定该应用程序是新安装还是重新安装。因此,如果您的钥匙串中有值,则是重新安装,否则是全新安装。
答案 1 :(得分:1)
keychain是可以安全存储用户数据的地方。将数据存储在钥匙串中还有另一个优势-如果用户决定从设备中删除该应用程序,然后又决定再次安装该应用程序,则该数据仍会保存。
答案 2 :(得分:1)
设备检查是您要实现的最佳解决方案。广告ID可以关闭并重置,并且一旦用户从给定的开发人员卸载所有应用程序,[[UIDevice currentDevice] uniqueIdentifier]将被重置。
设备检查是Apple提出的一种解决方案,它可以检查设备是否已兑换要约,创建了先前的配置文件,或者只是检查该设备是否为真实的Apple设备。
它需要使用服务器与Apple服务器进行通信,以验证客户端生成的令牌。您可以设置两位。这两位连接到您的开发者资料,而不是每个应用程序两位。