gzu-liyujiang / Android_CN_OAID

安卓设备唯一标识解决方案,可替代移动安全联盟(MSA)统一 SDK 闭源方案。包括国内手机厂商的开放匿名标识(OAID)、海外手机平台的安卓广告标识(AAID),另外也提供了 IMEI/MEID、AndroidID、WidevineID、PseudoID、GUID 等常见的设备标识的获取方法。

Home Page:https://gzu-liyujiang.github.io/Android_CN_OAID/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

升级sdk版本后oaid的值变了

developerzjy opened this issue · comments

您好,升级sdk 后,获取到的oaid值变了,
1.sdk版本信息
升级前的版本4.2.4, 升级后的版本4.2.9

2.手机型号
荣耀手机
截图-系统参数界面

3.升级前后获取到的oaid和系统截图
升级sdk前获取到的oaid是:6107d0f4-efe1-49ee-973c-470bc209cea8 (和系统显示的不一致)
升级sdk后获取到的oaid是: 0eca018e-c687-4e59-9100-2e4fdab3ff8a (和系统显示的一致)

手机系统中显示的oaid截图:
截图-广告标识界面

4.其他补充信息
我们项目同时使用了msa的sdk,mas获取到的oaid也是6107d0f4-efe1-49ee-973c-470bc209cea8,msa和系统中显示的不一致,mas和升级前的Android_CN_OAID sdk获取到的一致,

这个是策略控制问题,升级前荣耀手机用的是华为oaid,升级后荣耀手机优先用荣耀自己的oaid,没有的话才用华为的oaid

因为前段时间介入了荣耀的SDK,荣耀手机能获取到两个oaid

这个应该要改下这个库的代码,新增配置策略,针对荣耀手机是优先用哪哈oaid

这个应该要改下这个库的代码,新增配置策略,针对荣耀手机是优先用哪哈oaid

如何配置呢?

这个应该要改下这个库的代码,新增配置策略,针对荣耀手机是优先用哪哈oaid

如何配置呢?

要改源代码,具体实现在 OAIDFactory.java 的 75-84行:

        if (OAIDRom.isHonor()) {
            HonorImpl honor = new HonorImpl(context);
            if (honor.supported()) {
                // 支持的话(Magic UI 4.0,5.0,6.0及MagicOS 7.0或以上)直接使用荣耀的实现,否则尝试华为的实现
                return honor;
            }
        }
        if (OAIDRom.isHuawei() || OAIDRom.isEmui()) {
            return new HuaweiImpl(context);
        }

这个应该要改下这个库的代码,新增配置策略,针对荣耀手机是优先用哪哈oaid

如何配置呢?

要改源代码,具体实现在 OAIDFactory.java 的 75-84行:

        if (OAIDRom.isHonor()) {
            HonorImpl honor = new HonorImpl(context);
            if (honor.supported()) {
                // 支持的话(Magic UI 4.0,5.0,6.0及MagicOS 7.0或以上)直接使用荣耀的实现,否则尝试华为的实现
                return honor;
            }
        }
        if (OAIDRom.isHuawei() || OAIDRom.isEmui()) {
            return new HuaweiImpl(context);
        }

这个问题需要我们自己来改吗,可否大佬对外提供一个方法出来,我们直接调该方法来决定使用哪个策略