유니크한 값은 아래와 같은 경우의 사용할 수 있다.
1. 서버의 게임점수를 저장하는 안드로이드 사용자 식별.
2. 앱 설치 추적.
3. 복사 방지를 위한 DRM 생성.
4. 기기가 처음 연결을 시도 할 때만 인증을 받고 두 번째 부터는 허용하는 경우.
내가 현재 RCU프로젝트를 진행하면서 필요한 경우이다ㅋㅋㅋ
BLE 서버 <-> 리모컨 통신을 하는데 처음 연결을 시도하는 경우에만 인증을 받고 인증받은 기기인지 식별하기위해
유니크한 값이 필요로 했다.
현재까지 유니크한 값을 얻기 위해서는 몇 가지 해결책이 존재하지만 완벽하지 않다.
그래서 아래 블로그에서는 5가지 솔루션을 제공하고 설명한다.
1. Unuque Telephony Number ( IMEI, MEID, ESN, IMSI )
장점
핸드폰의 경우 쉽게 유니크한 값을 얻을 수 있다.
단점
android.permission.READ_PHONE_STATE 권한이 필요하기 때문에 유저에게 명시해야한다.
태블릿에서는 사용하지 못한다.
2. Mac Address
Wifi가 연결되어야 값을 얻어 올 수 있기 때문에 추천하지 않는다.
3. Serial Number
모든 안드로이드 디바이스가 시리얼넘버를 가지고 있지 않기 때문에 추천하지 않는다.
4. Secure Android ID
유명한 핸드폰 제조사 제품에서 매번 동일한 Android_ID 를 가지는 알려진 버그가 있다.
그럼에도 불구하고 물리적으로 디바이스의 완벽히 유니크한 값을 사용하기 원한다면 이방법을 추천한다.
5. Use UUID ( google I/O에서 소개 )
추천하는 해결책은 UUID 해결책을 사용하여 유니크한 값을 얻는 것이다. 하지만 특정 디바이스의
물리적으로 완벽한 유니크값을 사용하길 원한다면 4. Secure Android ID 솔루션을 사용해라.
100% 보장하지는 않지만 다른 솔루션 보다는 좋다.
틀린 부분이 있다면 알려주세요^^
감사합니다.
https://medium.com/@ssaurel/how-to-retrieve-an-unique-id-to-identify-android-devices-6f99fd5369eb
'Android' 카테고리의 다른 글
aab, apk 서명된 키스토어 확인 (0) | 2022.03.19 |
---|---|
[android] 안드로이드 스튜디오에서 SHA1, MD5 키 생성하기 (0) | 2018.08.10 |
[android] custom uri scheme 웹 to 앱 & 앱 to 앱 (0) | 2018.07.30 |
[android] Google Play는 2018년 11월까지 모든 앱 업데이트가 Android Oreo(targetSdkVersion 26 이상)를 타겟팅하도록 요구 (0) | 2018.05.24 |