Android OAID技术是什么

OAID 移动安全联盟(该联盟为中国信息通信研究院下属电信终端产业协会的下属联盟组织)联合终端厂商推出的团体标准。

OAID:Open Anonymous Device Identifier 开放匿名设备标识符

根据该联盟公布在网上的《移动智能终端补充设备标识规范》文本“本规范旨在规范移动智能终端补充设备标识体系的体系架构、功能要求、接口要求以及安全要求。 规范设备生产企业遵循标准要求开发统一接口调用方式,方便移动应用接入、减小维护成本”

支持厂商

想要实现设备唯一,必须是由厂商支持,所以移动安全联盟的成员和专注于中国市场的厂商会率先支持(我使用的一加截止2020.5.6没有支持),华为、小米、OPPO、vivo、中兴、努比亚、魅族、联想、三星等设备厂商均将逐步支持(一些老的设备且没有经过系统更新的不支持)。

设备标识

虽然一直提到的都是OAID,其实该体系拥有了四种设备标识,如下图所示:

使用API

通过集成http://www.msa-alliance.cn/col.jsp?id=120 提供的SDK,调用接口获取

存储体系

什么样的技术背景出现

1 IMEI获取用户授权率低,目前手机系统会弹窗提醒用户是否读取IMEI数据,大部分用户会选择不允许,这样导致广告主无法统计到用户激活数据

2 缺乏统一的计数采集标准

从目前的商业化推广角度来看,需要制定统一计算采集标准,CP设定打卡机制,手机厂商支持该数据的提取,维护商业化系统的有序运转

3 隐私保护要求

欧盟GDPR、我国《网安法》等相关法律法规对个人保护的要求越来越高,IMEI码等已经被认定用户的隐私的一部分

4 现有体系无法满足

在生产、售后、报关、政府抽检等场景,IMEI被篡改,冒用的情况时有发生,用于设备骗保、以旧换新,不法分子躲避风控,进行走私等

5 现有设备标识缺乏匿名化防护

设备标识缺乏匿名化防护,可以利用设备标识符讲不同App收集的信息进行关联,对用户进行精准画像,可以准确到用户的年龄段、职业、收入、学历等,造成公民信息泄露。

在此之前,获得设备唯一码

Android中设备唯一码有很多,如:MAC地址、IMEI号(DeviceId)、IMSI号、ANDROID_ID、序列号(SerialNumber)等,

1 MAC地址

缺点:

在当前没打开WiFi的情况下获取得到的MAC地址值为空,即使在执行这段代码前是有打开过WiFi,而执行这段代码时WiFi状态是关闭的,也不能获取到MAC地址

2 IMEI号 IMSI号

缺点:

IMEI号(国际移动设备身份码)、IMSI号(国际移动设备识别码)这两个是有电话功能的移动设备才具有,也就是说某些没有电话功能的平板是获取不到IMEI和IMSI号的。且在某些设备上getDeviceId()会返回垃圾数据。

IMEI未来会禁止开发者获取

3 ANDROID_ID

缺点:

①.设备刷机wipe数据或恢复出厂设置时ANDROID_ID值会被重置。

②.现在网上已有修改设备ANDROID_ID值的APP应用。

③.某些厂商定制的系统可能会导致不同的设备产生相同的ANDROID_ID。

④.某些厂商定制的系统可能导致设备返回ANDROID_ID值为空。

⑤.CDMA设备,ANDROID_ID和DeviceId返回的值相同

4 序列号(SerialNumber)

但并不是所有设备上都能稳定获取到这些值

缺点:

在某些设备上此方法会返回垃圾数据。

另外谷歌也提供获取“官方”唯一标识符的方法

https://developer.android.com/training/articles/user-data-ids#java

华为如何使用这个技术

华为开发网站实例如下:https://developer.huawei.com/consumer/cn/codelab/HMSAdsOAID/index.html#0

开发者通过HMS集成com.huawei.hms:ads-identifier的广告能力,通过HMS开发的接口,获取 OAID参数获取结果如下

面向开发者的开放能力:

开发者可基于OAID,向用户提供个性化的营销活动或商业广告,提升转化效果,过程如下:
1.开发者APP可调用华为广告服务(Huawei Ads)的接口,获得OAID和"限制个性化广告"开关状态。
2.开发者APP请求广告时,如果用户未启用"限制个性化广告",可根据OAID构建的细分人群,进行个性化的营销活动和商业广告推荐。
3.开发者APP向用户展示广告,当广告被用户点击后,开发者APP可从应用市场下载、安装被推广的APP。
4.开发者APP在曝光、点击、下载等事件中,携带OAID,用于平台对营销活动或商业广告的效果进行跟踪和分析。

iOS如何解决这个问题

iOS硬件、软件、生态全部由apple一家控制,所以较早的解决了这个问题。

从IOS5.0(2011年8月份)开始,苹果宣布将不再支持用uniqueIdentifier方法获取设备的UDID,iOS5以下是可以用的。苹果从iOS5开始就移除了通过代码访问UDID的权限。从2013年5月1日起,试图访问UIDIDs的程序将不再被审核通过,

iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备的序列号,这个也是目前为止唯一可以确认唯一的标示符。 许多开发者把UDID跟用户的真实姓名、密码、住址、其它数据关联起来;网络窥探者会从多个应用收集这些数据,然后顺藤摸瓜得到这个人的许多隐私数据。

广告标示符(IDFA-identifierForIdentifier)

广告标示符,在同一个设备上的所有App都会取到相同的值,是苹果专门给各广告提供商用来追踪用户而设的。但好在Apple默认是允许追踪的,而且一般用户都不知道有这么个设置,所以基本上用来监测推广效果,是戳戳有余了。

它是iOS 6中另外一个新的方法,提供了一个方法advertisingIdentifier,通过调用该方法会返回一个NSUUID实例,最后可以获得一个UUID,由系统存储着的。

#import <AdSupport/AdSupport.h>
NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

不过即使这是由系统存储的,但是有几种情况下,会重新生成广告标示符。
(1)如果用户完全重置系统((设置程序 -> 通用 -> 还原 -> 还原位置与隐私) ,这个广告标示符会重新生成。
(2)另外如果用户明确的还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符) ,那么广告标示符也会重新生成。

对移动发展广告有何影响

进一步促进广告产业的健康良性发展。

术语和定义:

英文缩写    中文名称    英文全称    长度
IMEI    国际移动设备识别码    International Mobile Equipment Identity    15~17位
UDID    设备唯一标识符    Unique Device Identifier    最长64位
OAID    匿名设备标识符    Open Anonymous Device Identifier    最长64位
VAID    开发者匿名设备标识符    Vender Anonymous Device Identifier    最长64位
AAID    应用匿名设备标识符    Application Anonymous Device Identifier    最长64位

Android OAID 深度探究相关推荐

  1. android平板 深度学习,这款叫Remix的设备,或许可以拯救安卓平板

    (图片来自于魏布斯评测视频"Remix平板上手使用体验") 现今平板市场,已呈现出苹果谷歌微软三分天下之势. 然而,相较于其他两者,安卓平板却并面临着严重的危机,即便自2013年第 ...

  2. 视频教程-Android驱动深度开发视频教程-驱动/内核开发

    Android驱动深度开发视频教程 2003 年毕业于中国科学技术大学,电子专业.软件专业双学位.近10年嵌入式开发经验,曾ZTE公司负责Linux底层系统开发. 近5年作为特聘讲师在若干个有名的培训 ...

  3. 【深度探究css】--- vertical-align

    提醒:内容与图片较多...... 前言:由于vertical-align这个属性w3c似乎也并没有给出比较完整的对齐规则,只是对各个值的解释(或者我的姿势不对???????).所以下面使用大量的测试去 ...

  4. CVPR2018 | R(2+1)D结构:视频动作识别中的时空卷积深度探究

    本文 是C3D作者Du Tran+IDT作者Heng Wang发表在CVPR2018的新作.来自Facebook Resaerch &Dartmouth Colledge.文章主要对是动作识别 ...

  5. 基于android p深度定制的miui,Redmi K30 Pro推送MIUI 12.2.1稳定版:基于Android 11深度定制...

    今日,Redmi K30 Pro 推送了 MIUI 12.2.1 稳定版内测更新.新系统基于 Android 11 深度定制,更新了 2020 年 10 月谷歌安全补丁.需要注意的是,本次更新为安卓跨 ...

  6. 心智模型学习:深度探究用户需求的why

    心智模型学习:深度探究用户需求的why 最近看到一种用户研究的方法叫"攀梯术",很有启发,原文比较理论,我试着翻译一下.它主要用在一对一深访的场景下,可以探究用户对产品功能/特性的 ...

  7. 《Android深度探究HAL与驱动开发》学习笔记----第五章

    第五章 搭建S3C6410开发板的测试环境 开发板是开发和学习嵌入式技术的主要硬件设备. 主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器 ...

  8. android digest 认证,探究 Android 签名机制和原理

    背景 最近在调研一个测试工具的使用,在使用中发现被测试工具处理过的apk文件经安装后打开就会崩溃,分析崩溃日志后原因是签名不一致导致的. 说到Android中的签名,可能大家都知道签名的目的就是为了保 ...

  9. android webview 深度链接,Deeplink(深度链接)是什么?如何做到高效场景还原

    移动互联网时代,信息的分享传播无疑是 App 引流增长的关键,与其花费大量精力和成本找渠道.硬推广,不如从细节下手,用最快最简便的方法实现 Deeplink(深度链接)技术,打破信息孤岛.缩短分享路径 ...

最新文章

  1. 商品列表选择尺寸和颜色高亮,并且把选择的数据传递到下一个页面
  2. win七系统如何卸载MySQL_win7系统卸载SQL2008R2数据库的详细教程
  3. 攻防世界-Misc-stegano(巨详细.零基础)
  4. 读取CRM 产品主数据所有属性的API
  5. Codeforces Round #759 (Div. 2, based on Technocup 2022 Elimination Round 3)
  6. leetcode1437. 是否所有 1 都至少相隔 k 个元素
  7. android 调用restful,android调用springmvc写的restful
  8. 使用计算机系统管理商品存货,ERP管理系统中编码的意义
  9. android wifi智能车,STM32智能WiFi视频小车全套资料(带安卓app与stm32源码等)
  10. GRE零基础50-60天出分随感--V159 Q170
  11. DataFormatString格式字符串
  12. 网络安全实验室--基础关
  13. 计算机频繁开机是什么原因,电脑频繁自动重启什么原因
  14. 计算机五笔打字口诀,电脑五笔打字的字根口诀是什么?
  15. Gym 100781A Adjoin the Networks——树的直径
  16. SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了
  17. 我的学习工作经历,一个园林专业中专毕业生的IT之路 学习编程 创业
  18. web scraper翻页功能的实现
  19. 你真的会用区块链赚钱吗?论区块链的商业思维
  20. 计算机怎样去掉语音,如何关闭word语音识别 (数据丢失 - 电脑使用小技巧 - 电子发烧友网...

热门文章

  1. psd缩略图生成上传解决方案
  2. android一键换机功能实现,不同品牌手机一键换机教程
  3. 什么是脏读、幻读、不可重复读?要怎么处理?
  4. 谁还需要监控探头?eeGeo让老板知道你这一整天去了哪
  5. Oracle AWR报告生成步骤
  6. Android MVP架构模式
  7. 4位BCD计数器Verillog简便代码-无需例化子模块
  8. simulink 风火水机组二次调频,三机九节点模型风机水轮机火电汽轮机共同参与系统的二次调频IEEE9节点系统
  9. ADI Blackfin DSP处理器-BF533的开发详解22:SD卡的设计和实现原理及应用(含源码)
  10. OpenAI的模型下载(chatGPT模型)