首页 > 编程知识 正文

Android 10适用于开放国内各大手机厂商的匿名设备识别(OAID)。如果不支持OAID,将随机生成一个全局唯一标识(GUID)。

时间:2023-05-06 14:46:46 阅读:282476 作者:1579

源码见:https://github.com/gzu-liyujiang/Android_CN_OAID

 本项目用于获取国内各大Android手机厂商的开放匿名设备标识(OAID)、遵循谷歌官方使用Android标识符的最佳做法生成全局唯一标识(GUID),基于Get_Oaid_CNAdid作了重构,使用AIDL,增强易用性及健壮性。

DeviceID.with(this).doGet(new IGetter() { @Override public void onDeviceIdGetComplete(@NonNull String deviceId) { } @Override public void onDeviceIdGetError(@NonNull Exception exception) { } });

背景 国家政策

随着人工智能的发展,数据的价值逐渐增加,国家对用户隐私安全保护的要求越来越高。为解决移动互联网环境下涉及个人隐私的设备标识滥用问题,并在商业价值和隐私保护合规中找到平衡,2019年7月,中国信息通信研究院泰尔终端实验室携手行业终端厂商共同建立《移动智能终端补充设备标识规范》,进一步完善智能终端领域用户隐私安全保护体系。

Android Q( Android 10)

Android Q(Android 10),禁止第三方应用读取设备唯一标识(IMEI,MAC等)。

欧洲GDPR

2018年5月25日,欧洲联盟出台《通用数据保护条例》(General Data Protection Regulation,简称GDPR),在相关权威的释法解读中,设备ID(IMEI等)被定义为个人数据。

OAID

OAID 即 Open Anonymous Device Identifier,开放匿名设备标识符,根据该联盟公布在网上的《移动智能终端补充设备标识规范》“旨在规范移动智能终端补充设备标识体系的体系架构、功能要求、接口要求以及安全要求。 规范设备生产企业遵循标准要求开发统一接口调用方式,方便移动应用接入、减小维护成本”。因此该联盟及者联盟单位必须将统一的 OAID 调用方式公布出来,这也是“中华人民共和国标准化法”的法律要求。事实上,除非是企业内部标准,其他标准都必须公开。

根据标准法的第二十二条:

制定标准应当有利于科学合理利用资源,推广科学技术成果,增强产品的安全性、通用性、可替换性,提高经济效益、社会效益、生态效益,做到技术上先进、经济上合理。 禁止利用标准实施妨碍商品、服务自由流通等排除、限制市场竞争的行为。

匿名设备标识符特性

发生下述事件时,OAID(匿名设备标识符)重置:

(1) 用户在系统设置中手动重置,匿名设备标识符将重置;(2) 移动智能终端恢复出厂设置时,匿名设备标识符将重置;(3) 匿名设备标识符自身可定期重置。 重置后生成新的匿名设备标识符,且应用只能获取新的匿名设备标识符。

匿名设备标识符的开启关闭受控机制 移动智能终端应提供匿名设备标识符的开启关闭受控机制,用户可以选择在系统设置中关闭匿名设备标识符。关闭后,应用获取到的匿名设备标识符的返回值为 NO。

**请注意:**OAID 与IMEI 不同,IMEI 为设备标识,对于相同设备在不被篡改时,不发生变化。OAID 为广告标识,同一台设备在不同时间内,可以拥有不同的的 OAID。

支持OAID的厂商及其系统版本 厂商版本小米MIUI10.2 及以上vivoFuntouchOS 9 及以上华为全版本OPPOColor OS 7.0 及以上LenovoZUI 11.4 及以上华硕Android 10 版本魅族Android 10 版本三星Android 10 版本努比亚Android 10 版本中兴Android 10 版本一加Android 10 版本Freeme OSAndroid 10 版本Ssui OSAndroid 10 版本使用标识符的最佳做法

参阅谷歌官方文档:https://developer.android.google.cn/training/articles/user-data-ids 。在使用 Android 标识符时,请遵循以下最佳做法:

避免使用硬件标识符。 在大多数用例中,您可以避免使用硬件标识符,例如 SSAID (Android ID) 和 IMEI,而不会限制所需的功能。自 Android 10(API 级别 29)起,您的应用必须是设备或个人资料所有者应用,具有特殊运营商许可,或具有 READ_PRIVILEGED_PHONE_STATE 特权,才能访问不可重置的设备标识符。只针对用户分析或广告用例使用广告 ID。 在使用广告 ID 时,请始终遵循用户关于广告跟踪的选择。此外,请确保标识符无法关联到个人身份信息 (PII),并避免桥接广告 ID 重置。尽一切可能针对防欺诈支付和电话以外的所有其他用例使用实例 ID 或私密存储的 GUID。 对于绝大多数非广告用例,使用实例 ID 或 GUID 应该足矣。使用适合您的用例的 API 以尽量降低隐私权风险。 使用 DRM API 保护重要内容,并使用 SafetyNet API 防止滥用行为。SafetyNet API 是能够确定设备真伪而不会招致隐私权风险的最简单方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。