[Android] Drittanbieter-App-Attributionspartner (AAPs)
Übersicht
Für unsere Kunden, die unser CMP SDK zusammen mit einem der folgenden Drittanbieter-SDKs integrieren, haben wir dieses Dokument zusammengestellt. Darin finden Sie individuelle Anleitungen, die zeigen, wie die mit unserem CMP SDK gesammelten Einwilligungen an diese SDKs weitergegeben werden. Unser CMP ist vollständig kompatibel mit TCF v3 und sammelt DMA-Einwilligungsdaten und speichert sie in SharedPreferencesEinige der unten aufgeführten SDKs können diese Daten automatisch abrufen, andere erfordern Code. Bitte überprüfen Sie unten die einzelnen Anwendungsfälle.
Halten Sie die Reihenfolge der verschiedenen SDK-Aufrufe strikt ein. Unser CMP SDK muss die Zustimmung der Benutzer einholen, bevor es in den SDKs von Drittanbietern irgendeine Aktion ausführt. unten mit.
Bei einigen SDKs von Anbietern wie AppsFlyer, AdJust und branch müssen Sie entweder (a) unsere updateThirdPartyConsent() Methode, die die gesammelten Einwilligungen automatisch per Introspektion/Reflexion an diese SDKs weiterleitet, oder (b) eigene Methoden und Eigenschaften verwenden, um dies manuell zu tun. Falls Sie unser CMP SDK zur automatischen Weitergabe der Einwilligungsdaten verwenden, finden Sie hier ein Implementierungsbeispiel:
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()
}
}
Weitere Informationen finden Sie in den jeweiligen Anweisungen des Drittanbieters weiter unten.
AppsFlyer
Dieses SDK sucht nach TCF-Zeichenfolgen, die in der SharedPreferences Bereich des Geräts. Dadurch wird die automatische Weiterleitung der auf dem Gerät über unser CMP SDK gesammelten Einwilligungen an AppsFlyer-Ereignisse ermöglicht. Um Einwilligungsdaten an AppsFlyer weiterzuleiten, befolgen Sie bitte die folgenden Anweisungen:
- Initialisieren Sie das AppsFlyer SDK und TCF-Datenerfassung aktivieren. Ersetzen Sie im Code im Abschnitt „Übersicht“ dieses Dokuments den Initialisierungsteil von Drittanbietern durch:
AppsFlyerLib.getInstance().init(<YOUR_DEV_KEY>, null, this);
AppsFlyerLib.enableTCFDataCollection(true);
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im Beispiel in der Übersicht verwenden wir dasdidReceiveConsent()Rückruf, um dies zu erreichen. - Der letzte Schritt kann auf zwei Arten durchgeführt werden: (a) Sie können unserem Code-Teil aus der Übersicht folgen oder (b) Sie können ihn durch AppFlyers ersetzen.
start()Methode. Im letzteren Fall ersetzen Sie die Zeile in unseremdidReceiveMessageRückruf durch die folgende Zeile:
AppsFlyerLib.getInstance().start(this);
Anpassen
Dieses SDK ruft keine Einwilligungsdaten ab, die im SharedPreferences Bereich des Geräts. Sie haben daher zwei Möglichkeiten, dies zu erreichen: (a) automatisch, was vollständig von unserem CMP SDK übernommen wird; und (b) manuell, wobei Sie die Funktionen beider SDKs nutzen. Bitte folgen Sie den folgenden Anweisungen:
- Initialisieren des AdJust SDK
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im folgenden Beispiel verwenden wir diedidReceiveConsent()Rückruf zur Veranschaulichung. - Als letzten Schritt können Sie entweder (a) den
updateThirdPartyConsent()Methode aus unserem CMP SDK, das die Daten automatisch per Introspektion/Reflexion an das SDK von AdJust weiterleitet oder durch den folgenden Code ersetzt:
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)
}
Filiale
Dieses SDK ruft keine Einwilligungsdaten ab, die im SharedPreferences Bereich des Geräts, sodass Sie dieses Kunststück auf zwei Arten erreichen können: (a) automatisch, was vollständig von unserem CMP SDK übernommen wird; und (b) manuell, wobei Sie die Funktionen beider SDKs nutzen, um dies zu erreichen.
- Initialisieren Sie Branch mit Ihrem App-Token
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im folgenden Beispiel verwenden wir diedidReceiveConsent()Rückruf zur Veranschaulichung. - Als letzten Schritt können Sie entweder (a) den
updateThirdPartyConsent()Methode aus unserem CMP SDK, das die Daten automatisch per Introspektion/Reflexion an das SDK von AdJust weiterleitet oder durch den folgenden Code ersetzt:
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
Dieses SDK sucht nach TCF-Zeichenfolgen, die in der SharedPreferences Bereich des Geräts. Dadurch wird die automatische Weiterleitung der auf dem Gerät über unser CMP SDK gesammelten Einwilligungen an AppsFlyer-Ereignisse ermöglicht. Um Einwilligungsdaten an AppsFlyer weiterzuleiten, befolgen Sie bitte die folgenden Anweisungen:
- Initialisieren Sie das Kochava SDK
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im Beispiel in der Übersicht verwenden wir dasdidReceiveConsent()Rückruf, um dies zu erreichen. - Der letzte Schritt kann auf zwei Arten durchgeführt werden: (a) Sie können unserem Code-Block aus der Übersicht folgen oder (b) Sie können ihn durch Kochavas ersetzen.
startWithAppGuid()Methode. Im letzteren Fall ersetzen Sie die Zeile in unseremdidReceiveMessageRückruf durch die folgende Zeile:
Tracker.getInstance().startWithAppGuid(applicationContext, "YOUR_ANDROID_APP_GUID")
Singular
Dieses SDK sucht nach TCF-Zeichenfolgen, die in der SharedPreferences Bereich des Geräts. Dadurch wird die automatische Weiterleitung der auf dem Gerät über unser CMP SDK gesammelten Einwilligungen an AppsFlyer-Ereignisse ermöglicht. Um Einwilligungsdaten an AppsFlyer weiterzuleiten, befolgen Sie bitte die folgenden Anweisungen:
- Initialisieren des Singular SDK
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im Beispiel in der Übersicht verwenden wir dasdidReceiveConsent()Rückruf, um dies zu erreichen. - Der letzte Schritt kann auf zwei Arten durchgeführt werden: (a) Sie können unserem Code-Block aus der Übersicht folgen oder (b) Sie können ihn durch Singulars ersetzen
trackingOptIn()Methode. Im letzteren Fall ersetzen Sie die Zeile in unseremdidReceiveMessageRückruf durch die folgende Zeile:
Singular.trackingOptIn();
Luftbrücke
Dieses SDK sucht nach TCF-Zeichenfolgen, die in der SharedPreferences Bereich des Geräts. Dadurch wird die automatische Weiterleitung der auf dem Gerät über unser CMP SDK gesammelten Einwilligungen an AppsFlyer-Ereignisse ermöglicht. Um Einwilligungsdaten an AppsFlyer weiterzuleiten, befolgen Sie bitte die folgenden Anweisungen:
- Initialisieren Sie das AirBridge SDK
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im Beispiel in der Übersicht verwenden wir dasdidReceiveConsent()Rückruf, um dies zu erreichen. - Der letzte Schritt kann auf zwei Arten durchgeführt werden: (a) Sie können unserem Code-Teil aus der Übersicht folgen oder (b) Sie können ihn durch AirBridges ersetzen.
startTracking()Methode. Im letzteren Fall ersetzen Sie die Zeile in unseremdidReceiveMessageRückruf durch die folgende Zeile:
Airbridge.startTracking()
Tenjin
Dieses SDK sucht nach TCF-Zeichenfolgen, die in der SharedPreferences Bereich des Geräts. Dadurch wird die automatische Weiterleitung der auf dem Gerät über unser CMP SDK gesammelten Einwilligungen an AppsFlyer-Ereignisse ermöglicht. Um Einwilligungsdaten an AppsFlyer weiterzuleiten, befolgen Sie bitte die folgenden Anweisungen:
- Initialisieren Sie das Tenjin SDK
- Initialisieren Sie unser CMP SDK
- Verwenden Sie unser CMP SDK, um automatisch zu entscheiden, ob Sie den Zustimmungsdialog in der aktuellen Sitzung benötigen.
- Bei Bedarf wird ein Zustimmungsdialogfeld angezeigt, um die Zustimmungsoptionen des Benutzers zu erfassen, sei es „Alle akzeptieren“, „Alle ablehnen“ oder „Auswahl anpassen“.
- Erhalten Sie eine Bestätigung vom CMP, dass der Benutzer seine Zustimmungsentscheidung getroffen hat und die Daten verfügbar sind in
SharedPreferences. Es gibt verschiedene Wege Dies können wir mit unserem CMP SDK tun. Im Beispiel in der Übersicht verwenden wir dasdidReceiveConsent()Rückruf, um dies zu erreichen. - Der letzte Schritt kann auf zwei Arten durchgeführt werden: (a) Sie können unserem Code-Block aus der Übersicht folgen oder (b) Sie können ihn durch Tenjin ersetzen
optIn()/optOut()Methoden.







