Översikt
För våra kunder som integrerar vårt CMP SDK tillsammans med något av följande SDK från tredje part har vi sammanställt detta dokument där du hittar enskilda guider som visar hur samtycken som samlats in med vårt CMP SDK vidarebefordras till dessa SDK. Vår CMP är fullt kompatibel med TCF v2.2 och samlar in DMA-samtyckesdata och lagrar den i SharedPreferences. Vissa av SDK:erna nedan kan hämta dessa data automatiskt, medan andra kräver kod. Se nedan för de enskilda användningsfallen.
Följ noggrant ordningen på de olika SDK-anropen. Vår CMP-SDK måste samla in användarnas samtycke innan någon åtgärd alls utförs i de tredjeparts-SDK:er som anges nedan.
På vissa SDK:er från leverantörer som AppsFlyer, AdJust och Branch måste du antingen (a) anropa vår updateThirdPartyConsent() metod, som automatiskt vidarebefordrar de insamlade samtyckena till dessa SDK:er via introspektion/reflektion, eller (b) använda deras egna metoder och egenskaper för att göra det manuellt. Om du använder vårt CMP SDK för att automatiskt hantera överföringen av samtyckesdata, här är ett exempel på implementering:
import net.consentmanager.cm_sdk_android_v3.CMPManager
import net.consentmanager.cm_sdk_android_v3.CMPManagerDelegate
import net.consentmanager.cm_sdk_android_v3.ConsentLayerUIConfig
import net.consentmanager.cm_sdk_android_v3.UrlConfig
public class AppsflyerBasicApp extends Application {
@Override
public void onCreate() {
super.onCreate()
// Initialize your third-party SDK. Replace the code below by your respective third-party init code
// according to the instructions along this document
String yourClientToken = "YOUR-CLIENT-TOKEN"
YourThirdPartySdk yourThirdPartySdk = YourThirdPartySdk.getInstance()
yourThirdPartySdk.init(yourClientToken)
// Initializing our CMP SDK
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
cmpManager = CMPManager.getInstance(
context = this,
urlConfig = urlConfig,
webViewConfig = webViewConfig,
delegate = this
)
cmpManager.setActivity(this)
// Here our CMP SDK will automatically display the consent layer if there is no consent
// or the consent is expired. The didReceiveConsent() callback below will be triggered
// once user consent is collected, which happens right after the users accepts/rejects
// and all IAB TCF data is persisted to the SharedPreferences area
checkAndOpen()
}
override fun didReceiveConsent(consent: String, jsonObject: Map<String, Any>) {
Log.d("CMP DemoApp", "Consent Layer successfully received consent message.")
// Here we'll automatically handle the passing of the consent from our
// CMP SDK to the 3P SDK
cmpManager.updateThirdPartyConsent()
}
}
För mer information, gå vidare till respektive tredjepartsinstruktioner nedan.
AppsFlyer
Detta SDK söker efter TCF-strängen som lagras i SharedPreferences området på enheten och tillhandahåller automatisk överföring av de samtycken som samlats in på enheten via vårt CMP SDK till AppsFlyer-händelser. För att överföra samtyckesdata till AppsFlyer, följ instruktionerna nedan:
- Initiera AppsFlyer SDK och aktivera TCF-datainsamling. I koden som presenteras i avsnittet Översikt i detta dokument ska du ersätta initialiseringsdelen för tredjepart med:
AppsFlyerLib.getInstance().init(<YOUR_DEV_KEY>, null, this);
AppsFlyerLib.enableTCFDataCollection(true);
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP om att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet i översikten använder vididReceiveConsent()callback för att uppnå detta. - Det sista steget kan utföras på två sätt: (a) du kan följa vår kodsnutt från översikten eller (b) du kan ersätta den med AppFlyers
start()metod. I det senare fallet ersätter du raden inuti vårdidReceiveMessagecallback med raden nedan:
AppsFlyerLib.getInstance().start(this);
AdJust
Detta SDK hämtar inte samtyckesdata som lagras i SharedPreferences enhetens område, så du har två sätt att uppnå detta: (a) automatiskt, vilket hanteras helt av vårt CMP-SDK; och (b) manuellt, där du använder båda SDK:ernas funktioner för att uppnå detta. Följ instruktionerna nedan:
- Initiera AdJust SDK
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP om att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet nedan använder vididReceiveConsent()callback för att illustrera. - Som ett sista steg kan du antingen (a) anropa
updateThirdPartyConsent()metoden från vårt CMP SDK, vilket automatiskt skickar data till AdJusts SDK via introspektion/reflektion, eller ersätta den med koden nedan:
override fun didReceiveConsent(consent: String, jsonObject: Map<String, Any>) {
Log.d("CMP DemoApp", "Consent Layer successfully received consent message.")
// Retrieve Google Consent Mode data...
val consentData = cmpManager.getGoogleConsentModeStatus();
// ... and parse it to pass to AdJust SDK
val adStorageConsent = consentSettings["ad_storage"] == "granted" ? "1" : "0"
val adPersonalizationConsent = consentSettings["ad_personalization"] == "granted" ? "1" : "0"
val adjustThirdPartySharing = AdjustThirdPartySharing(true)
adjustThirdPartySharing.addGranularOption("google_dma", "eea", "1");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_personalization", adPersonalizationConsent);
adjustThirdPartySharing.addGranularOption("google_dma", "ad_user_data", adStorageConsent);
Adjust.trackThirdPartySharing(adjustThirdPartySharing)
}
Bransch
Detta SDK hämtar inte samtyckesdata som lagras i SharedPreferences enhetens område, så du har två sätt att uppnå detta: (a) automatiskt, vilket hanteras helt av vårt CMP SDK; och (b) manuellt, där du använder båda SDK:ernas funktioner för att uppnå detta.
- Initiera Branch med hjälp av din app-token
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP:n att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet nedan använder vididReceiveConsent()callback för att illustrera. - Som ett sista steg kan du antingen (a) anropa
updateThirdPartyConsent()metoden från vårt CMP SDK, vilket automatiskt skickar data till AdJusts SDK via introspektion/reflektion, eller ersätta den med koden nedan:
override fun didReceiveConsent(consent: String, jsonObject: Map<String, Any>) {
Log.d("CMP DemoApp", "Consent Layer successfully received consent message.")
// Retrieve Google Consent Mode data...
val consentData = cmpManager.getGoogleConsentModeStatus();
// ... and parse it to pass to AdJust SDK
val adStorageConsent = consentSettings["ad_storage"] == "granted"
val adPersonalizationConsent = consentSettings["ad_personalization"] == "granted"
// Example for an EEA resident
Branch.getInstance().setDMAParamsForEEA(true,adPersonalizationConsent,adStorageConsent)
// Example for an non-EEA resident
Branch.getInstance().setDMAParamsForEEA(false,adPersonalizationConsent,adStorageConsent)
// For further information, check:
// https://help.branch.io/developers-hub/docs/ios-advanced-features#user-data
}
Kochava
Detta SDK söker efter TCF-strängen som lagras i SharedPreferences området på enheten och tillhandahåller automatisk överföring av de samtycken som samlats in på enheten via vårt CMP SDK till AppsFlyer-händelser. För att överföra samtyckesdata till AppsFlyer, följ instruktionerna nedan:
- Initiera Kochava SDK
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP om att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet i översikten använder vididReceiveConsent()callback för att uppnå detta. - Det sista steget kan utföras på två sätt: (a) du kan följa vår kodsnutt från översikten eller (b) du kan ersätta den med Kochavas
startWithAppGuid()metod. I det senare fallet ersätter du raden inuti vårdidReceiveMessagecallback med raden nedan:
Tracker.getInstance().startWithAppGuid(applicationContext, "YOUR_ANDROID_APP_GUID")
Singular
Detta SDK söker efter TCF-strängen som lagras i SharedPreferences området på enheten och tillhandahåller automatisk överföring av de samtycken som samlats in på enheten via vårt CMP SDK till AppsFlyer-händelser. För att överföra samtyckesdata till AppsFlyer, följ instruktionerna nedan:
- Initiera Singular SDK
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP:n om att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet i översikten använder vididReceiveConsent()callback för att uppnå detta. - Det sista steget kan utföras på två sätt: (a) du kan följa vår kodsnutt från översikten eller (b) du kan ersätta den med Singulars
trackingOptIn()metod. I det senare fallet ersätter du raden inuti vårdidReceiveMessagecallback med raden nedan:
Singular.trackingOptIn();
AirBridge
Detta SDK söker efter TCF-strängen som lagras i SharedPreferences området på enheten och tillhandahåller automatisk överföring av de samtycken som samlats in på enheten via vårt CMP SDK till AppsFlyer-händelser. För att överföra samtyckesdata till AppsFlyer, följ instruktionerna nedan:
- Initiera AirBridge SDK
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP om att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet i översikten använder vididReceiveConsent()callback för att uppnå detta. - Det sista steget kan utföras på två sätt: (a) du kan följa vår kodsnutt från översikten eller (b) du kan ersätta den med AirBridges
startTracking()metod. I det senare fallet ersätter du raden inuti vårdidReceiveMessagecallback med raden nedan:
Airbridge.startTracking()
Tenjin
Detta SDK söker efter TCF-strängen som lagras i SharedPreferences området på enheten och tillhandahåller automatisk överföring av de samtycken som samlats in på enheten via vårt CMP SDK till AppsFlyer-händelser. För att vidarebefordra samtyckesdata till AppsFlyer, följ instruktionerna nedan:
- Initiera Tenjin SDK
- Initiera vårt CMP SDK
- Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
- Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
- Få bekräftelse från CMP om att användaren har gett sitt samtycke och att uppgifterna finns tillgängliga i
SharedPreferences. Det finns olika sätt att göra detta med vårt CMP SDK. I exemplet i översikten använder vididReceiveConsent()callback för att uppnå detta. - Det sista steget kan utföras på två sätt: (a) du kan följa vår kodsnutt från översikten eller (b) du kan ersätta den med Tenjins
optIn()/optOut()metoder.