移动设备在iOS和Android上的唯一性

7 浏览
0 Comments

移动设备在iOS和Android上的唯一性

我正在寻找一种安全识别移动设备的方法,使用唯一标识符。每次我在特定设备上安装我的应用程序时,我应该获得相同的唯一标识符。这个标识符将上传到服务器后端并保存以供将来参考。

但是,这必须在没有依赖于手机IMEI号码的情况下实现。苹果早就在iOS上禁止了它,而谷歌可能明天也会在Android上禁止。

对于Android来说,至少有"ANDROID_ID"。那iOS呢?什么都没有吗?

必须有一种标准、可靠的方法来同时在Android和iOS上实现此功能。我对任何/所有/付费/免费/原生/第三方解决方案都感兴趣。其他公司是如何解决这个问题的?

我已经阅读了以下帖子:

1. "Identifying App Installations".

2. "Is there a unique Android device ID?".

3. "Getting a unique ID signature for every android device".

4. "Persistent, Cross-Install Device Identifier on iOS: Using Keychain".

5. "UIDevice uniqueIdentifier Deprecated - What To Do Now?".

6. "Always get a unique device id in iOS 7".

7. "iOS7 - Device unique identifier".

8. "Implementing Unique ID as UUID and saving it in Keychain".

我想超越这些。还能做什么?是否存在一个全面、一劳永逸、无懈可击的解决方案?

0
0 Comments

一年前,我写了一篇文章,讨论了一个在iOS上被认为是“防弹”的解决方案:https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/

我的解决方案使用了Apple的IFA或IFV,如果这些ID不可用,则使用一个随机的UUID。所选择的唯一ID被本地存储在你的NSUserDefaults和Keychain中(当然不会同步到iCloud)。

这样,你可以卸载和重新安装应用程序,设备ID保持不变。

我在数百万台设备上使用这种方法而没有任何问题;)

谢谢你的回答...我将把它传给iOS团队...他们仍在研究这个...:)

0
0 Comments

问题的出现原因:

- iOS平台限制了设备唯一标识符的获取,使得开发者无法直接获取设备的唯一标识符。

- 重新安装应用或进行恢复出厂设置会导致之前保存在keychain中的UUID被清除。

解决方法:

- 在iOS平台上,可以将生成的UUID保存到keychain中,使其在重新安装应用后仍然存在。

- 但是需要注意的是,进行恢复出厂设置会清除keychain中的UUID,这是一个限制。

以下是文章的整理内容:

从上述帖子中,已经有人回答了你的问题:在iOS上,可以将生成的UUID保存到keychain中,以便在重新安装后仍然存在。然而,进行恢复出厂设置会清除该UUID,你应该意识到这个限制。虽然这不是一个完美的解决方案,因为它受到Apple平台的限制,但仍然足够好,并且被许多应用程序使用。

谢谢。这并不是我正在寻找的全面答案,但我暂时接受它。

0