Andorid - iOS - 모바일 기기별 고유식별값 - Android ID 와 Identifier for Vendor (IDFV)
Andorid - iOS -모바일 기기별 고유식별값 - Android ID 와 Identifier for Vendor (IDFV)
- 모바일 앱/기기별 고유한 값(식별키)을 이용할때 필요한 식별 키값의 종류 -
모바일 앱에서 기기별로 고유한 값을 생성하여 사용하는 데는 여러 가지 방법이 있습니다. 각 방법은 목적과 보안 요구 사항에 따라 적절히 선택되어야 합니다. 다음은 주요 키값의 종류와 그 특성입니다.
Android
1. Android ID : 기기별 고유한 64비트 값
- 단말기에서 구글 계정을 로그인하면 생성됨, 앱을 제거하고 재설치 해도 변경 되지 않음
- Android ID는 기기 내의 특정 사용자에 대해 고유합니다. 즉, 동일한 기기라도 사용자 계정이 다르면 Android ID가 달라집니다
- Android ID는 다음과 같은 상황에서 변경됩니다:
. 기기 초기화: 공장 초기화를 수행하면 Android ID가 재생성됩니다.
. 사용자 프로파일 변경: 다른 사용자 프로파일로 전환하면 해당 사용자에 대한 새로운 Android ID가 생성됩니다.
. 앱의 모든 데이터 삭제: 일부 기기에서 앱의 모든 데이터를 삭제한 후 재설치하면 Android ID가 변경될 수 있습니다.
- String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
2. Google Advertising ID (GAID) : 맞충 광고용 광고아이디
- 사용자 추적 및 광고 목적으로는 Google Advertising ID (GAID)를 사용하는 것이 권장됨
- 특징: 사용자가 재설정 가능, 광고 추적 제한 가능.
- AdvertisingIdClient API를 사용 `Settings.Secure.ANDROID_ID`
AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context);
String advertisingId = adInfo.getId();
3. UUID (Universally Unique Identifier)
- 설명: 고유한 ID를 생성합니다. 앱을 설치할 때마다 새로 생성됩니다.
String uniqueID = UUID.randomUUID().toString();
4. Instance ID
- 앱 실행 시마다 고유한 값 생성.
- 설명: Firebase Cloud Messaging에서 제공하는 고유 ID.
- 사용 방법: UUID.randomUUID()
String uniqueID = UUID.randomUUID().toString();
iOS
1. Identifier for Vendor (IDFV)
- 동일한 벤더의 앱들에 대해 고유한 ID입니다.
- 동일한 기기에서 동일한 벤더의 앱을 다시 설치해도 IDFV는 변경되지 않습니다.
- 벤더의 모든 앱을 기기에서 제거한 후 다시 설치하면 새로운 IDFV가 생성됩니다.
- 벤더 내에서 모든 앱이 동일한 IDFV를 공유하지만, 다른 벤더의 앱에는 다른 IDFV가 사용됩니다.
`UIDevice.current.identifierForVendor?.uuidString`
- UIDevice 클래스의 identifierForVendor 속성을 사용
let idfv = UIDevice.current.identifierForVendor?.uuidString
2. Identifier for Advertisers (IDFA) : 구글 GAID와 동일한 광고 아이디
- IDFA는 광고 추적 목적으로 사용되는 고유한 식별자입니다.
- 특징: 사용자가 재설정 가능, 광고 추적 제한 가능. (ASIdentifierManager)
- 추적 제한: 사용자가 "광고 추적 제한"을 활성화하면, 앱은 사용자에게 IDFA에 접근할 수 없습니다.
- 여러 벤더의 앱에서 동일한 IDFA를 사용할 수 있습니다. (애플 사용자 로그인에 따름)
import AdSupport
let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
3.UUID (Universally Unique Identifier)
- 설명: 고유한 ID를 생성합니다. 앱을 설치할 때마다 새로 생성됩니다.
let uuid = NSUUID().uuidString