AppSetID에 대해 알아보기

H.Zoon·2024년 6월 10일
1
post-thumbnail
post-custom-banner

안드로이드 기기의 광고 노출을 위해 ADID 값을 조회하는 방법을 찾던 중 AppSetID 라는 것을 발견하였다.

ADID랑 무엇이 다른거지? 하는 궁금증에 한번 정리해봤다!

AppSetID란?

Android 12 기기부터 사용자가 Android 설정에서 맞춤설정을 선택 해제하면 Google Play에서 광고 ID를 삭제했습니다. 이에 따라 Google Play는 동일한 조직이 소유한 여러 앱에 걸쳐 개인 정보를 보호하면서 사용량과 행동을 상호 연관시킬 수 있는 앱 세트 ID(AppSetID)를 도입했습니다.

AppSetID는 사용자가 맞춤설정을 해제한 경우에도 특정 개발자 계정에 속한 여러 앱 간에 사용자 행동을 연결할 수 있는 유용한 도구입니다.

혹시 좀 더 상세한 정보가 필요하다면 Google 지원 페이지를 참조해보자!

AppSetID 적용 범위

AppSetID는 개발자 범위와 앱 범위로 나눌 수 있습니다.

•	개발자 범위: 동일한 Google Play 개발자 계정 아래에 게시된 모든 앱에 대해 기기에서 동일한 앱 세트 ID를 반환합니다.
•	앱 범위: 특정 조건에서는 개별 앱에 대해 고유한 앱 세트 ID를 반환합니다.

각 범위에 대한 상세설명

앱 세트 SDK는 앱이 아래 설명된 앱 범위 조건을 충족하지 않는 한 추가 개발자 작업 없이 개발자 범위가 있는 앱 세트 ID를 반환하려고 시도합니다.

1. 개발자 범위

개발자 범위는 동일한 Google Play 개발자 계정 아래에 게시된 모든 앱이 동일한 앱 세트 ID를 공유하는 범위입니다. 이 범위는 다음과 같은 경우에 적용됩니다:

•	Google Play 스토어를 통해 설치된 앱: 앱이 Google Play 스토어를 통해 설치된 경우, 해당 앱은 동일한 개발자 계정 아래에 게시된 다른 앱들과 동일한 앱 세트 ID를 가집니다.
•	서명 키가 다른 앱도 동일한 ID를 공유: 동일한 개발자 계정 아래에 게시된 앱들이 서로 다른 서명 키로 서명되었더라도, 동일한 앱 세트 ID를 공유합니다.

예를 들어, 한 개발자가 Google Play 스토어에 두 개의 앱(A와 B)을 게시했고, 두 앱 모두 동일한 기기에 설치되어 있다면, 이 두 앱은 동일한 앱 세트 ID를 가집니다.

2. 앱 범위

앱 범위는 특정 조건 하에서 적용되며, 이 경우 앱 세트 ID는 개별 앱에 대해 고유하게 설정됩니다. 다음과 같은 조건에 해당하는 경우, 앱 범위가 적용됩니다:

•	Google Play 스토어 이외의 설치 프로그램을 통해 설치된 앱: 앱이 Google Play 스토어가 아닌 다른 설치 프로그램(예: Amazon Appstore)을 통해 설치된 경우.
•	Google Play 서비스가 앱의 Google Play 개발자 계정을 확인할 수 없는 경우: Google Play 서비스가 해당 앱이 어느 개발자 계정에 속하는지 확인할 수 없을 때.
•	Google Play 서비스가 없는 기기에 설치된 앱: 기기에 Google Play 서비스가 설치되어 있지 않은 경우.

이 조건들 중 하나라도 충족되면, 해당 앱은 고유한 앱 세트 ID를 가지며, 동일한 개발자 계정 아래의 다른 앱들과 ID를 공유하지 않는다고 한다.

AppSetID 준비사항

AppSetID를 사용하려면 GMA SDK 20.4.0 이상이 필요하다.
GMA SDK는 20.5.0 버전부터 Android 12 기기를 지원하며, 보고 및 사기 방지와 같은 사용 사례를 지원합니다.
자세한 릴리즈 노트가 필요하다면 Android 앱 세트 ID 페이지를 참고하자!.

AppSetID 사용하기

다음은 AppSetID를 사용하는 코드 예제이다:

val client = AppSet.getClient(applicationContext) as AppSetIdClient
val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo>

task.addOnSuccessListener({
   // Determine current scope of app set ID.
   val scope: Int = it.scope

   // Read app set ID value, which uses version 4 of the
   // universally unique identifier (UUID) format.
   val id: String = it.id
})

위 코드를 통해 출력해본 값은 다음과 같다:
scope : 1
id : 7710a317-5fac-e754-6db6-f6d928b370f2

AppSetID / ADID 차이

광고 추적금지 후 각 값 비교

•	Ad ID: 00000000-0000-0000-0000-000000000000
•	AppSetID: 7710a317-5fac-e754-6db6-f6d928b370f2

새로운 광고 ID 갱신 후 값 비교

•	Ad ID: aaff92ba-f1e3-427b-9b7a-f0cc7921dbc0
•	AppSetID: 7710a317-5fac-e754-6db6-f6d928b370f2

AppSetID 변경기준

다음 조건 중 하나에서 기기에 설치된 특정 Google Play 스토어 앱 세트에 대한 앱 세트 ID를 재설정할 수 있다:

•	13개월 이상 동일한 ID 값을 공유하는 앱 그룹에서 앱 세트 ID API에 액세스하지 않았습니다.
•	특정 앱 세트의 마지막 앱이 기기에서 제거되었습니다.
•	사용자가 기기를 공장 초기화했습니다.

앱은 필요할 때마다 SDK를 사용하여 ID 값을 검색해야 합니다.

마무리..

안드로이드 또한 사용자 개인정보를 보호하기 위해 많은것들이 바뀌고 있다.
가장 큰 변경점이라 생각했던것은 13부터 도입된 권한들..
해당 권한조정에 많은 조사가 필요했어서 한번 정리해 볼 예정이다.

AppSetID는 개발자 입장에서 좀더 편하게 사용 할 수 있을거 같다.
특히 추적허용에 관해 핸들링 할 필요가 없다는게 사용자와 개발자 모두 윈윈인 도입인 것 같다!

post-custom-banner

0개의 댓글