[Android] Tredjepartsapp-attributionspartners (AAP)

Ö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:

  1. 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);
    1. Initiera vårt CMP SDK
    2. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    3. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    4. 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 vi didReceiveConsent() callback för att uppnå detta. 
    5. 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år didReceiveMessage callback 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: 

    1. Initiera AdJust SDK 
    2. Initiera vårt CMP SDK
    3. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    4. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    5. 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 vi didReceiveConsent() callback för att illustrera. 
    6. 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. 

    1. Initiera Branch med hjälp av din app-token
    2. Initiera vårt CMP SDK
    3. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    4. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    5. 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 vi didReceiveConsent() callback för att illustrera. 
    6. 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:

    1. Initiera Kochava SDK 
    2. Initiera vårt CMP SDK
    3. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    4. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    5. 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 vi didReceiveConsent() callback för att uppnå detta. 
    6. 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år didReceiveMessage callback 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:

    1. Initiera Singular SDK 
    2. Initiera vårt CMP SDK
    3. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    4. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    5. 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 vi didReceiveConsent() callback för att uppnå detta. 
    6. 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år didReceiveMessage callback 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:

    1. Initiera AirBridge SDK 
    2. Initiera vårt CMP SDK
    3. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    4. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    5. 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 vi didReceiveConsent() callback för att uppnå detta. 
    6. 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år didReceiveMessage callback 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:

    1. Initiera Tenjin SDK 
    2. Initiera vårt CMP SDK
    3. Använd vårt CMP SDK för att automatiskt avgöra om du behöver samtyckesdialogen i den aktuella sessionen.
    4. Vid behov visas en samtyckesdialog för att registrera användarens val, oavsett om det är att acceptera allt, avvisa allt eller anpassa valen.
    5. 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 vi didReceiveConsent() callback för att uppnå detta. 
    6. 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.

     

    We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!