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

【心路历程】
最近刚好在思考工作中统计数据所用的标识码产生的数据误差到底有多大,借此机会几番搜索资料+请教大神,整理出此文。

因为自己是产品经理,所以出发点是整理知识点、理解个大概、知道什么不能用、什么标识是靠谱的,并不研究太深入。毕竟非专业开发,有时候若了解知识点太深入,反倒会更困惑(关联知识点太多)。即使研究清楚了,工作中碰到和自己研究相悖的情况,也不好丢个文档告诉开发应该怎么做(除非很熟,但次数多了也伤感情)。

此外,不同公司、不同开发可能对同一个词的释义/实现方式有略微不同,但基本上是这样。
欢迎大家指正~

【先说结论】
UDID是移动端相对最靠谱的设备标识码,不论Android或iOS。

【名词释义】

  • Device ID:设备ID。
  • IMEI:International Mobile Equipment Identity,国际移动设备身份码的缩写。是由15位数字组成的“电子串号”,它与每台手机一一对应,每个IMEI在世界上都是唯一的。
  • IDFA:Identifier For Advertising,iOS独有的广告标识符。
  • UDID:Unique Device Identifier,唯一设备标识码。
  • UUID:Universally Unique Identifier,通用唯一识别码。目前最广泛应用的UUID,是微软公司的全局唯一标识符GUID。其目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。

【再说过程】
名词释义是不是看得一脸懵逼?莫慌,下图介绍了各个设备标识码的区别,以及目前的情况。

点击图片查看清晰大图

Android设备标识码

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

iOS设备标识码

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

【总结】
若想用于数据统计,使用UDID是最靠谱的。

from:https://www.jianshu.com/p/38f4d1a4763b

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

  1. android绑定手机设备,浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID

    场景 : 客户提出一个问题就是把用户的登录记录和设备绑定到一起,就是每个人都是固定的设备(可能是安全因素吧). 一开始想的是回去设备的IMEI号和用户账号绑定起来,结果发现IMEI不对外开发,只能另寻 ...

  2. 移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID的名词解释

    一.最兼容的设备识码 二.名词释义     2.1 Device ID     2.2 IMEI     2.3 IDFA     2.4 UDID     2.5 UUID 三.设备标识码详解   ...

  3. 移动端设备标识码/设备唯一标识码/设备唯一性

    文章目录 名词释义 Android 设备标识码 iOS设备标识码 总结 名词释义 Device ID:设备ID. IMEI:International Mobile Equipment Identit ...

  4. 手机设备标识码(IMEI、MEID、UDID、UUID、ANDROID_ID、GAID、IDFA等)

    文章目录 Android篇 1 IMEI和MEID 2 DeviceId 3 mac地址 4 ANDROID_ID 5 UUID 6 OpenUDID 7 Serial Number 8 IDFA 9 ...

  5. html设置视口,浅谈移动端中的视口(viewport)的具体使用

    在 PC 端,视口指的是浏览器的可视区域,其宽度和浏览器窗口的宽度保持一致.在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源,给 CSS 布局限制了一个最大宽度. ...

  6. 浅谈Linux PCI设备驱动(二)

    我们在浅谈Linux PCI设备驱动(一)中(以下简称浅谈(一) )介绍了PCI的配置寄存器组,而Linux PCI初始化就是使用了这些寄存器来进行的.后面我们会举个例子来说明Linux PCI设备驱 ...

  7. Matlab GUI/APP 浅谈(附计算器源码)

    Matlab GUI/APP 浅谈(附计算器源码) 今天没有什么段子,也没有心灵鸡汤.毒鸡汤啥的,纯粹聊一聊这些年从有关MATLAB GUI/APP开发中悟出的一点道理,顺便把计算器的源代码给大家. ...

  8. pc端rem适配_浅谈pc端rem字体设置的问题

    1.内容在一屏内显示的,采用了(内容框)上下左右居中的办法,里面的内容绝对于这个内容框定位.这样一来,在不同大小屏中,内容总是在中间,看起来较正常 2.长,宽,LEFT,TOP,RIGHT,BOTTO ...

  9. 浅谈移动端页面性能优化方案

    众所周知,在互联网行业里,移动端占有的比例越来越高了,尤其实在电商领域,用户购物大部分在移动端.比如淘宝双11,在移动端支付的接近7成.这就要求我们产品质量越来越高,那对于我们前端工程师来说也是一个挑 ...

  10. 浅谈移动端Vin码识别技术

    近几年汽车产业蒸蒸日上,爱车人士也是多如牛毛.我国机动车新增率与二手车交易量也是大幅增加:Vin码伴随汽车出厂如同人的身份证件,包含信息全面而无误.所以移动端Vin码识别必将在汽车行业中大显神通. V ...

最新文章

  1. TensorFlow练习7: 基于RNN生成古诗词
  2. 毕业三年薪水翻三倍!?你想要吗?
  3. 飞凌 修改ip地址 linux,linux上搭建DHCP服务
  4. php 编译 线程安全,PHP7(zts 线程安全版)编译安装(支持多线程pthreads)
  5. 湖南工程学院计算机毕业设计,湖南工程学院毕业设计模板.docx
  6. 转载--va_list
  7. 【latex】输入角度符号°
  8. sql 左联接 全联接_学习SQL:联接多个表
  9. 网站暴库原理与方法剖析
  10. cmake导入so库_(转)HelloWorld CMake CMake中构建静态库与动态库及其使用
  11. 反欺骗:从黑客时代的神话说起
  12. 解构语音交互产品--人工智能AI技术
  13. zigbee学习之JN5169系统控制器
  14. 二项分布期望与方差的证明
  15. IT,互联网,科技,技术博客网站推荐
  16. OpenWRT下使用dnspod解析动态域名
  17. 2021最新 杭州互联网公司排名
  18. VLC媒体播放器Web插件详细说明
  19. emq无法启用mysql_EMQ开启mysql认证
  20. 美女在中国移动上厕所!

热门文章

  1. 在阿里云上安装MongoDB,并且远程连接
  2. 仿IOS圆角可自定义扩展对话框
  3. Riverbed实现云内外的端到端可视化
  4. 《深入剖析Tomcat》一3.3 小结
  5. 记录php运行日记的方法
  6. openstack nova ×××
  7. 计算机辅助与设计专业,计算机辅助设计与制造专业怎么样?
  8. 漫画:寻找无序数组的第k大元素
  9. linux内核C -- 第07课:地址对齐那些事儿
  10. Performance Engineering of Software Systems (四) ——工具使用