Implementación del consentimiento
Obtenga información sobre cómo implementar el consentimiento en una aplicación móvil.
La extensión móvil Adobe Experience Platform Consent habilita la recopilación de preferencias de consentimiento de su aplicación móvil al utilizar las extensiones Adobe Experience Platform Mobile SDK y Edge Network. Obtenga más información acerca de la extensión de consentimiento en la documentación.
Requisitos previos
- La aplicación se ha creado y ejecutado correctamente con los SDK instalados y configurados.
Objetivos de aprendizaje
En esta lección, deberá hacer lo siguiente:
- Solicitar el consentimiento al usuario.
- Actualice la extensión en función de la respuesta del usuario.
- Obtenga información sobre cómo obtener el estado de consentimiento actual.
Pedir consentimiento
Si ha seguido el tutorial desde el principio, es posible que recuerde que ha establecido el consentimiento predeterminado en la extensión de consentimiento en Pendiente: eventos de cola que se producen antes de que el usuario proporcione preferencias de consentimiento.
Para empezar a recopilar datos, debe obtener el consentimiento del usuario. En una aplicación real, le recomendamos que consulte las prácticas recomendadas de consentimiento para su región. En este tutorial, obtiene el consentimiento del usuario simplemente pidiéndolo con una alerta:
-
Solo desea solicitar el consentimiento al usuario una vez. Combina el consentimiento de Mobile SDK con la autorización necesaria para realizar el seguimiento mediante el marco de trabajo de transparencia de seguimiento de aplicaciones de Apple. En esta aplicación, se supone que cuando el usuario autoriza el seguimiento, consiente en recopilar eventos.
-
Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode.
Agregue este código a la función
updateConsent
.code language-swift // Update consent let collectConsent = ["collect": ["val": value]] let currentConsents = ["consents": collectConsent] Consent.update(with: currentConsents) MobileCore.updateConfigurationWith(configDict: currentConsents)
-
Vaya a Luma > Luma > Views > General > Vista de exención de responsabilidad en el navegador de proyectos de Xcode. El explorador de proyectos de Xode es la vista que se muestra después de instalar o reinstalar la aplicación e iniciar la aplicación por primera vez. Se le pide al usuario que autorice el seguimiento según el marco de trabajo de transparencia de seguimiento de aplicaciones de Apple. Si el usuario lo autoriza, también debe actualizar el consentimiento.
Agregue el código siguiente al cierre de
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") }
-
Solo desea solicitar el consentimiento al usuario una vez. En esta aplicación, se supone que cuando el usuario autoriza el seguimiento, consiente en recopilar eventos.
-
Vaya a app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK en el navegador de Android Studio.
Agregue este código a la función
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)
-
Vaya a app > kotlin+java > com.adobe.luma.tutorial.android > views > DisclaimerView.kt en el navegador de Android Studio.
Agregue el código siguiente a la función
DisclaimerView(navController: NavController)
debajo de// Set content to yes
y// 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") }
Obtener estado de consentimiento actual
La extensión móvil de consentimiento suprime automáticamente / suspende / permite el seguimiento en función del valor de consentimiento actual. También puede acceder al estado de consentimiento actual usted mismo:
-
Vaya a Luma > Luma > Utils > MobileSDK en el navegador de proyectos de Xcode.
Agregue el siguiente código a la función
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)") }
-
Vaya a Luma > Luma > Views > General > HomeView en el navegador de proyectos de Xcode.
Agregue el siguiente código al modificador
.task
:code language-swift // Ask status of consents MobileSDK.shared.getConsents()
En el ejemplo anterior, simplemente está registrando el estado de consentimiento en la consola en Xcode. En un escenario real, puede usarlo para modificar qué menús u opciones se muestran al usuario.
-
Vaya a app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK en el navegador de Android Studio.
Agregue el siguiente código a la función
getConsents()
:code language-kotlin // Get consents Consent.getConsents { callback -> if (callback != null) { val jsonStr = JSONObject(callback).toString(4) Log.i("MobileSDK", "Consent getConsents: $jsonStr") } }
-
Vaya a app > kotlin+java > com.adobe.luma.tutorial.android > views > HomeView.kt en el navegador de Android Studio.
Agregue el siguiente código a
LaunchedEffect(unit)
:code language-kotlin // Ask status of consents MobileSDK.shared.getConsents()
En el ejemplo anterior, simplemente registra el estado de consentimiento en la consola de Android Studio. En un escenario real, puede usarlo para modificar qué menús u opciones se muestran al usuario.
Validar con Assurance
-
Elimine la aplicación del dispositivo o simulador para restablecer e inicializar el seguimiento y el consentimiento correctamente.
-
Para conectar el simulador o dispositivo a Assurance, revise la sección instrucciones de instalación.
-
Al pasar en la aplicación de la pantalla Inicio a la pantalla Productos y de nuevo a la pantalla Inicio, debería ver el evento Obtener respuesta de consentimientos en la interfaz de usuario de Assurance.
Siguiente: Recopilar datos del ciclo vital