◎위챗 : speedseoul
안드로이드 Q(10) 부터는 더이상 '사용자가 재설정 할수 없는' 디바이스 식별자를 제공하지 않는다. 권한을 가진 앱은 READ_PRIVILEGED_PHONE_STATE 권한을 가져야 하나 Google Play 스토어에서 설치된 앱은 해당 권한을 선언할수 없다.
즉, 일반앱들은 접근이 불가하단 소리. ( 통신사 앱들 같은데서 사용할수 있다고 한다. 맞는지 잘 모르겠지만... )
영향을 받는 것들은 아래 내용들이다. 옆에 값들은 호출을 하면 받는 값들이고.
□ Build
□ TelephonyManager
□ WifiInfo( 안드로이드 6 )
원칙적으로 안드로이드에서는 수명이 긴 식별자의 사용을 권하지 않는다고 한다. 아마 앱을 운영하고 있는 사람들은 기존의 라이브러리들이나 일부 프로그램에서 위 식별자들을 이용하는 경우가 있어서 골치 아플것 같다. 값을 유지해야할 범위에 따라 적당한 값을 찾아서 개발하도록 하면 될듯 보인다.
브런치 @huewu님의 정리한 자료를 그대로 가져왔다. 너무 잘 정리된 자료기에...
범위 | 수명(변경방법) | |
InstanceID | 앱 | 앱 삭제 및 재설치 앱 데이터 삭제 |
GUID | 앱, 앱 그룹 | 앱 삭제 및 재설치 앱 데이터 삭제 |
디바이스 | 디바이스 초기화 광고ID 초기화 | |
SSAID | 앱 그룹 디바이스 | 디바이스 초기화 |
imei, serial, deviceId... | 디바이스 | 없음 |
앱 그룹으로 유지하고 싶은 값은 없을 듯 하고 앱 단위에서 삭제 및 재설치에 자유로운 고유한 값을 사용하고 싶다면 광고 ID나 SSAID를 이용하면 될듯 하다.
참고자료.
https://developer.android.com/about/versions/10/privacy/changes
https://developer.android.com/training/articles/user-data-ids
https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID
출처: https://nhj12311.tistory.com/142 [NSpace]