|
开发ID,简易来说便是一串符号(或者数字),映照实际中硬件开发。借使这些符号和开发是逐一对应的,可称之为“独一开发ID(Unique Device Identifier)”
不幸的是,关于Android平台而言,没有安闲的API能够闪开发者获取到如许的开发ID。
开垦者一般会碰到如许的逆境:跟着项宗旨演进, 越来越众的地方需求用到开发ID;然而跟着Android版本的升级,获取开发ID却越来越难了。
加上Android平台碎片化的题目,获取开发ID之道,能够说是行动维艰。
IMEI本该最理念的开发ID,具备独一性,规复出厂设立不会改观(真正的开发相干),可通过拨打*#06#盘查手机的imei码。
然而,获取IMEI需求READ_PHONE_STATE权限,猜想行家也晓得这个权限有众困难了。
更加是Android 6.0自此, 这类权限要动态申请,许众用户或者会采选拒绝授权。咱们看到,有的APP不授权这个权限就无法操纵, 这或者会低重用户对APP的好感度。
况且,Android 10.0 将彻底禁止第三方行使获取开发的IMEI(假使申请了 READ_PHONE_STATE 权限)。于是,借使是新APP,不提议用IMEI行为开发标识;
借使依然用IMEI行为标识,要即速做兼容管事了,更加是做新开发标识和IMEI的映照。
借使厂商比力类型的话,开发序列号+Build.MANUFACTURER该当能独一标识开发。但实际是并非一齐厂商都按类型来,更加是早期的开发。
公共android开发都有wifi模块,所以,wifi模块的MAC所在就能够行为开发标识。基于隐私商量,官方不提议获取
Android ID 是获取门槛最低的,不需求任何权限,64bit 的取值畛域,独一性算是很好的了。
关于升级到8.0之前装配的行使,ANDROID_ID会依旧褂讪。借使卸载后从头装配的话,ANDROID_ID将会更动。
关于装配正在8.0体例的行使来说,ANDROID_ID遵循行使具名和用户的差异而差异。ANDROID_ID的独一断定于行使具名、用户和开发三者的组合。
第一,借使用户装配APP开发是8.0以下,自后卸载了,升级到8.0之后又重装了行使,Android ID不雷同;
此中第二点或者关于广告同盟之类的有所影响(借使互相是用Android ID比较数据的话),于是Google文档中说“请操纵Advertising ID”,
对Android ID做了束缚,对隐私保卫起到必然感化,而且用来做APP我方的灵活统计也依旧没有题目的。
|
|