Informacje
Treść

[Android] Partnerzy atrybucji aplikacji zewnętrznych (AAP)

Omówienie

Dla naszych klientów, którzy integrują nasz CMP SDK z jednym z następujących zewnętrznych SDK, stworzyliśmy ten dokument, w którym znajdziesz indywidualne przewodniki, które pokażą, w jaki sposób zgody zebrane za pomocą naszego CMP SDK są przekazywane do tych SDK. Nasz CMP jest w pełni zgodny z TCF v3 i zbiera dane zgody DMA i przechowuje je w SharedPreferences. Niektóre z poniższych SDK mogą pobierać te dane automatycznie, a niektóre wymagają kodu. Sprawdź poniżej poszczególne przypadki użycia.  

Należy ściśle przestrzegać kolejności wywołań poszczególnych zestawów SDK. Nasz zestaw SDK CMP musi uzyskać zgodę użytkowników przed podjęciem jakichkolwiek działań w zestawach SDK stron trzecich poniżej.

W przypadku niektórych zestawów SDK od dostawców, takich jak AppsFlyer, AdJust i Branch, konieczne będzie (a) wywołanie naszego updateThirdPartyConsent() metoda, która automatycznie przekaże zebrane zgody do tych SDK poprzez introspekcję/refleksję lub (b) użyje własnych metod i właściwości, aby zrobić to ręcznie. Jeśli używasz naszego CMP SDK do automatycznego obsługiwania przekazywania danych zgody, oto przykład implementacji: 

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()
    }
}	

Aby uzyskać dalsze informacje, zapoznaj się z odpowiednimi instrukcjami stron trzecich poniżej.

AppsFlyer

Ten zestaw SDK wyszukuje ciąg TCF przechowywany w SharedPreferences obszar urządzenia, zapewniając automatyczny przepływ zgód zebranych na urządzeniu za pośrednictwem naszego CMP SDK do zdarzeń AppsFlyer. Aby przekazać dane zgody do AppsFlyer, należy postępować zgodnie z poniższymi instrukcjami:

  1. Zainicjuj zestaw SDK AppsFlyer oraz włącz zbieranie danych TCF. W kodzie przedstawionym w sekcji Przegląd tego dokumentu zamień część inicjalizacji innej firmy na:
            AppsFlyerLib.getInstance().init(<YOUR_DEV_KEY>, null, this);
    		AppsFlyerLib.enableTCFDataCollection(true);
    1. Zainicjuj nasz zestaw SDK CMP
    2. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    3. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    4. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W przykładzie w przeglądzie używamy didReceiveConsent() wywołanie zwrotne w celu osiągnięcia tego celu. 
    5. Ostatni krok można wykonać na dwa sposoby: (a) możesz skorzystać z fragmentu kodu z przeglądu lub (b) możesz zastąpić go fragmentem kodu AppFlyer start() metoda. W drugim przypadku zamień linię wewnątrz naszego didReceiveMessage wywołanie zwrotne za pomocą poniższej linii: 
            AppsFlyerLib.getInstance().start(this);

    Regulować

    Ten zestaw SDK nie pobiera danych o zgodzie przechowywanych w SharedPreferences obszaru urządzenia, więc masz dwa sposoby na osiągnięcie tego wyczynu: (a) automatyczny, który będzie w całości obsługiwany przez nasz CMP SDK; i (b) ręczny, w którym użyjesz obu funkcji SDK, aby to osiągnąć. Proszę postępować zgodnie z poniższymi instrukcjami: 

    1. Zainicjuj zestaw SDK AdJust 
    2. Zainicjuj nasz zestaw SDK CMP
    3. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    4. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    5. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W poniższym przykładzie używamy didReceiveConsent() odwołanie do ilustracji. 
    6. Jako ostatni krok możesz albo (a) wywołać updateThirdPartyConsent() metoda z naszego zestawu SDK CMP, który automatycznie przekaże dane do zestawu SDK AdJust poprzez introspekcję/refleksję lub zastąpi je poniższym kodem: 
          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)        
        }

    Oddział

    Ten zestaw SDK nie pobiera danych o zgodzie przechowywanych w SharedPreferences obszaru urządzenia, więc masz dwa sposoby na osiągnięcie tego wyczynu: (a) automatyczny, który będzie w całości obsługiwany przez nasz pakiet CMP SDK; oraz (b) ręczny, w którym wykorzystasz obie funkcje pakietu SDK, aby to osiągnąć. 

    1. Zainicjuj Branch przy użyciu tokena aplikacji
    2. Zainicjuj nasz zestaw SDK CMP
    3. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    4. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    5. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W poniższym przykładzie używamy didReceiveConsent() odwołanie do ilustracji. 
    6. Jako ostatni krok możesz albo (a) wywołać updateThirdPartyConsent() metoda z naszego zestawu SDK CMP, który automatycznie przekaże dane do zestawu SDK AdJust poprzez introspekcję/refleksję lub zastąpi je poniższym kodem: 
          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

    Ten zestaw SDK wyszukuje ciąg TCF przechowywany w SharedPreferences obszar urządzenia, zapewniając automatyczny przepływ zgód zebranych na urządzeniu za pośrednictwem naszego CMP SDK do zdarzeń AppsFlyer. Aby przekazać dane zgody do AppsFlyer, należy postępować zgodnie z poniższymi instrukcjami:

    1. Zainicjuj Kochava SDK 
    2. Zainicjuj nasz zestaw SDK CMP
    3. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    4. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    5. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W przykładzie w przeglądzie używamy didReceiveConsent() wywołanie zwrotne w celu osiągnięcia tego celu. 
    6. Ostatni krok można wykonać na dwa sposoby: (a) możesz skorzystać z fragmentu kodu z przeglądu lub (b) możesz zastąpić go kodem Kochavy startWithAppGuid() metoda. W drugim przypadku zamień linię wewnątrz naszego didReceiveMessage wywołanie zwrotne za pomocą poniższej linii: 
    	Tracker.getInstance().startWithAppGuid(applicationContext, "YOUR_ANDROID_APP_GUID")	

    Osobliwy

    Ten zestaw SDK wyszukuje ciąg TCF przechowywany w SharedPreferences obszar urządzenia, zapewniając automatyczny przepływ zgód zebranych na urządzeniu za pośrednictwem naszego CMP SDK do zdarzeń AppsFlyer. Aby przekazać dane zgody do AppsFlyer, należy postępować zgodnie z poniższymi instrukcjami:

    1. Zainicjuj Singular SDK 
    2. Zainicjuj nasz zestaw SDK CMP
    3. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    4. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    5. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W przykładzie w przeglądzie używamy didReceiveConsent() wywołanie zwrotne w celu osiągnięcia tego celu. 
    6. Ostatni krok można wykonać na dwa sposoby: (a) możesz skorzystać z fragmentu kodu z przeglądu lub (b) możesz zastąpić go kodem Singulara trackingOptIn() metoda. W drugim przypadku zamień linię wewnątrz naszego didReceiveMessage wywołanie zwrotne za pomocą poniższej linii: 
    	Singular.trackingOptIn();

    Most powietrzny

    Ten zestaw SDK wyszukuje ciąg TCF przechowywany w SharedPreferences obszar urządzenia, zapewniając automatyczny przepływ zgód zebranych na urządzeniu za pośrednictwem naszego CMP SDK do zdarzeń AppsFlyer. Aby przekazać dane zgody do AppsFlyer, należy postępować zgodnie z poniższymi instrukcjami:

    1. Zainicjuj AirBridge SDK 
    2. Zainicjuj nasz zestaw SDK CMP
    3. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    4. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    5. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W przykładzie w przeglądzie używamy didReceiveConsent() wywołanie zwrotne w celu osiągnięcia tego celu. 
    6. Ostatni krok można wykonać na dwa sposoby: (a) możesz skorzystać z fragmentu kodu z przeglądu lub (b) możesz zastąpić go kodem AirBridge startTracking() metoda. W drugim przypadku zamień linię wewnątrz naszego didReceiveMessage wywołanie zwrotne za pomocą poniższej linii: 
    	Airbridge.startTracking()

    tenjin

    Ten zestaw SDK wyszukuje ciąg TCF przechowywany w SharedPreferences obszar urządzenia, zapewniając automatyczny przepływ zgód zebranych na urządzeniu za pośrednictwem naszego CMP SDK do zdarzeń AppsFlyer. Aby przekazać dane zgody do AppsFlyer, należy postępować zgodnie z poniższymi instrukcjami:

    1. Zainicjuj Tenjin SDK 
    2. Zainicjuj nasz zestaw SDK CMP
    3. Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
    4. W razie potrzeby zostanie wyświetlone okno dialogowe z prośbą o wyrażenie zgody przez użytkownika, w którym można zaakceptować wszystkie opcje, odrzucić wszystkie opcje lub dostosować opcje.
    5. Uzyskaj potwierdzenie od CMP, że użytkownik podjął decyzję o wyrażeniu zgody, a dane są dostępne w SharedPreferences. Istnieją różne sposoby zrobienia tego z naszym CMP SDK. W przykładzie w przeglądzie używamy didReceiveConsent() wywołanie zwrotne w celu osiągnięcia tego celu. 
    6. Ostatni krok można wykonać na dwa sposoby: (a) możesz skorzystać z fragmentu kodu z przeglądu lub (b) możesz zastąpić go kodem Tenjin optIn()/optOut() metody.

     

    Powrót do góry