时间: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());