Android_CN_OAID
Android_CN_OAID copied to clipboard
哪个方法最可靠
你好,最近项目需要获取唯一设备号,找了好多方法都不行,咱们这个里面哪个是最可靠的,不管是卸载重装还是什么情况,都是唯一不变的?多谢
感觉都不是特别可靠:
- IMEI:Android 10+ 获取不到了;
- AAID:系统需自带 Google Play Services 才支持,且用户可以在系统设置中重置;
- OAID:基本上是国内知名厂商 Android 10+ 才支持,且用户可以在系统设置中重置;
- AndroidID:可能为空;
- PseudoID:可能重复;
- GUID:Android 10+ 卸载APP后会丢失;
- WidevineID:未经过验证,不知道可靠性如何;
最好是通过服务端从以上标识中通过拜占庭容错方案得到可靠的设备唯一标识。不能使用服务端的话,综合来看 AndroidID 和 OAID 相对可靠一些吧,项目中我已经提供了一个getClientId
/getClientIdMd5
/getClientIdSha1
获取客户端唯一标识,依次获取IMEI、AndroidID、OAID、WidevineID、GUID……
你好,我们项目集成了安全联盟 获取OAID 的SDK,跟你们这个有冲突吗
你好,我们项目集成了安全联盟 获取OAID 的SDK,跟你们这个有冲突吗
从本库的4.0.0版本开始不会有冲突了
那集成您这个SDK 具体有什么优势
那集成您这个SDK 具体有什么优势
主要有两点优势:
- 开放源代码,无限制,对个人开发者来说更友好。
- 适配的机型更广泛,不过仍受限于厂商的支持情况。
实时获取和预获取,哪个方案更好点?有什么区别呢 ?
实时获取和预获取,哪个方案更好点?有什么区别呢 ?
这个要看应用场景来。
- 预获取只能按优先级获取能拿到的值,IMEI、AndroidID、OAID、WidevineID、GUID只会有其中一个,在整个APP生命周期内有效,多次调用都不会重新获取,具体方法是
getClientId
、getClientIdMD5
、getClientIdSHA1
; - 实时获取可以分别获取IMEI、AndroidID、OAID、WidevineID、GUID,每次调用都会重新获取,具体方法是
getIMEI
、getAndroidID
、getOAID
、getWidevineID
、getGUID
。
好的,多谢
你好,这里即初始化安全联盟的,又获取咱们的 OAID 有问题吗?会不会影响什么
你好,这里即初始化安全联盟的,又获取咱们的 OAID 有问题吗?会不会影响什么
需要实际测试,能拿到结果应该就没影响
能拿到,都是一样的结果
感觉都不是特别可靠:
- IMEI:Android 10+ 获取不到了;
- AAID:系统需自带 Google Play Services 才支持,且用户可以在系统设置中重置;
- OAID:基本上是国内知名厂商 Android 10+ 才支持,且用户可以在系统设置中重置;
- AndroidID:可能为空;
- PseudoID:可能重复;
- GUID:Android 10+ 卸载APP后会丢失;
- WidevineID:未经过验证,不知道可靠性如何;
最好是通过服务端从以上标识中通过拜占庭容错方案得到可靠的设备唯一标识。不能使用服务端的话,综合来看 AndroidID 和 OAID 相对可靠一些吧,项目中我已经提供了一个
getClientId
/getClientIdMd5
/getClientIdSha1
获取客户端唯一标识,依次获取IMEI、AndroidID、OAID、WidevineID、GUID……
拜占庭容错方案是不行的,要解决需要依赖机器学习算法和跨app的大量数据归因,才能解决海量ID下的碰撞和多发。