最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android開(kāi)發(fā)中匿名設(shè)備標(biāo)識(shí)符OAID使用及初始化

 更新時(shí)間:2022年04月27日 17:31:17   作者:ZH-黑夜  
這篇文章主要為大家介紹了Android開(kāi)發(fā)中匿名設(shè)備標(biāo)識(shí)符OAID使用及初始化,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

ID說(shuō)明 

  • 設(shè)備唯一標(biāo)識(shí)符(UDID):設(shè)備唯一硬件標(biāo)識(shí),設(shè)備生產(chǎn)時(shí)根據(jù)特定的硬件信息生成,可用于設(shè)備的生產(chǎn)環(huán)境及合法性校驗(yàn)。不對(duì)第三方應(yīng)用提供獲取接口,無(wú)法通過(guò) SDK 獲取。
  • 匿名設(shè)備標(biāo)識(shí)符(OAID):可以連接所有應(yīng)用數(shù)據(jù)的標(biāo)識(shí)符,移動(dòng)智能終端系統(tǒng)首次啟動(dòng)后立即生成,可用于廣告業(yè)務(wù)??梢酝ㄟ^(guò) SDK 獲取到接口狀態(tài)(重置、關(guān)閉)、ID 值。
  • 開(kāi)發(fā)者匿名設(shè)備標(biāo)識(shí)符(VAID):用于開(kāi)放給開(kāi)發(fā)者的設(shè)備標(biāo)識(shí)符,可在應(yīng)用安裝時(shí)產(chǎn)生,可用于同一開(kāi)發(fā)者不同應(yīng)用之間的推薦??梢酝ㄟ^(guò) SDK 獲取到 ID 值。
  • 應(yīng)用匿名設(shè)備標(biāo)識(shí)符(AAID):第三方應(yīng)用獲取的匿名設(shè)備標(biāo)識(shí),可在應(yīng)用安裝時(shí)產(chǎn)生,可用于用戶(hù)統(tǒng)計(jì)等??梢酝ㄟ^(guò) SDK 獲取到 ID 值。

聲明

下載鏈接

移動(dòng)安全聯(lián)盟官網(wǎng)SDK 獲取地址

覆蓋范圍

廠(chǎng)商名稱(chēng)支持版本
華為HMS 2.6.2及以上
小米MIUI10.2及以上版本
vivoAndroid 9及以上版本
oppoColor OS 7.0及以上版本
LenovoZUI 11.4及以上版本
三星Android 10版本
魅族Android 10版本
努比亞Android 10版本
中興Android 10版本
華碩Android 10版本
一加Android 10版本
黑鯊Android 10版本
摩托羅拉Android 10版本
Freeme OSAndroid 10版本

調(diào)用方法

1.把oaid_sdk_x.x.x.aar拷貝到項(xiàng)的libs目錄,并設(shè)置依賴(lài),其中x.x.x代表版本號(hào)。

2.將supplierconfig.json拷貝到項(xiàng)目assets目錄下,并修改里邊對(duì)應(yīng)內(nèi)容,特別是需要設(shè)置appid的部分。需要設(shè)置appid的部分需要去對(duì)應(yīng)廠(chǎng)商的應(yīng)用商店里注冊(cè)自己的app。需要注意的是,其中l(wèi)abel部分內(nèi)容無(wú)需修改。

3.設(shè)置依賴(lài)implementation files(‘libs/oaid_sdk_x.x.x.aar’)

4.設(shè)置gradle編譯選項(xiàng),開(kāi)發(fā)者可以根據(jù)自己對(duì)平臺(tái)的選擇進(jìn)行合理配置

 ndk {
        abiFilters 'armeabi-v7a', 'x86', 'arm64-v8a', 'x86_64', 'armeabi'
    }
    packagingOptions {
        doNotStrip "*/armeabi-v7a/*.so" 
        doNotStrip "*/x86/*.so" 
        doNotStrip "*/arm64-v8a/*.so" 
        doNotStrip "*/x86_64/*.so"
        doNotStrip "armeabi.so"
    }

5.設(shè)置混淆

-keep class XI.CA.XI.**{*;}
-keep class XI.K0.XI.**{*;}
-keep class XI.XI.K0.**{*;}
-keep class XI.vs.K0.**{*;}
-keep class XI.xo.XI.XI.**{*;}
-keep class com.asus.msa.SupplementaryDID.**{*;}
-keep class com.asus.msa.sdid.**{*;}
-keep class com.bun.lib.**{*;}
-keep class com.bun.miitmdid.**{*;}
-keep class com.huawei.hms.ads.identifier.**{*;}
-keep class com.samsung.android.deviceidservice.**{*;}
-keep class org.json.**{*;}
-keep public class com.netease.nis.sdkwrapper.Utils {public <methods>;}

使用

初始化

public class APP extends Application {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        JLibrary.InitEntry(base);
    }
}

設(shè)置回調(diào)

public interface AppIdsUpdater {
        void OnValidId(@NonNull JSONObject ids);
}

設(shè)置調(diào)用類(lèi)

public class MiIdHelper implements IIdentifierListener {
    private boolean isSupport;
    private String oaid, vaid, aaid;

    public JSONObject getDeviceIds(Context cxt) {
        long startTime = System.currentTimeMillis();
        int code = CallFromReflect(cxt);
        long endTime = System.currentTimeMillis();
        long time = endTime - startTime;
        JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("description", descriptionCode(code));
            jsonObject.put("code", code);
            jsonObject.put("time", time);
            jsonObject.put("isSupport", isSupport);
            jsonObject.put("oaid", oaid);
            jsonObject.put("vaid", vaid);
            jsonObject.put("aaid", aaid);
        } catch (Exception e) {
            e.printStackTrace();
        }
         return jsonObject;
    }

    private int CallFromReflect(Context cxt) {
        return MdidSdkHelper.InitSdk(cxt, true, this);
    }


    @Override
    public void OnSupport(boolean isSupport, IdSupplier _supplier) {
        this.isSupport = isSupport;
        if (_supplier != null) {
            this.oaid = _supplier.getOAID();
            this.vaid = _supplier.getVAID();
            this.aaid = _supplier.getAAID();
            _supplier.shutDown();
        }
    }

    private String descriptionCode(int code) {
        switch (code) {
            case ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT:
                return "DEVICE_NOSUPPORT";
            case ErrorCode.INIT_ERROR_LOAD_CONFIGFILE:
                return "LOAD_CONFIGFILE";
            case ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT:
                return "MANUFACTURER_NOSUPPORT";
            case ErrorCode.INIT_ERROR_RESULT_DELAY:
                return "RESULT_DELAY";
            case ErrorCode.INIT_HELPER_CALL_ERROR:
                return "HELPER_CALL_ERROR";
            default:
                return "SUCCESS";
        }
    }
}

獲取OAID

 MiIdHelper miIdHelper = new MiIdHelper(new AppIdsUpdater() {
            @Override
            public void OnValidId(@NonNull JSONObject ids) {
                Log.e("OAID", ids.toString());
            }
        });
 miIdHelper.getDeviceIds(getApplicationContext());

以上就是Android開(kāi)發(fā)中匿名設(shè)備標(biāo)識(shí)符OAID使用及初始化的詳細(xì)內(nèi)容,更多關(guān)于Android開(kāi)發(fā)匿名設(shè)備標(biāo)識(shí)符OAID的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

通江县| 双柏县| 新乡市| 安达市| 韶山市| 扎囊县| 伊金霍洛旗| 苏尼特左旗| 承德县| 华安县| 平舆县| 射洪县| 共和县| 延庆县| 内丘县| 湟中县| 托里县| 洛浦县| 甘泉县| 南岸区| 茶陵县| 横峰县| 德惠市| 彰化县| 大方县| 化州市| 博罗县| 前郭尔| 南华县| 松阳县| 琼中| 宁远县| 隆回县| 林口县| 工布江达县| 安徽省| 扎囊县| 蓝田县| 女性| 即墨市| 健康|