我正在为 ios 和 android 开发一个使用 phonegap 的应用程序。 我的应用程序将免费试用 5 件元素,用户必须为每增加一件元素付费。
我的问题是我无法使用我的应用程序获取设备的任何唯一标识符,因此用户可以使用 5 个免费项目,然后卸载并重新安装该应用程序并获得额外的 5 个免费项目。
我试过使用 phonegap api 提供的 device.udid,但每次我重新安装时它都会改变。
有什么想法吗?
最佳答案
获取设备的 MAC 地址并对其进行 SHA1 哈希以进行混淆。有开源代码可以为 Android 和 iOS 设备获取它。
而且无论您将来继续使用 PhoneGap 还是编写 native 代码,这种解决方案都有效。此外,就应用程序审核流程而言,Apple 对此没有任何问题。
更新:这是直到 iOS 6 并通过 iOS 6 的正确答案,但是对于大于 6 的所有 iOS SDK 版本,这不再是可能的。任何尝试使用以前有效的低级调用现在总是返回 MAC 地址 2。广告 ID 和 AdSupport.framework 是唯一的方法。如果你有一部越狱手机并且可以获得 root 权限,它可能仍然有效。不确定。
关于android - 使用 phonegap 获取唯一的设备 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11248871/