浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID

简介: 场景 : 客户提出一个问题就是把用户的登录记录和设备绑定到一起,就是每个人都是固定的设备(可能是安全因素吧)。一开始想的是回去设备的IMEI号和用户账号绑定起来,结果发现IMEI不对外开发,只能另寻他法,最后通过获取设备序列号作为唯一标识。

场景 :

客户提出一个问题就是把用户的登录记录和设备绑定到一起,就是每个人都是固定的设备(可能是安全因素吧)。
一开始想的是回去设备的IMEI号和用户账号绑定起来,结果发现IMEI不对外开发,只能另寻他法,最后通过获取设备序列号作为唯一标识。

开始了解可以用什么标识 来用 。

js获取手机唯一标识码

  Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。
【名词释义】

  • Device ID:设备ID。
  • IMEI:International Mobile Equipment Identity,国际移动设备身份码的缩写。是由15位数字组成的“电子串号”,它与每台手机一一对应,每个IMEI在世界上都是唯一的。
  • IDFA:Identifier For Advertising,iOS独有的广告标识符。
  • model: 设备的型号
  • vendor: 设备的生产厂商
  • UDID:Unique Device Identifier,唯一设备标识码。
  • uuid: 设备的唯一标识
    【上图思维脑图】

2079205_2091cbf203522196

Android设备标识码

device ID。
又叫设备ID。可以用系统提供的TelephonyManager服务来获取,具有唯一性。其中又包括IMEI和MEID/ESN。
IMEI:GSM设备返回的,并且是写在主板上的,重装APP不会改变IMEI。Android 6.0以上系统需要用户授予read_phone_state权限,如果用户拒绝就无法获得。
mac地址:硬件标识符,包括WiFi mac地址和蓝牙mac地址。Android 6.0之后被禁止,若获取则会被判定为有害应用。
MEID/ESN:CDMA设备返回的,一般不使用。
UDID:用来标示设备的唯一性。获取UUID后,写入.so文件生成UDID。即使APP重装,值也不变,除非root手机(普通用户做不到)
UUID:APP重装后会改变。

iOS设备标识码

device ID。
IMEI:iOS 5 之后被禁止。写在主板上,重装APP不会改变。
IDFA:于iOS 6 时面世,可以监控广告效果,同时保证用户设备不被APP追踪的折中方案。可能发生变化,如系统重置、在设置里还原广告标识符。用户可以在设置里打开“限制广告跟踪”。
mac地址:硬件标识符,包括WiFi mac地址和蓝牙mac地址。iOS 7 之后被禁止(同时禁止的还有OpenUDID)。
UDID:用来标示设备的唯一性 。iOS 6 之后被禁止获取系统原生的UDID,但可以通过uuid,写入到钥匙串中,从而获得自定义的UDID(非系统原生),即使用户重装APP,只要每次都取这个钥匙串返回,就是不变的。
UUID:APP重装后会改变。

总结:使用 UDID 最棒

相关文章
|
监控 供应链 定位技术
什么是 eCPM?它与 CPM 有何不同?
这篇文章解释了eCPM(每千人有效成本)的概念,它与CPM(每千人成本)的区别,如何计算eCPM,以及eCPM的主要优势和底价设置。文章还探讨了影响eCPM值的因素,以及如何确定合适的eCPM目标。
7306 2
什么是 eCPM?它与 CPM 有何不同?
|
安全 开发者 iOS开发
如何获取安全获取苹果udid,imei
【8月更文挑战第12天】在iOS系统中,苹果出于隐私考量已禁止开发者直接获取设备UDID与IMEI。替代方案包括:1) **供应商标识符** (`[UIDevice currentDevice].identifierForVendor`),适用于同一开发者账号下的应用,可能随应用卸载重装而变化;2) **广告标识符** (`[ASIdentifierManager sharedManager].advertisingIdentifier`),用于广告追踪,用户可选择重置或限制。处理这些标识符时务必遵守苹果隐私政策。
676 1
|
人工智能 自然语言处理 API
8.6K star!完全免费+本地运行+无需GPU,这款AI搜索聚合神器绝了!
FreeAskInternet是一款革命性的开源项目,它完美结合了多引擎搜索和智能语言模型,让你在不联网、不花钱、不暴露隐私的情况下,获得媲美ChatGPT的智能问答体验。这个项目最近在GitHub上狂揽8600+星,被开发者称为"本地版Perplexity"。
621 2
|
人工智能 IDE Java
一文彻底拿捏DevEco Studio的实用技巧
本文介绍DevEco Studio 5.0.0的安装与特性,助力高效开发HarmonyOS应用。涵盖快捷键、中文设置、文件注释模板及组件API文档查阅等内容,助你快速上手鸿蒙开发。君志所向,一往无前!
588 0
一文彻底拿捏DevEco Studio的实用技巧
|
算法 UED 开发者
🚀短链(Short Link):发展动态与工具推荐🚀
短链是将冗长的URL通过特定算法压缩成简短的字符串,便于用户在社交媒体和营销活动中分享。短链不仅美化了链接,还提升了用户体验,并具有易于传播和跟踪分析的优势。本文介绍了短链的作用、发展历程,以及在goo.gl退出后,推荐的替代工具如Dub.co,帮助用户继续享受短链带来的便利与营销价值。
1685 1
🚀短链(Short Link):发展动态与工具推荐🚀
|
API 网络安全 Android开发
Android 设备唯一标识(适配Android版本)
Android 设备唯一标识(适配Android版本)
1559 0
Android 设备唯一标识(适配Android版本)
|
Android开发
解决Android、Flutter编译时Gradle报错:javax.net.ssl.SSLException: Connection reset
解决Android、Flutter编译时Gradle报错:javax.net.ssl.SSLException: Connection reset
2954 0
springBoot如何设置yml文件,设置端口号
springBoot如何设置yml文件,设置端口号