android - 使用 phonegap 获取唯一的设备 ID

标签 android iphone mobile cordova udid

我正在为 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/

相关文章:

android - java.lang.NoClassDefFoundError : com. 谷歌.android.gms.gcm.GoogleCloudMessaging

android - 如何在可绘制图像上插入填充?

ios - Xcode/iOS 自动委托(delegate)分配...一个错误?

iphone - iPhone上的频率检测

java - 在 tabris 中创建应用程序

android - 将 iPhone PhoneGap 应用程序移植到 Android - 缩放问题

javascript - 无法从 W3schools.com 的移动浏览器自动幻灯片更改图像大小

java - 使用 Calendar Provider/Calendar.Contract 从特定日历和特定日期获取事件

android - 如何在样式中使用 textColorPrimary 作为背景色?

ios - MPMoviePlayerController:停止 MPMoviePlayerController 时没有声音