[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:
- 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);
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()wywołanie zwrotne w celu osiągnięcia tego celu. - 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 naszegodidReceiveMessagewywoł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:
- Zainicjuj zestaw SDK AdJust
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()odwołanie do ilustracji. - 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ąć.
- Zainicjuj Branch przy użyciu tokena aplikacji
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()odwołanie do ilustracji. - 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:
- Zainicjuj Kochava SDK
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()wywołanie zwrotne w celu osiągnięcia tego celu. - 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 naszegodidReceiveMessagewywoł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:
- Zainicjuj Singular SDK
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()wywołanie zwrotne w celu osiągnięcia tego celu. - 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 naszegodidReceiveMessagewywoł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:
- Zainicjuj AirBridge SDK
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()wywołanie zwrotne w celu osiągnięcia tego celu. - 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 naszegodidReceiveMessagewywoł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:
- Zainicjuj Tenjin SDK
- Zainicjuj nasz zestaw SDK CMP
- Użyj naszego pakietu CMP SDK, aby automatycznie zdecydować, czy potrzebujesz okna dialogowego z prośbą o zgodę w bieżącej sesji.
- 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.
- 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żywamydidReceiveConsent()wywołanie zwrotne w celu osiągnięcia tego celu. - 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.







