Managed Consent
Handle consent using AATKit managed consent
Last updated
Handle consent using AATKit managed consent
Last updated
AATKit’s Managed Consent is an easy way to facilitate compliant third-party (CMPs) by providing a unified API and wrappers. In order to make use of Managed Consent, pass an instance of AATManagedConsent
to your AATConfiguration
instance while initializing AATKit.
An instance must be initialized with:
cmp
: An instance of CMP
interface. Currently, supported implementations are CMPGoogle
(), CMPSourcepoint
(), and CMPAppConsent
()
context
: An Context instance (Activity, Application)
delegate
: An instance of an object that implements interface.
Also, the app needs to trigger the presentation of the CMP by calling showIfNeeded
. The CMP will only appear if user consent wasn’t asked for recently or is outdated.
Added to this, your app must provide a way for the user to edit once given consent settings, e.g. by providing a button in the app’s “Privacy Settings”. This button must trigger editConsent
.
Also, your instance of the respective CMP used must be set up at its respective backend/dashboard. Please refer to your CMP’s documentation or contact our support.
If you would like to periodically re-ask users that rejected consent, you can use method showIfNeededOrRejected(daysAgo: Int, activity: Activity)
instead of showIfNeeded
. In addition to normal showIfNeeded
behaviour, it will check consent state and timestamp of last consent string update. If the consent is rejected and last update happened more than daysAgo
, consent dialog will be shown again.
To set Consent opt-in status, you need to pass showIfNeededSetting
to ManagedConsent
while initializing.
showIfNeededSetting
can be one of the following:
ALWAYS
: always show the CMP.
NEVER
: never show the CMP, However, the publisher can still call the editConsent
API.
SERVER_SIDE_CONTROL
: showing the CMP will be based on the dashboard configurations.
It has a default value of: SERVER_SIDE_CONTROL
.
When the user finishes his consent choice, you can check the consent status via the 's method: managedConsentCMPFinished(state: ManagedConsentState)
where is an enum with the available (non-IAB) consent states. This shall facilitate a more easy understanding of the complex IAB consent string and is only used for internal purposes (e.g. reporting).
To check the server-side consent opt-in status call AATKit.isConsentOptIn()
, which only returns meaningful information after AATKit was successfully initialized (and did download its mediation rules from the backend (If you want to observe this, see )).
.