Android 10 设备唯一标识

  • Google 建议
    • Android Q 隐私权:数据和标识符变更
      https://developer.android.com/preview/privacy/data-identifiers
    • 如何获取
      从 Android Q 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包含 IMEI 和序列号)。
    • 如无权限
      • 如果应用以 Android Q 为目标平台,则会发生 SecurityException。
      • 如果应用以 Android 9(API 级别 28)或更低版本为目标平台,则相应方法会返回 null 或占位符数据(如果应用具有 READ_PHONE_STATE 权限)。否则,会发生 SecurityException。
    • Google推荐:唯一标识符最佳做法
      https://developer.android.com/training/articles/user-data-ids​
  • 移动安全联盟:移动智能终端补充设备标识服务
    由于国内行情不同,所以有自己的打法。这里也打算详细介绍一下相应内容。vivo提供文档:https://dev.vivo.com.cn/documentCenter/doc/253​
    • 缩写含义
      • UDID:设备唯一标识符
        设备唯一硬件标识,设备生产时根据特定的硬件信息生成,可用于设备的生产环境及合法性校验。
        • 在移动智能终端出厂后无法重置
      • OAID:匿名设备标识符
        可以连接所有应用数据的标识符,移动智能终端系统首次启动后立即生成,可用于广告业务。
        • 系统首次启动后生成
        • 用户可以关闭
        • 用户可以手动重置
        • 恢复出厂设置时重置
        • 可定期重置
      • VAID:开发者匿名设备标识符
        开放给开发者的设备标识符,可在应用安装时产生,可用于同一开发者不同的应用之间推荐。
        • 应用安装时重置
        • 恢复出厂设置重置
        • 定期重置
        • 用户不可关闭
      • AAID:应用匿名设备标识符
        第三方应用获取的匿名设备标识,可在应用安装时产生,可用户用户统计等。
        • 应用开发时生成
        • 应用只可以访问自己的匿名设备标识符
        • 应用重新安装时重置
        • 恢复出厂设置重置
        • 可定期重置
        • 点击清除数据重置
        • 用户不可关闭
    • 接入流程
      链接中:移动智能终端补充设备标识体系统一调用SDK开发者说明文档v1.8建议:参考demo中的helper​
    • 注意事项
      本次文章核心想表达的问题如下:​​
      • 由于异步获取原因,部分机型不能及时拿到ID,此时会发现会存在空白情况。
      • 由于厂商原因,非华为,小米,OPPO,VIVO,暂时无法获取到对应内容​​​,则使用Google推荐UUID.randomUUID().toString()

你可能感兴趣的:(Android 10 设备唯一标识)