-
-
Notifications
You must be signed in to change notification settings - Fork 353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于尝试移动安全联盟的接口去获取的判断问题 #47
Comments
因为获取OAID是通过手机ROM自带的一个Service,也就是“com.mdid.msa.service.MsaIdService”,如果手机上没有“com.mdid.msa”包,那就说明不存在“MsaIdService”,自然也就不支持获取OAID,这和“oaid_1.0.25”这个SDK是无关的。 相当于“com.mdid.msa”是服务端,“oaid_1.0.25”是客户端,没有运行服务端,客户端是获取不到的。 |
原来是这样,感谢回复。试了国内大部分机型貌似都不支持这个 |
国内的那几大手机厂商,要android10+才支持 |
我这集成 “oaid_1.0.25”,通过调用接口,是可以获取到服务的,但是没有 你说的,“com.mdid.msa”是服务端。就是没有这个包,这怎么解释呢?它生存的oaid不靠谱吗?我试过卸载重装,生成的oaid数据,还是一致的,没有变化。 |
最初是参考北京数字联盟公开的代码,后来反编译参考了一些其他SDK:https://github.com/shuzilm-open-source/Get_Oaid_CNAdid |
生成的问题不大吧,自己生成我倒是写了个getGUID,不过这个GUID在Android10+APP卸载后会被清掉,需要结合服务端来配合硬件信息识别。 |
就是没有这个包,“com.mdid.msa”, |
OAID目前肯定是适配不了所有机型的,旧版手机及有些小众手机厂商并不支持。如果对唯一ID的稳定性、可靠性要求很高,比较好的解决办法是结合服务端,把所有可能采集到的ID都采集存到服务端,由服务判别下发唯一ID,具体可以参考这位兄弟的思路:https://github.com/BillyWei01/Udid 。 |
嗯,这个我之前也看过了,通过上传是一个思路,但是实际上,这也是没有用的。都区分不出来了,上传上去,服务端也无法下发。主要是方案上面都是可能存在相同的案例。所以,oaid获取不到,不敢使用其他方式生成的id,稳定和唯一,不共存吧。获取不到,使用随机码生成,反而是最靠谱的。 |
我之前的项目使用是,优先使用OAID和IMEI,这两个获取不到的话就使用自己生成的GUID。 |
嗯,感谢。 |
class MsaImpl implements IOAID {
private final Context context;
这里为何是判断是否存在包"com.mdid.msa",我往demo加了个oaid_1.0.25版本,试了几部手机都是返回不支持。
The text was updated successfully, but these errors were encountered: