동의 구현
모바일 앱에서 동의를 구현하는 방법을 알아봅니다.
Adobe Experience Platform Consent 모바일 확장을 사용하면 Adobe Experience Platform Mobile SDK 및 Edge Network 확장을 사용할 때 모바일 앱에서 동의 환경 설정을 수집할 수 있습니다. 설명서에서 동의 확장에 대해 자세히 알아보세요.
전제 조건
- SDK가 설치 및 구성된 앱을 빌드하고 실행했습니다.
학습 목표
이 단원에서는 다음 작업을 수행합니다.
- 사용자에게 동의를 묻는 메시지를 표시합니다.
- 사용자 응답을 기반으로 확장을 업데이트합니다.
- 현재 동의 상태를 가져오는 방법을 알아봅니다.
동의 요청
처음부터 자습서를 따랐다면 동의 확장에 있는 기본 동의를 보류 중 - 사용자가 동의 환경 설정을 제공하기 전에 발생하는 큐 이벤트로 설정했음을 기억할 수 있습니다.
데이터 수집을 시작하려면 사용자의 동의를 받아야 합니다. 실제 앱에서는 지역에 대한 동의 모범 사례를 참조해야 합니다. 이 자습서에서는 경고를 사용하여 요청하기만 하면 사용자의 동의를 받습니다.
-
사용자에게 동의를 한 번만 요청하려고 합니다. Mobile SDK 동의와 Apple의 앱 추적 투명도 프레임워크를 사용하여 추적하는 데 필요한 권한을 결합합니다. 이 앱에서는 사용자가 추적 권한을 부여할 때 이벤트 수집에 동의한다고 가정합니다.
-
Xcode 프로젝트 탐색기에서 Luma > Luma > Utils > MobileSDK(으)로 이동합니다.
이 코드를
updateConsent
함수에 추가합니다.code language-swift // Update consent let collectConsent = ["collect": ["val": value]] let currentConsents = ["consents": collectConsent] Consent.update(with: currentConsents) MobileCore.updateConfigurationWith(configDict: currentConsents)
-
Xcode의 프로젝트 탐색기에서 Luma > Luma > Views > General > 면책조항 보기 로 이동합니다. Xode의 Project navigator는 애플리케이션을 설치 또는 재설치하고 앱을 처음 시작한 후 표시되는 보기입니다. Apple의 앱 추적 투명도 프레임워크에 따라 추적을 승인하라는 메시지가 표시됩니다. 사용자가 권한을 부여하면 동의도 업데이트됩니다.
ATTrackingManager.requestTrackingAuthorization { status in
닫기에 다음 코드를 추가합니다.code language-swift // Add consent based on authorization if status == .authorized { // Set consent to yes MobileSDK.shared.updateConsent(value: "y") } else { // Set consent to yes MobileSDK.shared.updateConsent(value: "n") }
-
사용자에게 동의를 한 번만 요청하려고 합니다. 이 앱에서는 사용자가 추적 권한을 부여할 때 이벤트 수집에 동의한다고 가정합니다.
-
Android Studio 탐색기에서 앱 > kotlin+java > com.adobe.luma.tutorial.android > 모델 > MobileSDK 로 이동합니다.
이 코드를
updateConsent(value: String)
함수에 추가합니다.code language-kotlin // Update consent val collectConsent = mapOf("collect" to mapOf("val" to value)) val currentConsents = mapOf("consents" to collectConsent) Consent.update(currentConsents) MobileCore.updateConfiguration(currentConsents)
-
Android Studio 탐색기에서 앱 > kotlin+java > com.adobe.luma.tutorial.android > 보기 > 면책조항 보기.kt 로 이동합니다.
DisclaimerView(navController: NavController)
및// Set content to yes
아래의// Set content to no
함수에 다음 코드를 추가합니다.code language-kotlin // Add consent based on authorization if (status) { showPersonalizationWarning = false // Set consent to yes MobileSDK.shared.updateTrackingStatus(TrackingStatus.AUTHORIZED) MobileSDK.shared.updateConsent("y") } else { Toast.makeText( context, "You will not receive offers and location tracking will be disabled.", Toast.LENGTH_LONG ).show() showPersonalizationWarning = true // Set consent to no MobileSDK.shared.updateTrackingStatus(TrackingStatus.DENIED) MobileSDK.shared.updateConsent("n") }
현재 동의 상태 가져오기
동의 모바일 확장은 현재 동의 값을 기반으로 추적을 자동으로 억제/보류/허용합니다. 현재 동의 상태에 직접 액세스할 수도 있습니다.
-
Xcode의 Project 탐색기에서 Luma > Luma > Utils > MobileSDK(으)로 이동합니다.
getConsents
함수에 다음 코드를 추가합니다.code language-swift // Get consents Consent.getConsents { consents, error in guard error == nil, let consents = consents else { return } guard let jsonData = try? JSONSerialization.data(withJSONObject: consents, options: .prettyPrinted) else { return } guard let jsonStr = String(data: jsonData, encoding: .utf8) else { return } Logger.aepMobileSDK.info("Consent getConsents: \(jsonStr)") }
-
Xcode의 Project 탐색기에서 Luma > Luma > Views > General > HomeView(으)로 이동합니다.
.task
한정자에 다음 코드를 추가합니다.code language-swift // Ask status of consents MobileSDK.shared.getConsents()
위의 예에서는 단순히 동의 상태를 Xcode의 콘솔에 로깅하는 것입니다. 실제 시나리오에서는 이를 사용하여 사용자에게 표시되는 메뉴나 옵션을 수정할 수 있습니다.
-
Android Studio 탐색기에서 앱 > kotlin+java > com.adobe.luma.tutorial.android > 모델 > MobileSDK 로 이동합니다.
getConsents()
함수에 다음 코드를 추가합니다.code language-kotlin // Get consents Consent.getConsents { callback -> if (callback != null) { val jsonStr = JSONObject(callback).toString(4) Log.i("MobileSDK", "Consent getConsents: $jsonStr") } }
-
Android Studio 탐색기에서 앱 > kotlin+java > com.adobe.luma.tutorial.android > 보기 > HomeView.kt 로 이동합니다.
LaunchedEffect(unit)
에 다음 코드를 추가하십시오.code language-kotlin // Ask status of consents MobileSDK.shared.getConsents()
위의 예에서는 단순히 Android Studio의 콘솔에 동의 상태를 기록하는 것입니다. 실제 시나리오에서는 이를 사용하여 사용자에게 표시되는 메뉴나 옵션을 수정할 수 있습니다.
Assurance를 사용한 유효성 검사
-
장치 또는 시뮬레이터에서 애플리케이션을 삭제하여 추적을 재설정하고 올바르게 동의를 초기화합니다.
-
시뮬레이터 또는 장치를 Assurance에 연결하려면 설치 지침 섹션을 검토하십시오.
-
앱에서 홈 화면에서 제품 화면으로 이동하고 홈 화면으로 다시 이동하면 Assurance UI에 동의 가져오기 이벤트가 표시됩니다.
다음: 라이프사이클 데이터 수집