Android GDPR Consent 사용

사용 버전: Android Studio 4.0.1
사용 언어: Kotlin 1.4.0

안드로이드 GDPR Consent 사용을 알아보겠습니다.


GDPR Consent는 유럽경제지역(EEA)에 광고를 포함해서 앱을 출시한다면 꼭 필요한 사항입니다.
Consent 또는 동의라고 명칭하겠습니다.

예전에는 다른 방법을 사용해서 동의를 얻었습니다.(Legacy가 되어 버림) 현재는 구글에서 Funding Choices를 만들어서 배포하고 있기 때문에 해당 기능을 사용해 봅시다.






admob에 로그인해서 개인 정보 보호 및 메시지로 이동합니다.

Funding choices로 이동을 누릅니다.






자신이 만든 앱들이 보입니다.


GDPR 동의를 만들 앱을 누릅니다.







만들기를 누릅니다.





선택합니다.









적당한 메시지 이름을 적어주시고, 메시지 언어를 선택합니다. 마음에 드는 선택항목을 하나 고릅니다.







이런 미리 보기 창이 나옵니다.

옆에서 조절할 수 있습니다.



위에 있는 저장을 누릅니다.








예를 누릅니다.






게시를 누릅니다.







예를 누릅니다.








동의 세부정보를 누릅니다.








개인 정보처리 방침 URL에 개인 정보처리를 어떻게 하겠다는 걸 명시한 URL을 적어주세요.(예: 개인 정보 약관 보기 눌렀을 때 나오는 화면) 없으시다면 블로그나 이런 곳에 만드셔야겠죠?







연결된 공급업체를 눌러줍니다. 사실 어디 어디에 공급되는지 잘 모릅니다. 전체 선택이 왜 없는지 모르겠네요. 그냥 일반적으로 사용되는 공급업체를 눌렀습니다.



저장을 누르면 처음 페이지로 돌아옵니다.











이제 Android Studio로 갑니다.

앱 용 build.gradle로 가서 아래를 입력합니다.

implementation 'com.google.android.ump:user-messaging-platform:1.0.0'








Sync Now를 누릅니다.



admob페이지에서 앱 설정을 누릅니다.






그리고 앱 ID를 복사합니다.








Android Studio에 AndroidManifest.xml에 meta-data를 추가합니다.

value에는 위에서 복사한 ID를 넣습니다.








자 이제 GDPR Consent SDK를 써봅시다.

SDK는 다음 순서로 진행됩니다.

1. 최근 동의 내역을 확인합니다.

2. 동의가 필요한 지역인지 확인합니다.

3. 동의 화면을 띄울 수 있으면 띄웁니다.

4. 동의 화면을 보여줍니다.

5. 전에 동의 한 내용을 변경 가능하게 만듭니다.




Consent를 띄울 kotlin 파일로 갑니다. 저는 MainActivity에 만들었습니다.






consentForm과 consentInformation을 만듭니다.


onCreate에 아래를 입력합니다.





consent를 요구하기 위해서는 몇 가지 확인 사항이 필요합니다.

1. 광고 추적이 제한되어 있는 사용자인지

2. 동의를 받기에 나이가 어린지


이러한 것을 확인하기 위해 isConsentFormAvailable을 사용합니다.







loadForm에 아래를 추가합니다.








ConsentStatus에는 4 가지 종류가 있습니다.

UNKNOWN = 동의 상태를 알 수 없음.

REQUIRED = 동의가 필요하지만 아직 응답을 얻지 않음.

NOT_REQUIRED = 동의가 필요 없음 EEA 또는 UK 지역이 아님.

OBTAINED = 동의를 얻었음.



loadForm을 수정합니다.







어떻게 작동하는지 궁금하면, 디버그 모드를 추가합니다.

debugSettings를 만든 다음, params에 추가하면 됩니다.







만약 AVD가 아닌 실제 휴대폰이라면, 휴대폰 Hash 값을 넣어줘야 합니다.








실행하면 다음과 같이 나옵니다.





끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)