https://zhuanlan.zhihu.com/p/24161646

IDFA全称是identifier for advertisers,在了解IDFA之前,我们需要了解另一个概念,叫UDID。UDID是苹果设备设备的唯一设备识别符,早期的时候移动广告商往往需要通过UDID用来识别用户,并对用户活动进行跟踪,从而投放广告

在iOS应用早期,UDID被第三方应用开发者和网络广告商用来收集用户数据,可以用来关联地址、记录应用使用习惯……以便推送精准广告。不少用户也对此表示苹果侵犯消费者隐私,苹果为了保护用户隐私,早在2012年就不再允许其生态中的APP获取用户的唯一标识符,但是广告主希望在移动端打广告的时候又希望能监控到每一次广告投放的效果,因此,苹果想出了折中的办法,就是提供另外一套和硬件无关的标识符,用于给商家监测广告效果,同时用户可以在设置里改变这串字符,导致商家没有办法长期跟踪用户行为。这个就叫做广告标识符(IDFA),设置路径是“设置->隐私->广告->还原广告标识符”,这个IDFA是可以关闭和修改的,据某知名检测机构调研,在国内关闭这个功能的不足1%,一旦关闭,广告还能投放,但是没办法按照兴趣等属性去投放了

https://zhuanlan.zhihu.com/p/24637313

iOS设备有多少ID?

iOS设备ID有很多,通常用到的大概有以下六个,例如UDID、IMEI、ICCID、MEID、IDFA、MAC地址等,一台苹果手机的标识方式很多,不同标识方式又有不同的参数信息。

随着iOS系统的升级,很多设备ID苹果禁止开发者获取,或者给用户诸多人性选择空间。下面详细说说参数的定位及用途,其中最为大家关注的就是IDFA。

1.UDID

UDID(UniqueDevice Identifier)是苹果iOS设备的唯一识别码,由40个字符的字母和数字组成。移动广告商、游戏网络运营商或CP往往需要通过UDID用来识别玩家、用户,并对用户活动进行跟踪;也经常会用于一台设备一个账号功能实现。

iOS 6及以前系统是可以获取到设备的UDID,iOS 7中已经完全的禁用

2.IMEI

IMEI(International Mobile Equipment Identity)是国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台移动电设备一一对应,而且该码是全世界唯一的。每一只移动电话机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。

iOS 6及以后系统就不能正规获取IMEI,但可以通过私有API获取手机的IMEI号,一般苹果发现有通过私有API获取设备ID,上架时会予以拒绝。如果在线产品被发现会立马下架,2015年有米SDK下架风波就是因为通过私有API获取设备ID,触动了苹果的底线,导致一夜之间近300款应用被下架,其中不乏大产品。

3.MEID

MEID(Mobile Equipment Identifier)移动设备识别码,是CDMA手机的身份识别码,也是每台手机唯一的识别码。通过这个识别码,网络端可以对该手机进行跟踪和监管,适用于CDMA制式的手机。MEID的数字范围是十六进制,和IMEI的格式类似。

4.IDFA

IDFA(Identifier for Advertising)称为广告标示符,是苹果在iOS系统中给予App开发者用以标识iOS设备的一种身份参数。对广告主而言,IDFA最大的作用就是准确认识这个设备代表的用户,确认广告是否有效触达,避免将同一个广告重复投放造成预算浪费,同时进行真实性监测。而对整个广告行业来说,IDFA是形成数据链条的必须手段,广告网络、DSP和DMP都需要一个统一的设备数据身份核对标准。

不得不要说的一点,在iOS 10中,苹果将限制广告追踪的功能实质化。用户如果开启了限制广告跟踪功能(Limit Ad Tracking,简称LAT),App获取到的IDFA将是一串16位的0数值,这一举措意味着广告主将失去识别用户的能力。而在之前的版本中,如果用户打开了LAT,当App去获取时IDFA时,会被系统告知该用户开启了这个限制,但其实App依旧可以继续获取到真实的IDFA。

值得庆幸的是iOS 10的迭代率有近68%,但开启LAT的目前体量为15%左右,一般IDFA是专门给“广告用的”,而iPhone手机只要在出厂的时候没有关闭“广告追踪”,很少有用户会主动去设置关闭。

IDFA的更多相关文章

  1. 如何防止应用因获取IDFA被AppStore拒绝

    由于Appstore禁止不使用广告而采集IDFA的app上架,友盟提供IDFA版和不含IDFA版两个SDK,两个SDK在数据上并没有差异,采集IDFA是为了防止今后因为苹果可能禁止目前使用的openu ...

  2. 检查项目里是否有IDFA的方法

    检查项目里是否有IDFA的方法: 步骤:1.打开终端cd到要检查的文件的根目录. 2.执行下列语句:grep -r advertisingIdentifier . (别少了最后那个点号). 发现有ma ...

  3. iOS 被拒问题及原因 - IDFA问题

    IDFA问题 iOS APP上线被拒绝的问题解决(AdSupport),百度统计,友盟统计,讯飞语音等   苹果反馈信息如下: .... To process your delivery, the f ...

  4. 正在使用广告标识符 (IDFA)

    APP提交审核后,apple方面一直说我使用了IDFA,APP里没有集合任何广告SDK. 怀疑是其他第三方的SDK用了. 检测命令 //在项目的根目录下用终端执行 grep -r advertisin ...

  5. MAC、IDFA、IMEI正则表达式

    一.安卓: MAC:接入网络的设备的序号,唯一值.用 16 进制数表示,由 0-9,A-F 组成,如:44:2A:60:71:CC:82 Uuid 正则表达式: ^([0-9a-fA-F]{2})(( ...

  6. App Store idfa被拒检查办法

    最近应用因为这个问题被拒两次,理由如下: PLA 3.3.12We found your app uses the iOS Advertising Identifier but does not in ...

  7. IDFA问题,苹果上传问题。improper Advertising identifier [IDFA] Usage.

    原地址: 报告 improper Advertising identifier [IDFA] Usage. Your app contains the Advertising Identifier [ ...

  8. IDFA的值什么时候会发生改变

    在何种情况下 , 应用的IDFA值会发生改变? 近期工作中须要获得一个能够唯一地标示每个不同应用的ID,之前的苹果UDID已经不让使用了. 那么我们须要使用新的IDFA来引用.可是在某些情况下这个ID ...

  9. [iOS]iOS8可用的识别用户方式(idfa、UUID、idfv)

    本文地址:http://blog.csdn.net/zhaoyabei/article/details/46682765 想要追踪.统计用户,自然离不开用户唯一标识符.这是每一个公司都面临的问题.在历 ...

  10. iOS10收集IDFA,植入第三方广告[终结]--ADMob

    [PS: 前段时间,公司做ASO推广,需要在应用中收集IDFA值,跟广告平台做交互!于是有了这个需求--] 1.首先,考虑了一下情况(自己懒 -_-#),就直接在首页上写了一个Banner,循环加载广 ...

随机推荐

  1. 2018.11.06 洛谷P1941 飞扬的小鸟(背包)

    传送门 上升看成完全背包. 下降看成01背包. 注意边界转移就行了. 代码: #include<bits/stdc++.h> using namespace std; inline int ...

  2. IBM X3650 M3/M4的服务器装系统

    IBM X3650 M3/M4的服务器一般都有两块以上的硬盘.所以如果没有做RAID,那首先应该做好raid 磁盘阵列.本文装系统的前提是RAID已经做好. 一般安装系统的方式为先在IBM官网下载对应 ...

  3. 组合数C(n,m)的四种求解方法

    转自:文章 1.暴力求解 C(n,m)=n*(n-1)*...*(n-m+1)/m!,(n<=15): int CF(int n,int m) { ,i,j; ;i--) ans*=i; ;i- ...

  4. boost--function

    1.简介 function是一个模板类,它就像一个包装了函数指针或函数对象的容器(只有一个元素).可以把它想象成一个泛化的函数指针,而且他非常适合代替函数指针,存储用于回调的函数.如下定义了一个能够容 ...

  5. MySQL处理表字段小技巧

    MySQL利用正则函数替换值 update dateTest set date=REPLACE(date,'/','') where date REGEXP '\/'; SQL语句讲解: -- 将 所 ...

  6. redis 部分操作

    http://pan.baidu.com/s/1eRXdbUy  下载安装地址 打开一个cmd窗口,使用cd命令切换到指定目录(D:\ruanjian\redis\64bit)运行 redis-ser ...

  7. 解决linux系统CentOS下调整home和根分区大小

    目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root   1.首先查看磁盘使用情况 [root@localhost ~]# df -h 文件系统 ...

  8. IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 (二)

    第二部分 邮件发送历史   一.第一封邮件   1.1969年10月,世界上的第一封电子邮件    1969年10月世界上的第一封电子邮件是由计算机科学家Leonard K.教授发给他的同事的一条简短 ...

  9. eclipse 创建servlet 出现继承 HttpServlet 报红线

    eclipse创建servlet出现红线: 解决方案1,鼠标右键项目 -> 鼠标右击项目——>Build Path——> 点击comfigure Build Path进入-----& ...

  10. Effective C++ 随笔(5)

    条款27:尽量稍作转型动作 const_cast:常量性移除 dynamic_cast:安全向下转型 reinterpret_cast: static_cast: 如在子类当中享调用父类当中的某个方法 ...