0
点赞
收藏
分享

微信扫一扫

Android用户设备唯一标识老用户识别方案

独西楼Q 2022-04-29 阅读 50
androidjava

Android用户设备唯一标识

方案

方案1:UUID + SharePreference(存取)

APP首次使用时,创建UUID,并保存到SharePreference中。
以后再次使用时,直接从SharePreference取出来即可;
优点:数据唯一、不需要权限;
缺点:会随APP一起删除,即:重新安装APP,DeviceId值会改变(新UUID);

方案2:UUID + SD卡(存取)

APP首次使用时,创建UUID,并保存到SD卡中。
以后再次使用时,直接从SD卡取出来即可;
很多APP就是这么做的;
 优点:数据唯一、不随APP一起删除;
缺点:需要SD卡读写权限;防不住用户手动删除SD卡的文件;

方案3:imei + android_id + serial + 硬件uuid(自生成) 推荐

不依赖随机的UUID,咱们根据硬件标识来创建唯一的数据;
 我们可以将多个可获得的硬件标识拼接起来(尽可能不依赖权限),最大程度上降低重复性。
以imei、android_id、serial为例,如果能取到值,每个数据几乎可以代表唯一。
如果这些数据都能获取到,拼起来的数据重复性降到极低(UUID也存在重复性,重复性极低而已)最后统一md5加密成32位字符。
AndroidId : 如:df176fbb152ddce,无需权限,极个别设备获取不到数据或得到错误数据,

serial:如:LKX7N18328000931,无需权限,极个别设备获取不到数据;

IMEI : 如:23b12e30ec8a2f17,需要权限;

Mac: 如:6e:a5:....需要权限,高版本手机获得数据均为 02:00.....(不可使用)

Build.BOARD  如:BLA  主板名称,无需权限,同型号设备相同

Build.BRAND  如:HUAWEI  厂商名称,无需权限,同型号设备相同

Build.HARDWARE  如:kirin970  硬件名称,无需权限,同型号设备相同

Build......更多硬件信息,略

方案4、借助其他id与后台建议映射表关系

OAID:OAID字段是由中国信通院联合华为、小米、OPPO、VIVO等厂商共同推出的设备识别字段,具有一定的权威性,可满足用户行为统计的使用场景

GAID:Google 广告id 海外设备才有,高版本设备可关闭。

adjustID:第三方adjust id

账号id(bid):登录账号id(google、Facebook、微信、qq等或自定义)

 td {white-space:pre-wrap;border:1px solid #dee0e3;}OAID支持厂商小米(Xiaomi)MIUI 10.2 及以上黑鲨(BlackShark)MIUI 10.2 及以上维沃(VIVO)Funtouch OS 9 及以上华为(Huawei)HMS 2.6.2 及以上欧珀(OPPO)Color OS 7.0 及以上联想(Lenovo)ZUI 11.4 及以上摩托罗拉(Motorola)ZUI 11.4 及以上华硕(ASUS)Android 10 及以上魅族(Meizu)Android 10 及以上三星(Samsung)Android 10 及以上努比亚(Nubia)Android 10 及以上一加(OnePlus)Android 10 及以上中兴(ZTE)Android 10 及以上卓易(Freeme OS)Android 10 及以上

举报

相关推荐

0 条评论