无论何时在设备上完成新安装,我们都会尝试使用某种可在实体店中兑换的优惠券进行奖励。我们对此做了一些试验,并验证它是基于IMEI & IMSI的新设备。但是我们发现人们在一些可以操纵这些ID并模仿新设备的模拟器上执行此操作。这怎么可以避免?什么是最好的方式来找出一个Android设备是真实的?
目前,我们正在使用这样
TelephonyManager m_telephonyManager = (TelephonyManager) context.getSystemService(serviceName);
String IMEI, IMSI;
IMEI = m_telephonyManager.getDeviceId();
IMSI = m_telephonyManager.getSubscriberId();
return IMEI + ":" + IMSI;
我相信,有一种方法,因为它的驱动安装正确的广告联盟,每个设备属性它只有一次。
'ID可以被操纵 - 即使你使用IMEI的代码可以被操纵,黑客可以改变它从外部文件加载ID。 – marcinj
广告网络还具有可以跟踪的连接和其他因素的IP。即使他们会有一些误报。 – zapl
关于[如何检测Android应用程序在模拟器中运行?]的各种答案?(http://stackoverflow.com/questions/2799097/how-can-i-detect-when-an-android-application-是运行的,在最模拟器?answertab = votes#tab-top)和[如何从代码中发现我的Android应用程序是否在仿真器或真实设备上运行?](http://stackoverflow.com/questions/6864251/how-to-find-out-from -code-IF-MY-Android的应用程序 - 运行 - 在仿真器,或实时的设备)。让我们知道这些解决方案是否都不起作用,以防万一您正在寻找不同的东西:) –