时间:2022-08-14 09:30:01 | 栏目:Android代码 | 点击:次
厂商名称 | 支持版本 |
---|---|
华为 | HMS 2.6.2及以上 |
小米 | MIUI10.2及以上版本 |
vivo | Android 9及以上版本 |
oppo | Color OS 7.0及以上版本 |
Lenovo | ZUI 11.4及以上版本 |
三星 | Android 10版本 |
魅族 | Android 10版本 |
努比亚 | Android 10版本 |
中兴 | Android 10版本 |
华硕 | Android 10版本 |
一加 | Android 10版本 |
黑鲨 | Android 10版本 |
摩托罗拉 | Android 10版本 |
Freeme OS | Android 10版本 |
1.把oaid_sdk_x.x.x.aar拷贝到项的libs目录,并设置依赖,其中x.x.x代表版本号。
2.将supplierconfig.json拷贝到项目assets目录下,并修改?边对应内容,特别是需要设置appid的部分。需要设置appid的部分需要去对应厂商的应用商店?注册自己的app。需要注意的是,其中label部分内容无需修改。
3.设置依赖implementation files(‘libs/oaid_sdk_x.x.x.aar’)
4.设置gradle编译选项,开发者可以根据自己对平台的选择进行合理配置
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.设置混淆
-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); } }
设置回调
public interface AppIdsUpdater { void OnValidId(@NonNull JSONObject ids); }
设置调用类
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());