Managed Consent

Handle consent using managed consent

Introduction

AATKit’s Managed Consent is an easy way to facilitate IAB TCF compliant third-party Consent Management Platforms (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 AATManagedConsent instance must be initialized with:

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.

let configuration = AATConfiguration()
configuration.delegate = self
let cmp = <INSTANCE OF AATCMPGoogle OR AATSourcepointCMP>
var consent = AATManagedConsent(cmp: cmp, delegate: self, showIfNeededSetting: .always)
configuration.consent = consent
AATSDK.initAATKit(with: configuration)
consent?.showIfNeeded(<ROOT VIEW CONTROLLER>)

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.

When the user finishes his consent choice, you can check the consent status via the AATManagedConsentDelegate's method: func managedConsentCMPFinished(with state: AATManagedConsentState) where AATManagedConsentState 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).

If you would like to periodically re-ask users who rejected consent, you can use the public API showIfNeededOrRejected(daysAgo: Int, viewController: UIViewController) instead of showIfNeeded. In addition to normal showIfNeeded behaviour, it will check the consent state and timestamp of the last consent string update. If the consent is rejected and the last update happened more than daysAgo, the consent dialog will be shown again.

To set Consent opt-in status, you need to pass showIfNeededSetting to AATManagedConsent 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.

    • serverSideControl: showing the CMP will be based on the dashboard configurations.

  • It has a default value of: serverSideControl.

To check our server rules consent opt-in status call AATSDK.isConsentOptIn(), Only returns meaningful information after the rules are downloaded.

Code Example

Last updated