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

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

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

ID說明 

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

聲明

下載鏈接

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

覆蓋范圍

廠商名稱支持版本
華為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è)置依賴,其中x.x.x代表版本號(hào)。

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

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

4.設(shè)置gradle編譯選項(xiàng),開發(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)用類

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開發(fā)中匿名設(shè)備標(biāo)識(shí)符OAID使用及初始化的詳細(xì)內(nèi)容,更多關(guān)于Android開發(fā)匿名設(shè)備標(biāo)識(shí)符OAID的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

永和县| 买车| 高安市| 阜康市| 龙陵县| 邢台市| 墨脱县| 蒲江县| 宜黄县| 当雄县| 洞头县| 荔波县| 莆田市| 英德市| 岫岩| 嘉祥县| 荔波县| 乐至县| 昌江| 黎城县| 和龙市| 当雄县| 黑水县| 平原县| 长垣县| 永安市| 焉耆| 弥勒县| 浦县| 沐川县| 罗江县| 巴里| 读书| 潼南县| 义乌市| 镇赉县| 江陵县| 郧西县| 宜宾市| 汾西县| 津市市|