我现在有一些代码,可以在Google和Kindle设备上获取设备标识符(广告ID)。现在,我正在寻找针对开发人员的文档,这些文档将解释如何在其他安卓分叉(类似于亚马逊指令)上获得它,尤其是。小米和阿里巴巴的手机都是面向中国本土市场的。
我可以找到的一个资源是AppsFlyer,它显然是伪造的,因为它声明了"IMEI和Android -这两者都是精确属性所必需的“,而前者是自Android6(除非您想提示用户获得运行时权限) 除了其他的问题而后者是自奥利奥以来没有唯一的设备之后禁用的。
发布于 2018-05-31 22:17:00
这不是我所希望的答案,但经过进一步研究,“中国的第一个也是最大的独立移动广告平台”-- 尤米 --确实有一个开源DeviceInfoUtils类,他们做AppsFlyer推荐的所有事情,即谷歌反对的一切。
具体来说,对于每一个请求,他们派:telephonyManager.getDeviceId(); ( GSM手机上的IMEI)、telephonyManager.getSubscriberId() ( GSM手机上的IMSI)、MAC地址和ANDROID_ID。同样,前两种情况都需要提示用户允许应用程序“打电话和管理电话”,这是非常令人毛骨悚然的(导致应用程序评等不佳和/或被拒绝权限)。后两种设备曾经起作用,但就奥利奥而言,它们不再像我在问题陈述中提到的那样是独一无二的。
更新:我现在下载了小米的米莫SDK (ads )。反编译显示了一个名为AdvertisingIdHelper的类,它只有两种方法,一种是检查设备是否安装了Google存储,另一种方法如下所示:
private static d z(Context paramContext)
{
if (!y(paramContext)) {
return null;
}
try {
d localD = new d();
Intent localIntent = new Intent("com.google.android.gms.ads.identifier.service.START");
localIntent.setPackage("com.google.android.gms");
if (paramContext.bindService(localIntent, localD, 1))
return localD;
} catch (SecurityException localSecurityException) {
com.miui.zeus.a.a.b("stacktrace_tag", "stackerror:", localSecurityException);
return null;
}
return null;
}它在整个SDK中扮演什么角色尚不清楚,但它显然是一种查询谷歌广告ID的方式,而不是小米的替代ID。如果这是所有情况下的,或者仅适用于中国以外(有谷歌游戏服务的)以外销售的设备,那也不清楚。
发布于 2018-06-07 23:12:51
是的,IMEI、Mac地址和Android ID正在中国的Android市场上使用。团结,Vungle和Ad暴民实际上是在追求Android市场。我们还听说其他广告网络专门为中国市场设计了一个定制的Android。
上一次在中国的Android市场上,我和一位中国开发商交谈是很久以前的事,所以我的信息可能已经过时了。我今晚再查一遍。
https://stackoverflow.com/questions/50382086
复制相似问题