Capture Behavior Data
Version 3.x
Version 2.x
Post Data from an Authenticated Server-to-Server Connection
Post Data from an Unauthenticated Server-to-Server Connection
The Engagement Mobile SDK provides a comprehensive, managed solution for handling user consent regarding the collection and transmission of event data. This feature is essential for compliance with privacy regulations such as GDPR, CCPA, and other regional privacy laws that require explicit user consent before collecting personal data.
Your mobile application is responsible for:
The SDK automatically manages data collection behavior based on the consent state you set, ensuring compliance and providing a seamless user experience.
This table describes the Data 360 Module consent states.
| iOS Values | Android Values | Description |
|---|---|---|
Consent.optIn | Consent.OPT_IN | In this state, events are transmitted to the configured Data 360 endpoint for collection. If queued events are present, the Data 360 Module transmits them immediately to Data 360. |
Consent.optOut | Consent.OPT_OUT | In this state, events created by the mobile application are ignored by the SDK. The events are never queued or transmitted off the device. If queued events are present, the Data 360 Module deletes them from memory. |
Consent.pending | Consent.PENDING | The default consent value for a newly initialized Data 360 Module is pending. In this state, events are collected locally until an opt-in or opt-out state is set. |
The Data 360 Module can’t transmit events from a mobile device to Data 360 until the mobile application has collected customer consent for data collection.
If no prior consent has been set, then the initial state is pending. In this state, events are queued locally until consent is granted or revoked. If consent is granted, the queued events are transmitted to Data 360. If revoked, they’re deleted from the queue.
1import Cdp
2
3// when a user consents to data collection
4CdpModule.shared.setConsent(consent: Consent.optIn)
5
6// when a user does not consent to data collection
7CdpModule.shared.setConsent(consent: Consent.optOut)1import com.salesforce.marketingcloud.cdp.CdpSdk
2import com.salesforce.marketingcloud.cdp.consent.Consent
3
4// when a user consents to data collection
5CdpSdk.requestSdk { sdk -> sdk.consent = Consent.OPT_IN }
6
7// when a user does not consent to data collection
8CdpSdk.requestSdk { sdk -> sdk.consent = Consent.OPT_OUT }Access the current state of consent in the Data 360 Module:
1let consent = CdpModule.shared.getConsent()1CdpSdk.requestSdk { sdk ->
2 val consent = sdk.consent
3}