General Handling

Introduction to consent handling

Apps (more precisely: their publishers and third-party library vendors) have to get consent from the users for serving personalized ads in order to comply with data protection laws such as GDPR. Applications also have to provide a button for the user to be able to change the consent settings. AATKit provides three ways of handling user consent:

Managed Consent

If you plan to use an IAB TCF compliant Consent Management Platform (CMP) that Gravite has already adapted, and you don’t want to care about their specific APIs, you should consider using the Managed Consent. The Managed Consent will also take care of automatically passing user consent to non IAB compliant ad networks that you use with AATKit.

Vendor Consent

If you plan to use an IAB TCF compliant Consent Management Platform (CMP) that Gravite has not yet adapted, or you want to create your own GDPR-compliant consent management and explicitly want to manage consents for different ad networks/vendors, you should consider using the Vendor Consent - specifically to pass consent to ad networks not complying with the IAB TCF (if you want to use those).

Simple Consent

If you don’t plan to use an IAB TCF compliant Consent Management Platform (CMP), or you want to create your own GDPR-compliant consent management but don’t want to explicitly consent for different ad networks/vendors, you can consider using Simple Consent. It will just manage one single consent value that is relevant for all respective ad networks/vendors.

For more general information about data protection topics, please consider visiting Gravite Landing Page.

Rule Skipping

  • This feature is disabled by default.

  • If enabled AATKit skips rules for ad networks in case the user didn't grant consent for them.

  • Purpose: enable faster ad loading by skipping networks without consent which typically do not serve ads at all or very poorly paid ones.

  • To enable rule skipping:

AATKitConfiguration configuration = new AATKitConfiguration(this);
...
configuration.setShouldSkipRules(true);
...
AATKit.init(configuration);

Default list of networks to be skipped

By default, the following ad networks will be skipped when they have no consent and rule skipping is enabled:

  • Digital Turbine (ADCOLONY)

  • Admob

  • AdX

  • Amazon HB

  • Xandr (APPNEXUS)

  • Criteo SDK

  • Google AdManager (DFP)

  • Google AdManager (Direct) (DFPDIRECT)

  • Inmobi

  • Ogury

  • Verve (PUBNATIVE)

  • Magnite (RUBICON)

  • smaato

  • Teads

  • Equativ (SMARTAD)

  • Equativ (Direct) (SMARTADSERVERDIRECT)

  • YOC

  • FeedAd

  • Tappx

  • Mintegral

Modifying list of networks to be skipped

If rule skipping is enabled, by default AATKit will use the above default set of networks to be skipped if they have no consent. To change this default set and skip rules only for specific ad networks:

AATKitConfiguration configuration = new AATKitConfiguration(this);
configuration.setShouldSkipRules(true);
Consent consent = new SimpleConsent(NonIABConsent.OBTAINED);
// Skip rules only for SmartAd and Smaato
Set<AdNetwork> networksToBeSkipped = new HashSet<>();
networksToBeSkipped.add(AdNetwork.SMARTAD);
networksToBeSkipped.add(AdNetwork.SMAATO);
consent.setNoConsentNetworkStopSet(networksToBeSkipped);
configuration.setConsent(consent);
AATKit.init(configuration);

To check if consent is OptIn or not, use the following API:

boolean isConsentOptIn = AATKit.isConsentOptIn();

This API only returns meaningful information after the rules are downloaded.

CCPA Handling

AATKit now supports CCPA only if the CCPA consent string is found. AATKit will read and react automatically to the CCPA string changes in SharedPreferences.

If both TCF and CCPA are present the TCF takes precedence.

Last updated