[IOS] 1. consentmanager Integración SDK
En este documento encontrará información general sobre cómo integrar nuestro SDK a su proyecto. Para obtener más detalles, consulte nuestra Referencia de la API documentación.
1. Instalación
consentmanager SDK es una solución integral para gestionar el consentimiento de los usuarios en aplicaciones móviles. Diseñado para gestionar el cumplimiento del RGPD, las preferencias de privacidad del usuario y la transparencia del seguimiento de anuncios, este SDK proporciona una integración perfecta para las plataformas iOS y Android. Además, ofrece complementos y puentes de contenedor para React Native, Flutter y Unity, lo que lo hace versátil en varios entornos de desarrollo.
Pasos: descripción de alto nivel
-
Integración y Configuración:
- Integre el SDK en su aplicación.
- Configure los ajustes del SDK según sus necesidades.
-
Creación de una instancia y visualización de la capa de consentimiento:
- Al iniciar la aplicación, cree una instancia de
CMPManager
clase. Esta instancia se encargará del proceso de consentimiento. - El SDK mostrará automáticamente la pantalla de consentimiento si es necesario.
- Al iniciar la aplicación, cree una instancia de
-
Tratamiento de los datos de consentimiento del usuario:
- Una vez que se recopilan los consentimientos, la información se almacena y está disponible para su consulta a través de diferentes propiedades y métodos expuestos por nuestro SDK. Tendrás información sobre consentimientos rechazados o aceptados, proveedores y propósitos.
1.1 Integración y configuración
Opción 1: CocoaPods
Añade la siguiente línea a tu Podfile:
pod 'cm-sdk-ios-v3', '3.0.0'
Entonces corre:
pod install --repo-update
Opción 2: Administrador de paquetes Swift
- Descargue la última versión de XCFramework desde nuestra Página de lanzamientos de GitHub.
- En XCode, vaya al menú
File
>Add Package Dependency
. - Agregue la URL del repositorio SDK arriba
- SPM ahora buscará el repositorio y le pedirá que seleccione una versión.
Puede optar por agregar el paquete seleccionando una regla de versión:
-Up to Next Major
: Esto actualizará el paquete a la próxima versión principal. Es la opción recomendada ya que agrega actualizaciones que no tienen cambios de última hora.
-Up to Next Minor
: Esto actualizará el paquete a la próxima versión secundaria.
-Exact
: Esto bloqueará el paquete a una versión específica. No se instalarán actualizaciones. - Importe el SDK insertando en la parte superior de las clases que implementan los métodos del SDK la siguiente línea:
import cm_sdk_ios_v3
- En la configuración de su destino, vaya a "General" > "Marcos, bibliotecas y contenido integrado" y asegúrese de que el marco esté configurado en "Incrustar y firmar".
1.2 Creación de una instancia y visualización de la capa de consentimiento
Dentro del inicio de la aplicación (su viewDidLoad
función), debes crear una instancia de clase CMPManager
Necesitará configurar dos objetos que se pasarán al método getInstance: UrlConfig
, que maneja la configuración de su CMP, como el ID de código y el idioma predeterminado, y ConsentLayerUIConfig
. que configurará la apariencia de WKWebView que mostrará la capa de consentimiento. Después de eso, pasará la capa actual ViewController
usando el método setPresentingViewController
y atribuya el delegado, como se muestra a continuación. En el ejemplo siguiente, puede encontrar los dos objetos que se pasan. checkWithServerAndOpenIfNecessary()
La función obtendrá automáticamente los datos necesarios de nuestro servidor y determinará si es necesario mostrar la pantalla de consentimiento o no. Si es así, el SDK mostrará automáticamente la pantalla de consentimiento en este punto, a través de un WKWebView
creado por nuestro SDK, que mostrará la capa de consentimiento con el texto y los botones de acuerdo con sus configuraciones de CMP (elegidas a través del ID de código de su CMP), recopilará los datos y conservará la información de consentimiento en el área NSUserDefaults del dispositivo, para que la aplicación pueda mostrar los anuncios específicos en consecuencia.
Tenga en cuenta que es vital declarar e inicializar el CMPManager
SDK en el viewDidLoad
método, de lo contrario, la vista podría no estar lista para usarse y el SDK podría fallar. Además, asegúrese de estar usando los datos de configuración correctos. Los datos de configuración se pueden encontrar en su consentmanager cuenta en Menú > CMP > Obtener código para aplicaciones > Código-ID
Además, tenga en cuenta que las funciones relacionadas con la determinación de si se necesita o no el consentimiento, así como la visualización de la capa de consentimiento, dependen de una conexión de red fiable. Si no hay conexión disponible o si el mecanismo de reintento no logra llegar a nuestro servidor, el evento didReceiveError devolverá un error de tiempo de espera, por lo que el SDK no podrá determinar la necesidad de un consentimiento, ya que no podrá mostrar la capa de consentimiento. Asegúrese de que su lógica tenga esto en cuenta.
Ejemplo:
import cm_sdk_ios_v3
class YourViewController: UIViewController, CMPManagerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let cmpManager = CMPManager.shared
cmpManager.setUrlConfig(UrlConfig(
id: "your_id_here", // example: a000aaaaa1a
domain: "your_domain_here", // usually, delivery.consentmanager.net
language: "your_language_here", // example: DE
appName: "Your App Name")) // example: testApp
cmpManager.setWebViewConfig(ConsentLayerUIConfig(
position: .fullScreen,
backgroundStyle: .dimmed(.black, 0.5),
cornerRadius: 5,
respectsSafeArea: true,
allowsOrientationChanges: true))
cmpManager.setPresentingViewController(self)
cmpManager.delegate = self
cmpManager.checkWithServerAndOpenIfNecessary { error in
if let error = error {
print("Error initializing consent: \(error)")
} else {
print("ConsentManager initialized and consent received and stored on the device's NSUserDefaults.")
}
}
}
1.3 Tratamiento de los datos de consentimiento de los usuarios
Comprobación de los consentimientos de los usuarios
Nuestro SDK ofrece distintos métodos para comprobar y recuperar información de consentimiento. Los métodos principales se muestran en el siguiente ejemplo:
// On the example below retrieved from our Demo App, we have some examples
// of how to check consents from the user, either accepted or rejected.
let hasConsent = CMPManager.shared.hasUserChoice() // checks if the user has already accepted/rejected consents
let hasPurposeC53 = CMPManager.shared.hasPurposeConsent(id: "c53") // checks if the user accepted the purpose "c53"
let hasVendorS2790 = CMPManager.shared.hasVendorConsent(id: "s2790") // checks if the user accepted the vendor "s2790"
Para obtener más información sobre los otros métodos, consulte nuestra Documentación de la API.
Reapertura de la capa de consentimiento para verificar las opciones de los usuarios
Para permitir que el usuario verifique o cambie sus opciones, simplemente puede llamar openConsentLayer()
cmpManager.openConsentLayer()
Este método mostrará la capa de consentimiento a través de la misma instancia de WKWebView creada en los pasos anteriores.
Importación/exportación de información de consentimiento a otras fuentes
En algunos casos, una aplicación nativa puede contener vistas web para mostrar información, como publicidad o contenido. Para transmitir la información de consentimiento desde el SDK a la vista web, puede recuperar la cadena de consentimiento mediante:
consentData = cmpManager.exportCMPInfo()
Esto exportará la información de consentimiento y todos los demás datos que necesita la CMP. Luego, puede pasar esta información a la CMP que se encuentra en su vista web agregándola a la URL que se llama en la vista web.
Si, de lo contrario, necesita importar la cadena de consentimiento mediante el SDK, puede utilizar el siguiente ejemplo:
let consentStringToImport = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(consentStringToImport)
Integración con Apple Tracking Transparency (ATT)
En caso de que esté utilizando seguimiento o análisis en su aplicación, le recomendamos leer la guía en Implementación del ATT aquí.
Crear un diseño personalizado
Para crear una vista personalizada de WKWebView, como cambiar su posición o fondo, por ejemplo, puede cambiar la configuración pasada al objeto ConsentLayerUIConfig como se muestra a continuación:
ConsentLayerUIConfig(
position: .halfScreenTop,
backgroundStyle: .dimmed(.grey, 0.75),
cornerRadius: 20,
respectsSafeArea: false,
allowsOrientationChanges: true)
Inicio de sesión
Al utilizar nuestro SDK de iOS, es posible que necesite depurar o analizar información de registro para diversos fines. Los registros generados por nuestro SDK están etiquetados como "CMP", lo que le permite filtrar y ver fácilmente solo los registros relevantes. Para obtener más información, consulte esta sección de nuestra documentación.