제가 만든 어플이 사용자를 꼭 구분해야 되는 것이기에
사용자를 구별하기 위해서
TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
phoneNumber = manager.getLine1Number();
tmDevice = "" + manager.getDeviceId();
androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
id = phoneNumber + tmDevice + androidId ;
이런식으로 폰넘버와 deviceid 그리고 안드로이드아이디를 합쳐서 썻었습니다.
그런데 안드로이드아이디를 어떤사용자가 어떻게 한지는 모르겠지만 마구 변경해서 사용하더군요.
님들은 어떤 방식으로 사용자를 구분하나요???
사용자를 꼭 구분해야 되는 어플이기에 많은 어려움을 겪고 있습니다. ㅜ 도움주시면 감사하겠습니다.
manager.getLine1Number(); ==> 폰이 아닌 기계에서는 값이 존재하지 않습니다. manager.getDeviceId(); ==> 역시 폰이 아닌 기계에서는 값이 안들어 옵니다. android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID); ==> 안드로이드 기기라면 다 값이 있습니다....만 공초후 값이 변경됩니다. 즉 위 방법으로 사용 하실경우 공장초기화때 기기의 UDID 가 변경이 되어 사용이 불가 합니다. 저는 디바이스 아이디와 맥어드레스를 섞어서 사용합니다. 다만 주의 하실점은 맥어드레스의 경우 폰을 켠 후 한번이라도 wifi에 접속을 해야 값이 들어옵니다. 소스상에서 와이파이를 켜서 값을 얻고 바로 끄도록 해서 사용중입니다.
DeviceID 수집하면 불법으로 알고 있습니다.
그래서 저도 사용을 중지 했고요.
따로 수집한다고 명시를 하시고 수집하시거나
회원가입을 유도 하거나
그 둘다가 될수도 있고요..따로 서버 두어서 인증하면 되긴 할텐데
질문은 내부기기에 저장하는 방법이신것 같은데
딱히 어떻게 해야될지 모르겠네요