移动设备(手机)的唯一ID有哪些

在移动广告领域,设备的ID 是用来追踪一个人的最重要的标识。

对于APP自身产品而言,使用设备唯一ID可以追踪到用户从下载到激活、注册、使用、流失、回归的全流程数据,对产品运营工作非常有帮助。

对于精准广告和个性化推荐而言,可以使用设备ID进行数据收集、然后进行千人千面的精准营销。

对于与外部数据打通而言,移动设备ID 是能与公司外的数据进行打通、交换、补充的唯一性ID,也是市场上大家都认可的ID。

既然移动设备ID 如此的重要,那我们就来聊一聊,有哪些ID我们是可以使用的:

一、IMEI

IMEI是国际移动设备识别码,一串15位的号码,每部通过正规渠道销售的GSM手机均有唯一的IMEI码。IMEI码由GSMA协会统一规划,并授权各地区组织进行分配,一般由运营商存储在SIM卡中。

1、IOS体系下:无法获取 
在IOS5.0以后,苹果官方就屏蔽了获取IMEI号的接口,因此后续版本的苹果设备都无法获取到IMEI号。

2、Andriod体系下:可以获取 
Andriod的手机设备是允许开发者获取IMEI号的,但在Andriod6.0以后版本需要得到用户的主动授权才能获取。

二、IDFA

苹果和Google针对移动设备推出的 广告标识符

1、IOS体系下:可以获取 
在IOS6.0以后版本均可以正常获取IDFA,但手机用户可以手动还原 以及 手动禁止获取(手动关闭广告追踪,目前关闭的用户占比较小)。

2、Andriod体系下:受限获取 
其实在Andriod2.3以后,Google也学苹果推出了IDFA,用于跟踪广告的唯一标识,功能基本上与苹果的IDFA是一样一样的。但是Google的这个IDFA是需要基于Google Play等基础APP的,在国内环境下,Google的这些基础APP要么无法访问使用,要么被手机厂商直接去掉了,因此Android手机上的IDFA在国内没有起到唯一ID的作用。

三、UDID

原苹果设备的唯一识别ID,它是40个字符组成。

1、IOS体系下:无法获取 
在IOS旧版本可以使用,但在IOS7.0以后版本苹果停用了此ID,新版都无法获取。

2、Andriod体系下:无法获取 
Andriod体系没有这个ID。

四、MAC

MAC是指无线网卡地址

1、IOS体系下:无法获取 
在IOS7.0以后版本IOS设备无法获取到MAC(准确说是会返回一个固定值的MAC,不具有唯一性)。

2、Andriod体系下:可以获取 
APP的开发者可以主动获取当前Andriod手机的MAC地址,另外 如果是通过 WIFI上网 或者 WIFI AP 探针 也都可以获取到当前设备的MAC地址。

五、Andriod_ID

Andriod_ID 是Andriod设备独有的ID,每一个新设备系统都会随机的分配一个Andriod_ID,为64位数字。如果将设备恢复出厂设置、刷机,则会生成一个新的ID。

六、其它 IDFV、openUDID、UUID

IDFV 是苹果设备给单个APP自身用于追踪用户的唯一ID,这个IDFV在一个APP内是唯一的,跨APP就不唯一了,因此只能用于单个APP自身用于追踪用户行为。

openUDID 是非官方提供的API,在IOS和Andriod体系下都可以使用,效果一般,有部分公司也会使用这个ID。

UUID由于Andriod体系ID确实太复杂了,所以还有厂商会根据UUID生成标准在APP中生成UUID来使用。

无论是苹果还是Google,都越来越注重用户隐私的保护。因此可以看到,只要是涉及到 设备的唯一性且不可更改性的ID,都慢慢的不会苹果/Google推荐使用,例如 MAC地址、UDID等,都是与设备永久性绑定,一旦泄漏涉嫌侵犯用户隐私的。所以现在厂商都开始推各类的 广告ID,例如 IDFA,可用于追踪广告,也可由用户自主设置。

目前,在国内,Android设备主要还是以 IMEI 为主,IOS设备主要以 IDFA 为主。

参考 MMA中国无线营销联盟、《程序化广告实战》书籍等。


本文原创发布于微信公众号「 bzsikao 」,欢迎关注,交流更多的 互联网认知、工作管理、大数据、Web、区块链技术。

 

移动设备(手机)的唯一ID有哪些的更多相关文章

  1. 如何检索Android设备的唯一ID

    关于本文档 Android的开发者在一些特定情况下都需要知道手机中的唯一设备ID.例如,跟踪应用程序的安装,生成用于复制保护的DRM时需要使用设备的唯一ID.在本文档结尾处提供了作为参考的示例代码片段 ...

  2. 【转】 不需要任何权限获得Android设备的唯一ID

    不需要任何权限获得Android设备的唯一ID,权限android设备id 这个问题来自于Is there a unique Android device ID? 我对这个问题的答案做了整理,包括将另 ...

  3. Android 如何检索Android设备的唯一ID

    关于本文档 Android的开发者在一些特定情况下都需要知道手机中的唯一设备ID.例如,跟踪应用程序的安装,生成用于复制保护的DRM时需要使用设备的唯一ID.在本文档结尾处提供了作为参考的示例代码片段 ...

  4. 如何获取Android手机的唯一标识

    有很多场景和需求你需要用到手机设备的唯一标识符. 在Android中,有以下几种方法获取这样的ID. 1. The IMEI: 仅仅只对Android手机有效: 1 2 TelephonyManage ...

  5. 游戏服务器生成全局唯一ID的几种方法

    在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使 ...

  6. 分布式系统-主键唯一id,订单编号生成-雪花算法-SnowFlake

    分布式系统下 我们每台设备(分布式系统-独立的应用空间-或者docker环境) * SnowFlake的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作 ...

  7. 如何获取STM32 MCU的唯一ID

    前段时间由于应用需要对产品授权进行限制,所以研究了一下有关STM32 MCU的唯一ID的资料,并最终利用它实现了我们的目标. 1.基本描述 在STM32的全系列MCU中均有一个96位的唯一设备标识符. ...

  8. 分布式唯一ID极简教程

    原创 2017-11-21 帝都羊 架构师小秘圈 一,题记 所有的业务系统,都有生成ID的需求,如订单id,商品id,文章ID等.这个ID会是数据库中的唯一主键,在它上面会建立聚集索引! ID生成的核 ...

  9. 阿里云重磅推出物联网设备身份认证Link ID²

     2018年12月19日,阿里云宣布推出新版物联网设备身份认证Link ID²及物联网安全运营中心Link SOC,护航万物智联.   随着越来越多的设备连接到网络中,随之而来的安全问题越来越突出. ...

随机推荐

  1. thinkpadE系列重装系统:u盘启动

    一.下载深度装机大师,制作启动u盘. 二.重启电脑:按F1;进入bios设置:     thinkpad e430c笔记本使用u盘装系统时无法使用u盘启动,这是由于thinkpad e430c笔记本u ...

  2. log4j-日志记录小结

    log4j.properties配置 ### 以系统输出流的方式按照指定的格式在控制台上输出日志信息 ###log4j.appender.stdout=org.apache.log4j.Console ...

  3. (PMP)解题技巧和典型题目分析(0903-2班)

    1.计算题 ,5 2.概念题,少 3.情景题,很多 C B C D ------------------------------------------------------------------ ...

  4. docker部署pinpoint

    pinpoint-collector部署 Dockerfile FROM tomcat8:jdk8 MAINTAINER limugen<limugen@uce.cn> ENV APP_H ...

  5. VS2015环境下生成和调用DLL动态链接库

    一.生成动态链接库: 1.打开VS2015->文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_ge ...

  6. vue中集成pdfjs自定义分页

    <template> <div id="div_read_area_scrool" class="no-scrollbar--x" :styl ...

  7. C#如何以管理员身份运行程序 转

    在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误. 比如在通过winform程序执行cmd命令时,某些情况 ...

  8. 防范 SQL 注入攻击

     防范 SQL 注入攻击 我们执行的 SQL语句中包含变量,执行的时候会直接把变量内容替换进去.而如果攻击者在输入框中输入一些危险的字符(通常包含 SQL 注释符 --,以及其他预先精心设置的内容), ...

  9. let,const,var

    1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + ...

  10. python学习,excel操作之xlrd模块常用操作

    import xlrd ##工作表## #打开excel f = xlrd.open_workbook("test.xlsx") file = f.sheet_by_name(&q ...