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, AATKit Flutter plugin provides CMP implementations.

Google CMP Usage

Android requires appId to be added to AndroidManifest, like

<meta-data
          android:name="com.google.android.gms.ads.APPLICATION_ID"
          android:value="YOUR-APP-ID"/>

For iOS you need to set the GADApplicationIdentifier value to the Info.plist file, like:

<key>GADApplicationIdentifier</key>
<string>YOUR-APP-ID</string>

Set Google CMP consent type when initializing AATKit:

await _aatkitFlutterPlugin.initAATKit(
  AATKitConfiguration(
    consent: ManagedConsent(
      cmp: CMPGoogle(),
      listener: ManagedConsentListener(
          managedConsentCMPFailedToLoad: (error) {
            print("[ManagedConsentListenerFlutter] managedConsentCMPFailedToLoad error: $error");
            _aatkitFlutterPlugin.reloadConsent();
          },
          managedConsentCMPFailedToShow: (error) => print(
              "[ManagedConsentListenerFlutter] managedConsentCMPFailedToShow error: $error"),
          managedConsentCMPFinished: (state) => print(
              "[ManagedConsentListenerFlutter] managedConsentCMPFinished state: $state"),
          managedConsentNeedsUserInterface: () {
            print("[ManagedConsentListenerFlutter] managedConsentNeedsUserInterface");
            _aatkitFlutterPlugin.showConsentIfNeeded();
          }),
    ),
  ),
);

SourcePoint CMP Usage

Pass all required SourcePoint values as configuration parameters when initializing AATKit.

await _aatkitFlutterPlugin.initAATKit(
  AATKitConfiguration(
    consent: ManagedConsent(
      cmp: CMPSourcePoint(
        accountId: your-account-id,
        propertyId: your-property-id,
        propertyName: "your-property-name",
        pmId: "your-pm-id",
      ),
      listener: ManagedConsentListener(
          managedConsentCMPFailedToLoad: (error) {
            print("[ManagedConsentListenerFlutter] managedConsentCMPFailedToLoad error: $error");
            _aatkitFlutterPlugin.reloadConsent();
          },
          managedConsentCMPFailedToShow: (error) => print(
              "[ManagedConsentListenerFlutter] managedConsentCMPFailedToShow error: $error"),
          managedConsentCMPFinished: (state) => print(
              "[ManagedConsentListenerFlutter] managedConsentCMPFinished state: $state"),
          managedConsentNeedsUserInterface: () {
            print("[ManagedConsentListenerFlutter] managedConsentNeedsUserInterface");
            _aatkitFlutterPlugin.showConsentIfNeeded();
          }),
    ),
  ),
);

SFBX/AppConsent

Make sure, your SFBX CMP has been set up at its backend dashboard. Our support recommends certain vendors to be included in your server-side setup in order to yield optimal revenues.

Pass API Key as configuration parameter when initializing AATKit.

await _aatkitFlutterPlugin.initAATKit(
  AATKitConfiguration(
    consent: ManagedConsent(
      cmp: CmpAppConsent(
          appKey: "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
      ),
      listener: ManagedConsentListener(
          managedConsentCMPFailedToLoad: (error) {
            print("[ManagedConsentListenerFlutter] managedConsentCMPFailedToLoad error: $error");
            _aatkitFlutterPlugin.reloadConsent();
          },
          managedConsentCMPFailedToShow: (error) => print(
              "[ManagedConsentListenerFlutter] managedConsentCMPFailedToShow error: $error"),
          managedConsentCMPFinished: (state) => print(
              "[ManagedConsentListenerFlutter] managedConsentCMPFinished state: $state"),
          managedConsentNeedsUserInterface: () {
            print("[ManagedConsentListenerFlutter] managedConsentNeedsUserInterface");
            _aatkitFlutterPlugin.showConsentIfNeeded();
          }),
    ),
  ),
);

Last updated