移动安全联盟OAID SDK 集成

Android 项目中集成OAID SDK集成

注意:本文章分两个SDK版本,即:msa_mdid_1.0.13.jar(旧)和  oaid_sdk_1.0.22.aar(新,更新时间:20200710),我把它们分别叫做版本2(旧),版本1(新)。

最近新项目又要接入oaid,它的官网SDK已经更新新版本:oaid_sdk_1.0.22.aar,我就在原文章基础之上写版本1的接入的过程

大家可以直接接版本1(新 oaid_sdk_1.0.22.aar)即可。当然也可根据以下移动安全联盟的官网去查看是否有最新版

移动安全联盟的网址:

http://www.msa-alliance.cn/col.jsp?id=120

下载相关的移动安全联盟SDK,需要注册账号且需要审核,便于你们的接入我把SDK(oaid_sdk_1.0.22.aar)相关文档传到csdn上,下载下来即可,地址为:

https://download.csdn.net/download/zaq977684/12815316

包含以下文件:

移动安全联盟OAID SDK 集成_第1张图片

版本1(oaid_sdk_1.0.22.aar)

接入步骤:

1、把 oaid_sdk_x.x.x.aar 拷贝到项的 libs 目录,并设置依赖,其中 x.x.x代表版本号。如图所示:

移动安全联盟OAID SDK 集成_第2张图片

2、将 supplierconfig.json 拷贝到项目 assets 目录下,并修改里边对应内容,特别是需要设置 appid 的部分。需要设置 appid 的部分需要去对应厂商的应用商店里注册自己的 app。

移动安全联盟OAID SDK 集成_第3张图片

3、设置依赖

移动安全联盟OAID SDK 集成_第4张图片

4、设置 gradle 编译选项,开发者可以根据自己对平台的选择进行合理配置

ndk {
      abiFilters 'armeabi-v7a','x86','arm64-v8a','x86_64','armeabi'
}
考虑到 sdk 兼容性,sdk 包默认集成了所有常用 abi 的 so,包括 armeabi,armeabi-v7a, arm64-v8a, x84, x84_64 共五种,如果需要减小 SDK 体积,可以使用压缩工具打开 aar 文件,手动删除多余的架构。

移动安全联盟OAID SDK 集成_第5张图片

5.如何调用

DemoHelper demoHelper= new DemoHelper(new DemoHelper.AppIdsUpdater() {
    @Override
    public void OnIdsAvalid(@NonNull String oaid) {
    }
});
demoHelper.getDeviceIds(this);

移动安全联盟OAID SDK 集成_第6张图片

6.说明

 DemoHelper.java事例代码详见附件,由于我只想要oaid,所以接口方法我只返回oaid

移动安全联盟OAID SDK 集成_第7张图片

这样简单的接入成功,有时间还是需要接入查看一下3个pdf文件的

移动安全联盟OAID SDK 集成_第8张图片

 

版本2(msa_mdid_1.0.13.jar)

接入步骤:

1.把msa_mdid_1.0.13.jar,lib39285EFA.so拷贝到项目的libs目录下,并设置依赖,其中x.x.x代表版本号。(注意,要及时关注移动联盟更新文档,保持版本及时更新),最新aar版本可到下列链接下载

http://www.msa-alliance.cn/col.jsp?id=120

配置如下图所示:

移动安全联盟OAID SDK 集成_第9张图片

根据上图把相对应的代码黏贴到项目中去,不要黏贴错位了。

代码:

ndk {
    abiFilters "armeabi", "armeabi-v7a"
}
sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}
输出指定的abi体系下的so库我只选择了:"armeabi", "armeabi-v7a",这个根据你们自己的需求添加,若添加其他体系在libs下也要记得添加so库。

2.将supplierconfig.json拷贝到项目assets目录下

移动安全联盟OAID SDK 集成_第10张图片

3.初始化sdk

图中的SystemOutClass和Spf是本项目的输出和保存oaid的工具类,可忽略。

idSupplier.getOAID()就是最终获取的参数

移动安全联盟OAID SDK 集成_第11张图片

代码:

/**
 * 获取oaid
 */
public void getOAID(){
    try {
        JLibrary.InitEntry(this);//初始化获取oaid的 sdk
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    MdidSdkHelper.InitSdk(BaseApplication.context(), true, new IIdentifierListener() {
        @Override
        public void OnSupport(boolean b, IdSupplier idSupplier) {
            if (idSupplier == null) {
                return;
            }
            SystemOutClass.syso("获取参数oaid....",idSupplier.isSupported());
            if (idSupplier.isSupported()){
                SystemOutClass.syso("获取参数idSupplier.getOAID()....",idSupplier.getOAID());
                Spf.putStringSpf(SpfKey.OAID,idSupplier.getOAID());
            }else{
                Spf.putStringSpf(SpfKey.OAID,"");
            }
        }
    });
}

getOAID在Application的onCreat方法中调用

移动安全联盟OAID SDK 集成_第12张图片

4.混淆

移动安全联盟OAID SDK 集成_第13张图片

代码:

-keep class com.bun.miitmdid.core.** {*;}

 

 

你可能感兴趣的:(oaid,移动安全联盟OAID,android)