iOS 或 Android 设备的 ID - 用户不可重置且无需用户权限即可拉取
Posted
技术标签:
【中文标题】iOS 或 Android 设备的 ID - 用户不可重置且无需用户权限即可拉取【英文标题】:ID of iOS or Android device - not user-resettable and no user permission required to pull 【发布时间】:2019-02-23 17:58:37 【问题描述】:我正在寻找一个 ID 来识别满足以下要求的 android 和 ios 设备:
-
独一无二的
只要用户与后端服务器联系,React Native 应用就可以可靠地拉取
拉取不需要设备用户权限
用户不可重置。设备用户无法自行更改。
网上有很多讨论,在我看来,有更多关于 Android 的 Android ID
和 iOS 的 UUID
的推荐。我是移动应用程序编程的新手。 Android ID
和UUID (iOS)
是否满足以上所有要求,尤其是关于用户权限和用户可重置的要求?
【问题讨论】:
幸好 iOS 没有提供这样的 id。 不,iOS 不存在这样的东西,至少“合法”不存在:theguardian.com/technology/2017/apr/24/… iOS 中有什么关闭的吗?偶尔更改ID是可以的。但用户无法通过进入设置进行更改。 您可以自己创建一个 UUID 并将其存储在 AsyncStorage 中。只有当用户删除应用程序并重新安装时,它才会被更改。 iOS 上的标准方法是生成一个 UUID 并将其存储在钥匙串中。只有设备重置才能将其删除。如果您对用户卸载您的应用并稍后重新安装它感到满意,那么identifierForVendor
将满足您的要求
【参考方案1】:
提供的方法是让 iOS 使用 UIDevice:identifierForVendor()。这将返回一个唯一的 UUID:
-
特定设备
您的应用
如果删除并重新安装应用程序,它可能会被重置,并且对于同一设备上的不同应用程序会有所不同。
我们曾经使用 MAC 或其他东西,但由于它们都被用于跨应用和跨平台营销目的,Apple 删除了对它们的访问权限以帮助保护用户隐私。
【讨论】:
以上是关于iOS 或 Android 设备的 ID - 用户不可重置且无需用户权限即可拉取的主要内容,如果未能解决你的问题,请参考以下文章
Android 和 iOS 上的 Facebook 用户 ID