We are trying to reward with some kind of a coupon which can be redeemed at a physical store, whenever a new installation is done on a device. We did some trials on this and verify that it is a new device based on IMEI & IMSI. But we found people do it on some emulators where these IDs can be manipulated and mimicking a new device. How can this be avoided?
We are currently using like this
TelephonyManager m_telephonyManager = (TelephonyManager) context.getSystemService(serviceName);
String IMEI, IMSI;
IMEI = m_telephonyManager.getDeviceId();
IMSI = m_telephonyManager.getSubscriberId();
return IMEI + ":" + IMSI;
I am sure there is a way since the ad networks which drive installs correctly attribute it only once per device.