我正在使用 Unity 开发一款手机游戏,我希望能够在他们不登录的情况下识别我的用户(这样当他们向服务器发送数据时我就会知道是他们)。
在这种特定情况下,解决方案不必能够防止数据丢失(这意味着如果用户无法访问服务器上的数据,这并不是世界末日),但是我真的很想避免用户可以访问其他用户数据的情况。
到目前为止,这是我的想法:当用户开始游戏时,会创建一个随机 ID 并将其保存到 PlayerPrefs 中。游戏从那里获取该 ID,将其添加到用户的 IP 地址,并对其进行哈希处理。
然后将此散列发送到服务器,服务器在其数据中保留散列以及发送请求的 IP 地址。
从现在开始,用户向服务器发送的每一个请求都需要经过哈希签名,并且来自这个特定的IP地址。这意味着如果用户清除 PlayerPrefs、卸载游戏或更换设备 - 他们将无法访问服务器上的数据。
您认为这行得通吗,还是不切实际/不安全/低效?
提前致谢!
最佳答案
您可以通过其唯一 ID 来识别设备。适用于 Android 和 iOS。 ( Documentation )
string deviceID = SystemInfo.deviceUniqueIdentifier;
关于unity3d - 无需登录即可识别移动用户的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66591771/