赞
踩
代码已过时,但是官方文档还在更新,一切问题请学习官方文档。
1 什么是OAID?用来做什么的?
随着大数据和人工智能时代的到来,数据的价值也逐渐增加,移动终端设备标识码,如国际移动设备识别码(IMEI)、Wi-Fi MAC地址、SIM卡国际移动用户识别码(IMSI)和蓝牙地址等终端设备标识信息的收集和使用成为普遍现象。同时各国对用户隐私保护的要求越来越高,传统的移动终端设备标识如国际移动设备识别码(IMEI)等已被部分国家认定为用户隐私的一部分。另外,在很多与隐私无关的场景中,如生产、售后、报关、政府抽检等场景,传统设备标识码(如IMEI)被篡改或冒用的情况时有发生,给设备生产企业的经济利益带来损失,同时对设备追溯带来较大影响。
总结:为了保护隐私,使用OAID(匿名设备标识符)来替代IMEI
2 那么如何获取OAID?即使文章过期但是官网还在就可以更新
下载的时候需要登录,随便注册一个账号不用花钱就可以下载依赖包了。
解压完之后可以看到一个pdf文件,里面是详细的教程,建议大家看下如何使用,如果不想仔细看的话等会可以直接看demo
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
OaidHelper.getInstance().attachBaseContext(base);
}
@Override
public void onCreate() {
super.onCreate();
OaidHelper.getInstance().getDeviceIds(this);
}
}
public class OaidHelper { private static final OaidHelper ourInstance = new OaidHelper(); public static OaidHelper getInstance() { return ourInstance; } private OaidHelper() { } public void attachBaseContext(Context base) { JLibrary.InitEntry(base); } public void getDeviceIds(Context context) { //获取OAID等设备标识符 MiitHelper miitHelper = new MiitHelper(appIdsUpdater); miitHelper.getDeviceIds(context); } private List<OaidListener> mListener = new ArrayList<>(); public void addOaidListener(OaidListener listener) { if (listener != null) { mListener.add(listener); } } public interface OaidListener { void onOaid(String oaid); } private MiitHelper.AppIdsUpdater appIdsUpdater = new MiitHelper.AppIdsUpdater() { @Override public void onOaid(boolean isSupport, @NonNull String oaid) { Log.i("OaidHelper oaid=== ", oaid); if (!isSupport || TextUtils.isEmpty(oaid)) { return; } for (int i = 0; i < mListener.size(); i++) { mListener.get(i).onOaid(oaid); } } @Override public void onError(@NonNull String error) { Log.i("OaidHelper error===", error); } }; }
具体的使用请看我的demo Oaiddemo github
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。