浅谈移动端设备标识码: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 最棒

相关文章
|
7月前
|
人工智能 JSON JavaScript
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
手把手教你用 OpenClaw(v2026.2.22-2)+ 飞书,10分钟零代码搭建专属AI机器人!内置飞书插件,无需额外安装;支持Claude等主流模型,命令行一键配置。告别复杂开发,像聊同事一样自然对话。
17463 20
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
63009 0
|
8月前
|
人工智能 测试技术 API
极速开发出一个高质量 Claude Agent Skills 最佳实践
本文详解Anthropic新推出的Skill(技能)机制,对比MCP差异,分享快速上手与高质量开发实践:从概念理解、结构规范、渐进式加载,到用AI生成Skill、最佳命名与元数据、自由度控制及避坑指南,助开发者高效落地。
极速开发出一个高质量 Claude Agent Skills 最佳实践
|
存储 SQL Cloud Native
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:支持InfluxDB
GoWind Admin(风行)是企业级前后端一体中后台框架,支持InfluxDB 3.x,专为时间序列数据优化。内置IOx引擎、SQL查询、云原生架构,助力高并发、实时分析场景,开箱即用,快速构建高效应用。
586 0
|
8月前
|
缓存 Rust 算法
使用 uv 的优点分析:为什么它正在取代 pip
uv 以 Rust 打造,速度比 pip 快 10–100 倍,依赖解析毫秒级完成。命令完全兼容,零学习成本迁移。虚拟环境创建更快、更小、更智能,适合日常开发、CI 自动化等场景,显著提升 Python 开发效率。
|
监控 供应链 定位技术
什么是 eCPM?它与 CPM 有何不同?
这篇文章解释了eCPM(每千人有效成本)的概念,它与CPM(每千人成本)的区别,如何计算eCPM,以及eCPM的主要优势和底价设置。文章还探讨了影响eCPM值的因素,以及如何确定合适的eCPM目标。
8825 2
什么是 eCPM?它与 CPM 有何不同?
|
JavaScript
如何解决ElementUI中的el-tab-pane组件使用v-show不生效的问题?
如何解决ElementUI中的el-tab-pane组件使用v-show不生效的问题?
1662 3