Comments (8)
我看oaid也只有DeviceID.register(this);
赋值,在没有其他地方赋值了,其他地方都是读取。
from android_cn_oaid.
我看oaid也只有
DeviceID.register(this);
赋值,在没有其他地方赋值了,其他地方都是读取。
DeviceID.register(this);
这种用法,建议在Application里预先获取。不然就每次都调用DeviceID.getOAID(this, new IGetter() {..});
适时获取。由于DeviceID.getOAID(this, new IGetter() {..});
是异步的,你的这种为空的情况可能是DeviceID.register(this);
里调用getOAID
的时候还在获取OAID的过程中还没等得到结果就已经开始上报数据了
from android_cn_oaid.
我看oaid也只有
DeviceID.register(this);
赋值,在没有其他地方赋值了,其他地方都是读取。
DeviceID.register(this);
这种用法,建议在Application里预先获取。不然就每次都调用DeviceID.getOAID(this, new IGetter() {..});
适时获取。由于DeviceID.getOAID(this, new IGetter() {..});
是异步的,你的这种为空的情况可能是DeviceID.register(this);
里调用getOAID
的时候还在获取OAID的过程中还没等得到结果就已经开始上报数据了
目前DeviceID.register(this);
是在Application的oncreate中预期的。
获取oaid具体的时间最长会有多长时间啊? 数据反馈这个埋点上报的时机至少是APP启动了一定时间的
from android_cn_oaid.
我看oaid也只有
DeviceID.register(this);
赋值,在没有其他地方赋值了,其他地方都是读取。
DeviceID.register(this);
这种用法,建议在Application里预先获取。不然就每次都调用DeviceID.getOAID(this, new IGetter() {..});
适时获取。由于DeviceID.getOAID(this, new IGetter() {..});
是异步的,你的这种为空的情况可能是DeviceID.register(this);
里调用getOAID
的时候还在获取OAID的过程中还没等得到结果就已经开始上报数据了目前
DeviceID.register(this);
是在Application的oncreate中预期的。
获取oaid具体的时间最长会有多长时间啊? 数据反馈这个埋点上报的时机至少是APP启动了一定时间的
OAID的获取时长有点无法预计,不同的厂商和品牌实现方式不一样。为了保证OIAD不为空,也许你可以参照DeviceID.register(this);
里的写法,等到getOAID得到回调onOAIDGetComplete
或者onOAIDGetError
后再上报数据:
String uniqueID = getUniqueID(application);
if (!TextUtils.isEmpty(uniqueID)) {
instance.clientId = uniqueID;
OAIDLog.print("Client id is IMEI/MEID: " + instance.clientId);
return;
}
getOAID(application, this);
@Override
public void onOAIDGetComplete(String result) {
if (result == null) {
result = "";
}
clientId = result;
oaid = result;
OAIDLog.print("Client id is OAID/AAID: " + clientId);
}
@Override
public void onOAIDGetError(Exception error) {
String id = DeviceID.getWidevineID();
if (!TextUtils.isEmpty(id)) {
clientId = id;
OAIDLog.print("Client id is WidevineID: " + clientId);
return;
}
id = getAndroidID(application);
if (!TextUtils.isEmpty(id)) {
clientId = id;
OAIDLog.print("Client id is AndroidID: " + clientId);
return;
}
clientId = getGUID(application);
OAIDLog.print("Client id is GUID: " + clientId);
}
from android_cn_oaid.
没注意onOAIDGetComplete(String result)
里result
还可能为空,除了上面说的可能是getOAID还没得到回调就开始上报数据了,不知道会不会是本身获取OAID就是空的?说不定还真是有时候onOAIDGetComplete
拿到的OAID就是空的
from android_cn_oaid.
我看oaid也只有
DeviceID.register(this);
赋值,在没有其他地方赋值了,其他地方都是读取。
DeviceID.register(this);
这种用法,建议在Application里预先获取。不然就每次都调用DeviceID.getOAID(this, new IGetter() {..});
适时获取。由于DeviceID.getOAID(this, new IGetter() {..});
是异步的,你的这种为空的情况可能是DeviceID.register(this);
里调用getOAID
的时候还在获取OAID的过程中还没等得到结果就已经开始上报数据了目前
DeviceID.register(this);
是在Application的oncreate中预期的。
获取oaid具体的时间最长会有多长时间啊? 数据反馈这个埋点上报的时机至少是APP启动了一定时间的OAID的获取时长有点无法预计,不同的厂商和品牌实现方式不一样。为了保证OIAD不为空,也许你可以参照
DeviceID.register(this);
里的写法,等到getOAID得到回调onOAIDGetComplete
或者onOAIDGetError
后再上报数据:String uniqueID = getUniqueID(application); if (!TextUtils.isEmpty(uniqueID)) { instance.clientId = uniqueID; OAIDLog.print("Client id is IMEI/MEID: " + instance.clientId); return; } getOAID(application, this); @Override public void onOAIDGetComplete(String result) { if (result == null) { result = ""; } clientId = result; oaid = result; OAIDLog.print("Client id is OAID/AAID: " + clientId); } @Override public void onOAIDGetError(Exception error) { String id = DeviceID.getWidevineID(); if (!TextUtils.isEmpty(id)) { clientId = id; OAIDLog.print("Client id is WidevineID: " + clientId); return; } id = getAndroidID(application); if (!TextUtils.isEmpty(id)) { clientId = id; OAIDLog.print("Client id is AndroidID: " + clientId); return; } clientId = getGUID(application); OAIDLog.print("Client id is GUID: " + clientId); }
嗯嗯 谢谢我试试~
from android_cn_oaid.
没注意
onOAIDGetComplete(String result)
里result
还可能为空,除了上面说的可能是getOAID还没得到回调就开始上报数据了,不知道会不会是本身获取OAID就是空的?说不定还真是有时候onOAIDGetComplete
拿到的OAID就是空的
嗯嗯 就是存在可能同一个设备,有时能获取到oaid,有时获取不到。 有这种概率是吧
from android_cn_oaid.
没注意
onOAIDGetComplete(String result)
里result
还可能为空,除了上面说的可能是getOAID还没得到回调就开始上报数据了,不知道会不会是本身获取OAID就是空的?说不定还真是有时候onOAIDGetComplete
拿到的OAID就是空的嗯嗯 就是存在可能同一个设备,有时能获取到oaid,有时获取不到。 有这种概率是吧
自4.2.6版本开始已暴露一个回调接口IRegisterCallback
,埋点上报可以改到这个回调接口里。
from android_cn_oaid.
Related Issues (20)
- 按照文档接入,无法依赖这个库。 HOT 7
- 安裝Demo.apk後,啟動遇到Google Play提示不明來源 HOT 7
- DeviceIdentifier.getOAID第一次无法获取值 HOT 1
- getWidevineID 使用MediaDrm 部分手机异常 HOT 2
- Redmi 7A 无法获取oaid oaid字段为“” HOT 5
- msa官网sdk已更新到1.2.1,适配android13 HOT 4
- 更新到targetSDK = 33之後,抓到的OAID全是0 HOT 4
- 大佬,不初始化好像也没什么问题呀 HOT 1
- WidevineID唯一性 HOT 2
- 请教大佬后端唯一标识真假判断问题。 HOT 3
- 鸿蒙系统3.0 初始化导致应用无响应 HOT 2
- 卸载之后重装OAID会变吗? HOT 1
- 线上收集的一些错误反馈 HOT 1
- 大佬 华为需要适配了 HOT 13
- 华为获取报错 Lcom/huawei/hms/ads/identifier/AdvertisingIdClient HOT 6
- 编译报错 HOT 3
- 华为设备崩溃 HOT 2
- 荣耀手机 HONOR Model: JSN-L22 Release: 9 API: 28 进入黑屏卡死 HOT 3
- 荣耀11.23日发布新机型,并用自己提供oaid的获取方法,不再允许其他方式获取 HOT 22
- 小米隐私合规问题 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android_cn_oaid.