OAIDHelper

OAID 作为广告标识符,在OAID_SDK_1.0.25版本及以前支持直接使用,但1.0.25版本支持的设备覆盖不够全面,1.0.26版本及以后需要根据应用包名申请证书文件,且需要企业认证才可以申请账号。
企业用户需要通过MSA官网申请账号和证书,使用官方SDK接入。
个人开发者可以尝试使用本工程获取设备的OAID
OAID-SDK 各版本文档与 AAR 见 OAIDViewer


引入

增加仓库

repositories {
    // ...
    maven { url 'https://jitpack.io' }
}

增加依赖

rependencies {
    implementation 'com.github.MaYiFei1995:OAIDHelper:1.1.0'
}

注意

AGP4.0 以下版本会无法识别 AndroidManifest 中的<queries>标签,建议升级版本。

也可以参照Android_CN_OAID_ISSUES_26,在 AndroidManifest 中增加 <queries tools:node="remove" />

使用

说明

public class OAIDHelper {
    
    /**
     * 返回单例
     */
    public static OAIDHelper get();

    /**
     * 是否优先使用OAID-SDK获取OAID
     * 需要调用 {@link #init(Application, InitListener)} 方法前配置
     *
     * isUseSdk == true 时,会尝试通过SDK接口获取,返回失败后再尝试调用系统方法获取
     * 且当SDK版本大于1.0.25时,要确保调用初始化前已按照文档配置证书文件
     * isUseSdk == false 时,直接尝试调用系统方法获取
     *
     * @param isUseSdk 默认使用
     */
    public OAIDHelper useSdk(boolean isUseSdk);

    /**
     * 初始化
     */
    public void init(@NonNull Application application, @Nullable InitListener initListener);

    /**
     * 获取OAID,可能为空,不会根据初始化结果重复获取
     */
    @Nullable
    public String getOaid();

}
/**
 * 初始化回调
 */
public interface InitListener {

    /**
     * 初始化成功,已获取到OAID,可能为空
     * 返回为空时,可以根据需求使用其他信息替代
     */
    void onSuccess(@Nullable String oaid);

    /**
     * 初始化失败,无法获取OAID
     *
     * @param error 错误信息,见 errMsg
     */
    void onFailure(@NonNull OAIDError error);

}

Demo

AndroidId等获取见app/MainActivity

    OAIDHelper.get().useSdk(false).init(application, object : OAIDHelper.InitListener {

        override fun onSuccess(oaid: String?) {
            Log.e("Mai", "on init oaid success: $oaid")
        }

        override fun onFailure(error: OAIDError?) {
            Log.e("Mai", "on init oaid error: $error")
        }

    })

感谢

原文地址:http://www.cnblogs.com/maiiiii/p/16821448.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性