Through the General Data Protection Regulation Policy (GDPR) applicable in the European economic area and the California Consumer Privacy Act (CCPA) and to support publishers in meeting their duties under this policy, Teads inApp SDK offers different ways to provide the user consent during the ad server request.
CCPA compatibility only for SDK version 4.5.0 and superior
If your CMP is IAB compliant
If you have a consent management platform (CMP) compliant with the IAB GDPR specifications and IAB CCPA specifications, good news, Teads SDK is able to recover the user status and consent by itself through the Android shared preferencesNSUserDefaults.
For GDPR
TCF v1
Be sure that IABConsent_SubjectToGDPR and IABConsent_ConsentString are correctly implemented
TCF v2 (4.7.2+)
TCFv2 compatibility only for SDK version 4.7.2 and above
Be sure that IABTCF_CmpSdkID, IABTCF_gdprApplies, IABTCF_TCString, IABTCF_PolicyVersion are correctly implemented
For CCPA
Be sure That IABUSPrivacy_String is correctly implemented.
If your CMP is not IAB compliant (or no CMP is installed)
If your CMP is not IAB compliant (or not installed), it's recommended to provide the status and user consent at every load of an Ad.
For GDPR
To do this, you can use the userConsent method in the AdSettingsTeadsAdSettings Builder.
TCF v1
The param subjectToGDPR should be:
- "1" if the traffic or the publisher is in the EEA (European Economic Area),
- "0" if it is not, null if it's unknown.
AdSettings.Builder adSettingsBuilder = new AdSettings.Builder();
adSettingsBuilder.userConsent(String subjectToGDPR, String consent); // The user consent following the IAB specifications :https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/Mobile%20In-App%20Consent%20APIs%20v1.0%20Final.md.
adView.load(adSettingBuilder.build());
let teadsAdSettings = TeadsAdSettings(build: { (settings) in
settings.userConsent(subjectToGDPR: self.subjectToGDPR, consent: self.consent) // The user consent following the IAB specifications :https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/Mobile%20In-App%20Consent%20APIs%20v1.0%20Final.md
})
TCF v2 (4.7.2+)
The param subjectToGDPR should be:
- "1" if the traffic or the publisher is in the EEA (European Economic Area),
- "0" if it is not, null if it's unknown.
AdSettings.Builder adSettingsBuilder = new AdSettings.Builder();
adSettingsBuilder.userConsent(String subjectToGDPR, String consent, TCFVersion tcfVersion, Integer cmpSdkID); // The user consent following the IAB specifications :https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md.
adView.load(adSettingBuilder.build());
let teadsAdSettings = TeadsAdSettings(build: { (settings) in
settings.userConsent(subjectToGDPR: self.subjectToGDPR, consent: self.consent, .v2, self.cmpSdkId) // The user consent following the IAB specifications :https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md
})
For CCPA
To do this, you can use the UsPrivacy method in the AdSettingsTeadsAdSettings Builder:
AdSettings.Builder().apply {
enableDebug()
setUsPrivacy("")
}.build()
let teadsAdSettings = TeadsAdSettings(build: { (settings) in
settings.setUsPrivacy(consent: yourUsPrivacyString) // e.g. 1YNN
})