Consent Management (Version 3.x)
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:
- Presenting clear consent options to device owners about data collection practices
- Collecting user preferences through appropriate UI components (consent dialogs, settings screens, etc.)
- Setting the Data 360 Module consent property based on user choice
- Handling consent changes when users modify their preferences
- Storing consent state persistently across app sessions
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. This state cannot be set manually — it is managed by the SDK. Only optIn and optOut can be assigned. See the platform-specific behavior below. |
The pending state behaves differently on each platform:
- iOS: Engagement and profile events are blocked — they are neither queued nor transmitted. Lifecycle and behavior events (app foreground/background, screen views) are allowed through, as they are needed to bootstrap a session. Once
optInis set, a newdeviceIdis generated and the SDK begins transmitting. - Android: Events are queued locally while consent is pending. If the user opts in, queued events are flushed and transmitted to Data 360. If the user opts out, queued events are deleted without being sent.
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. See the consent states table for platform-specific behavior during the pending state. If consent is granted, events begin transmitting to Data 360 (on Android, any queued events are flushed). If revoked, any queued events are deleted.
Access the current state of consent in the Data 360 Module: