之前运用比较广泛的Android & iOS 设备唯一标识方案就是OpenUDID, Android & iOS 端都有相关实现, 但是这两个项目目前都已经是DEPRECATED状态了. 这主要是由于 Android & iOS 系统升级导致原有方案已经无法适用了. 以 Android O 为例, 对于ANDROID_ID 的定义如下:
原文链接: Changes to Device Identifiers in Android O
从上文可知, 不同用户不同App获取到的ANDROID_ID都是不同的, 而包名和签名相同时, 该值是不会变的. 而这点是和原有OpenUDID方案冲突的: 所有使用OpenUDID方案的App都共享一个ID, 并且所有App都会持有这个ID的一个备份, 而这个ID正是读取的ANDROID_ID(有时是通过UDID产生的).
Android OpenUDID 开源项目: github: vieux/OpenUDID
以上.
目前还有哪些可用的设备唯一标识方案?
p.s. iOS 目前可用方案 github: fabiocaccamo/FCUUID
https://developer.android.com...
谷歌官方有最佳实践的说明,不过现状基本就是题主说的这样了