本文主要介绍匿名设备标识符OAID在Android开发中的使用和初始化。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
目录
ID显示了调用方法声明下载链接覆盖范围的用法。
ID说明
设备唯一标识(UDID):设备唯一的硬件标识,在设备生产过程中根据特定的硬件信息生成,可用于设备的生产环境和合法性验证。第三方应用不提供采集接口,无法通过SDK采集。匿名设备标识符(OAID):可以连接所有应用程序数据的标识符。移动智能终端系统在首次启动后立即生成,可用于广告业务。可以通过SDK获取接口状态(复位、关机)和ID值。开发者匿名设备标识符(VAID):一个对开发者开放的设备标识符。它可以在应用程序安装期间生成,并且可以用于同一开发者的不同应用程序之间的推荐。可以通过SDK获取ID值。应用程序匿名设备标识符(AAID):由第三方应用程序获得的匿名设备标识符,可以在安装应用程序时生成,并用于用户统计。可以通过SDK获取ID值。
声明
下载链接
手机安全联盟官网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 plus Android 10黑鲨Android 10摩托罗拉Android 10 Freeme OSAndroid 10
调用方法
1.将oaid_sdk_x.x.x.aar复制到项目的libs目录下,设置依赖关系,其中x.x.x代表版本号。
2.将supplierconfig.json复制到项目资产目录下,修改edge的相应内容,尤其是需要设置appid的部分。需要设置appid的部分,需要在相应厂商的app store注册自己的app。需要注意的是,标签的内容不需要修改。
3.设置依赖实现文件(' libs/OAID _ SDK _ x.x.x.aar ')
4.设置gradle编译选项,开发者可以根据自己选择的平台进行合理配置。
ndk {
abiFilters 'armeabi-v7a ',' x86 ',' arm64-v8a ',' x86_64 ',' armeabi '
}
包装选项{
doNotStrip '*/armeabi-v7a/*。所以
doNotStrip '*/x86/*。所以
doNotStrip '*/arm64-v8a/*。所以
doNotStrip '*/x86_64/*。所以
do not trip ' arme ABI . so '
}
制造混乱
-保持类Xi . ca . Xi . * * { *;}
-保留类Xi . k0 . Xi . * * { *;}
-保留类Xi . Xi . k0 . * * { *;}
-保留类Xi . vs . k0 . * * { *;}
-保留类Xi . XO . Xi . Xi . * * { *;}
-keep class com . ASUS . MSA . supplementary did . * * { *;}
-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 . device id service . * * { *;}
-keep类org.json. * * { *}
-keep public class com . Netease . NIS . SDK wrapper . utils { public methods;}
使用
初始化
公共类应用程序扩展应用程序{
@覆盖
受保护的void attachBaseContext(Context base){
super . attachbasecontext(base);
图书馆。init entry(base);
}
}
设置回调
公共接口AppIdsUpdater {
void on validid(@ NonNull JSON object id);
}
设置调用类
公共类MiIdHelper实现IIdentifierListener {
私有布尔isSupport
私有字符串oaid,vaid,aaid
公共JSONObject getDeviceIds(上下文cxt) {
long start time=system . current time millis();
int code=callfromhreflect(cxt);
long end time=system . current time millis();
长时间=end time-start time;
JSON object JSON object=new JSON object();
尝试{
jsonObject.put('description ',description code(code));
jsonObject.put('code ',code);
jsonObject.put('time ',time);
jsonObject.put('isSupport ',is support);
jsonObject.put('oaid ',oaid);
jsonObject.put('vaid ',vaid);
jsonObject.put('aaid ',aaid);
} catch(异常e) {
e。printstacktrace();
}
返回jsonObject
}
private int CallFromReflect(上下文cxt) {
返回MdidSdkHelper .InitSdk(cxt,true,this);
}
@覆盖
公共void on support(boolean I support,IdSupplier _supplier) {
这个。is支持=is支持;
如果(_供应商!=null) {
这个。oaid=_供应商。获取oaid();
这个。vaid=_供应商。getvaid();
这个。aaid=_供应商。get aid();
_供应商。关闭();
}
}
私有字符串描述代码(int代码){
开关(代码){
案例错误代码。初始化错误设备不支持:
返回”设备_不支持”;
案例错误代码。初始化错误加载配置文件:
返回”加载配置文件”;
案例错误代码。初始化错误制造商不支持:
返回"制造商_不支持";
案例错误代码。初始化错误结果延迟:
返回”结果_延迟”;
案例错误代码。初始化助手调用错误:
返回”助手_呼叫_错误”;
默认值:
返回"成功";
}
}
}
获取OAID
MiIdHelper MiIdHelper=new MiIdHelper(new AppIdsUpdater(){
@覆盖
validid上的公共void(@ NonNull JSON对象id){
Log.e('OAID ',身份证。tostring());
}
});
米尔德海默。getdeviceids(getApplicationContext());
以上就是机器人开发中匿名设备标识符OAID使用及初始化的详细内容,更多关于机器人开发匿名设备标识符OAID的资料请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。