请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10|回复: 0

android获取设备唯一ID(优化方案)

[复制链接]

8595

主题

8602

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
26337
发表于 2021-1-12 00:33:30 | 显示全部楼层 |阅读模式
  迩来,因公司产物及客户须要,指点让我推敲免存储筑造ID,以及给出一个筑造ID最佳的计划(可与存储相贯串)。正在推敲过浏览器的fingerprient2js后,颇有心得,而且看网上坊镳木有圆满的管理计划,于是写了这篇著作,仅供须要的拓荒者参考。(该算法暂未举行验证,这里先给出一个jar包,后期我会正在SDK中到场侦察接口,分两个jar包(测试版和正式版),生机拓荒者能赞成测试版,巩固后行使正式版。)
  正在产物中,起首一定要尽量避免权限,其次商量卸载APP后ID不相同的题目,再便是尽量贯串存储,消重卸载或重装app时,筑造ID蜕变的概率。结尾,策画出合理计划,对形成晦气的要素进队伍举。
  什么是android_id呢?当筑造正在第一次启动时,体系会随机爆发一个64位的数字,然后以16进制的形态保留正在筑造上,且API供给了获取这一参数的本事:
  so,固然我没有效几百台手机测试,也能明晰这个值有时期是无效的,说的这么隐约。
  也是正在JavaScript才接触到这个单词”fingerprint“,这个词也很灵动,旨趣是能或者的标识一个筑造,像指纹相似,但不袪除反复的不妨性。
  外面上讲用这个属性是能够标识一个筑造的,可是实在并不是,两台一摸相似的新手机,这个值类似的不妨性是良众的。为了加倍进一步的正确,后面还会先容几个属性,并把几个属性贯串正在一齐,天生一个贴近100%的UUID。
  D.android体系供给了获取android体系版本号,分娩厂商,固件版本推出功夫的API.
  F.android体系供给了目今android筑造的修订版本列外,显示屏,主板等等参数。
  正在不须要用户权限的条件下,网上最圆满的计划是将android_id和硬件序列号,倘若此中轻易一种失效就行使此外一种。受FingerPrint2js的开导,我看了Android获取体系硬件联系的API,将总共不常常改观且能代外必然用户群体的属性都取出来举行MD5运算,包括但不限于按照中所述的消息。确切性还需进一步验证,但外面上要比FingerPrint2js确切性高,也正在网上给出的斗劲好的计划根本进取一步缩小了FP不妨反复的概率。
  3.封装成jar,只给用户暴显示获取ID的接口、转达自界说消息修筑FP的接口以登第一次安置功夫戳的接口(或筑树标签移用的接口)
  纯朴对付FP而言,有两个合键题目须要管理,一是FP反复的题目,类似筑设的新筑造反复不妨性极大,增加给FP奉献的要素的数目,能够有用消重反复率。二是FP蜕变的题目,奉献FP的天生要素的此中一个倘若蜕变,FP就会蜕变。因此倘若FP的奉献要素数目过众,导致FP蜕变的概率也就变大,因此说客户要正在两者之间做一个很好的均衡。
  为android FP做奉献的各筑设参数:(示例以6.0的华为荣誉8为例)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表