[Android] 2. API-Dokumentation
Die CMPManager
Die Klasse bietet Methoden zum Verwalten der Benutzereinwilligung zur Datenverarbeitung und -verfolgung. Diese Dokumentation behandelt die wichtigsten verfügbaren Methoden für die Integration mobiler Apps.
Initialisierung
Objekt UrlConfig(:UrlConfig)
Legt die URL-Konfiguration für die Consent Manager. Muss mit dem untenstehenden Wert initialisiert und an den getInstance
Methode.
Parameter:
-
id
: String – Die CMP-ID -
domain
: String – Die Domäne für das Einwilligungsmanagement -
language
: String - Der Sprachcode (z. B. „EN“) -
appName
: String - Der Name Ihrer App
Beispiel:
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
setActivity(Aktivität: Aktivität)
Legt die Aktivität fest, die die Zustimmungsebene präsentiert. Es sollte eine ComponentActivity
.
Parameter:
-
viewController
: ComponentActivity – Die Aktivität, bei der die Zustimmungsebene angezeigt wird.
Rücksendung: Keine
Beispiel:
CMPManager.shared.setPresentingViewController(self)
Verwaltung der Einwilligungsebene
checkIfConsentIsRequired(Vervollständigung: (Boolesch) -> Einheit)
Überprüft, ob die Zustimmung des Benutzers erforderlich ist. Dies führt über die in unserem SDK erstellte WebView einen Netzwerkaufruf an unsere Server aus, der über JavaScript eine Nachricht an unser Backend sendet. Unser Backend erkennt, ob das Gerät über eine gültige Zustimmung verfügt oder nicht, und sendet eine Nachricht zurück an die WebView, um zu bestimmen, ob sie angezeigt werden muss oder nicht. einen Seitenaufruf verbrauchen im Prozess. Abhängig von der zurückgegebenen Nachricht interpretiert das SDK diese und gibt seine Ergebnisse über den Abschlusshandler zurück.
Parameter:
-
completion
: (Boolean) -> Unit - Eine Closure, die mit dem Ergebnis aufgerufen wird, entwedertrue
orfalse
.
Rücksendung: Keine
Beispiel:
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkWithServerAndOpenIfNecessary(Abschluss: (Ergebnis ) -> Einheit)
Prüft beim Server, ob eine Zustimmung erforderlich ist, und öffnet bei Bedarf die Zustimmungsebene. Dadurch wird ein Netzwerkaufruf an unsere Server über die in unserem SDK erstellte WebView durchgeführt. einen Seitenaufruf verbrauchen im Prozess. Dieser Netzwerkaufruf sendet über JavaScript eine Nachricht an unser Backend, das erkennt, ob das Gerät über eine gültige Zustimmung verfügt oder nicht, was wiederum bestimmt, ob die Zustimmungsebene angezeigt werden muss oder nicht.
Parameter:
-
completion
: Ein Abschluss, der aufgerufen wird, wenn die Operation abgeschlossen ist, mit dem Ergebnis entwedertrue
orfalse
.
Rücksendung: Keine
Beispiel:
cmpManager.checkWithServerAndOpenIfNecessary { result ->
result.onSuccess {
toastMessage = "Check and Open Consent Layer operation done successfully."
}.onFailure { error ->
toastMessage = "Check and Open Consent Layer operation failed with error: $error"
}
openConsentLayer(Abschluss: (Ergebnis ) -> Einheit)
Öffnet die Zustimmungsebene. Es führt einen Netzwerkanruf an unser Backend durch. einen Seitenaufruf verbrauchen im Prozess. Es wird die Zustimmungsebene angezeigt, die es dem Benutzer ermöglicht, entweder alle Auswahlmöglichkeiten zu akzeptieren oder alle abzulehnen oder, je nach CMP-Design, die Zustimmungen detaillierter zu steuern.
Parameter:
-
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist und entweder eine erfolgreiche Ausführung oder einen Fehler zurückgibt.
Rücksendung: Keine
Beispiel:
cmpManager.openConsentLayer { result ->
result.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
Zustimmungsstatus
exportCMPInfo()
Exportiert die aktuell auf dem Gerät gespeicherten Zustimmungsinformationen als Zeichenfolge. Diese Methode ruft die Zustimmungszeichenfolge aus dem Bereich SharedPreferences des Geräts ab und gibt sie zurück. Normalerweise werden diese Informationen an den importCMPInfo
Methode.
Rücksendung: String - Die exportierten Einwilligungsinformationen
Beispiel:
val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: \(cmpInfo)")
hatZweckZustimmung(id: String)
Überprüft, ob die Zustimmung zu einem bestimmten Zweck erteilt wurde und diese Zustimmung auf dem Gerät gespeichert ist. Es prüft den Bereich SharedPreferences auf akzeptierte oder abgelehnte Zustimmungen und filtert die als Parameter übergebene ID. Es gibt „true“ zurück, wenn die Zustimmung akzeptiert wurde, andernfalls „false“.
Parameter:
-
id
: String - Die ID des zu prüfenden Zwecks
Rücksendung: Boolean
- True
wenn eine Einwilligung vorliegt, false
Andernfalls
Beispiel:
val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("Has consent for purpose c53: \(hasPurposeConsent)")
hatBenutzerauswahl()
Überprüft, ob der Benutzer eine Auswahl bezüglich der Einwilligungen getroffen hat und diese Einwilligung auf dem Gerät gespeichert ist. Das bedeutet, dass der Benutzer entweder alle Einwilligungen akzeptiert, alle abgelehnt oder eine gemischte Auswahl aus abgelehnten und akzeptierten Einwilligungen getroffen hat, je nach CMP-Design, was es den Benutzern ermöglichen könnte, einige der Einwilligungen zuzulassen und andere abzulehnen. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Boolean
- true
wenn der Benutzer eine Auswahl getroffen hat, false
Andernfalls
Beispiel:
val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: \(hasChoice)")
hatVendorConsent(id: String)
Überprüft, ob die Zustimmung für einen bestimmten Anbieter erteilt wurde und diese Zustimmung gemäß den CMP-Konfigurationen auf dem Gerät gespeichert wird. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Parameter:
-
id
: String - Die ID des zu prüfenden Lieferanten
Rücksendung: Boolean
- True
wenn eine Einwilligung vorliegt, false
Andernfalls
Beispiel:
val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: \(hasVendorConsent)")
Zweck- und Lieferantenmanagement
getAllPurposesIDs()
Ruft gemäß den CMP-Konfigurationen alle auf dem Gerät gespeicherten Zweck-IDs ab. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Liste - Eine Liste aller IDs
Beispiel:
val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: \(allPurposes)")
getAllVendorsIDs()
Ruft gemäß den CMP-Konfigurationen alle auf dem Gerät gespeicherten Anbieter-IDs ab. Diese Informationen sind erst dann aktuell, wenn die Zustimmung ordnungsgemäß in den SharedPreferences gespeichert wurde. Gesamtfläche unserer Sitzes, wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Liste - Eine Liste aller Lieferanten-IDs
Beispiel:
val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: \(allVendors)")
getDisabledPurposesIDs()
Ruft die IDs aller deaktivierten Zwecke ab, die auf dem Gerät gespeichert sind, entsprechend den CMP-Konfigurationen und den Benutzereinstellungen. Wenn der Benutzer alle Zustimmungen akzeptiert, ist dieses Feld leer. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Liste - Eine Liste deaktivierter Zweck-IDs
Beispiel:
val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: \(disabledPurposes)")
getDisabledVendorsIDs()
Ruft die IDs aller deaktivierten Anbieter ab, die auf dem Gerät gespeichert sind, gemäß den CMP-Konfigurationen. Wenn der Benutzer alle Zustimmungen akzeptiert, ist dieses Feld leer. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Liste - Eine Liste deaktivierter Lieferanten-IDs
Beispiel:
val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: \(disabledVendors)")
getEnabledPurposesIDs()
Ruft die IDs aller aktivierten Zwecke ab, die auf dem Gerät gespeichert sind, gemäß den CMP-Konfigurationen. Wenn der Benutzer alle Zustimmungen ablehnt, ist dieses Feld leer. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Liste - Eine Liste der aktivierten Zweck-IDs
Beispiel:
val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: \(enabledPurposes)")
getEnabledVendorsIDs()
Ruft die IDs aller aktivierten Anbieter ab, die auf dem Gerät gespeichert sind. Wenn der Benutzer alle Zustimmungen ablehnt, ist dieses Feld leer. Diese Informationen sind erst dann aktuell, wenn die Zustimmung im Bereich „SharedPreferences“ ordnungsgemäß gespeichert wurde., wenn Sie also direkt nach der Verwendung von Methoden prüfen, die Änderungen in der Zustimmung auslösen, wie openConsentLayer
, acceptAll
or rejectAll
, dann zum Beispiel Warten Sie, bis der Rückruf dieser Methoden ausgelöst wird, bevor Sie auf die Methode zugreifen. hasUserChoice
, um sicherzustellen, dass die Informationen aktuell sind.
Rücksendung: Liste - Eine Liste der aktivierten Lieferanten-IDs
Beispiel:
val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: \(enabledVendors)")
Änderung der Einwilligung
acceptAll(Abschluss: (Ergebnis ) -> Einheit)
Akzeptiert die Zustimmung für alle Zwecke und Anbieter, einen Seitenaufruf verbrauchen im Prozess. Es führt einen Netzwerkaufruf an unser Backend über eine in die WebView eingefügte Nachricht durch, die die Annahme aller Zustimmungen gemäß der CMP-Konfiguration auslöst. Diese Informationen sind für die anderen Methoden erst verfügbar, nachdem der Rückruf einen Erfolg oder Fehler zurückgegeben hat, was bedeutet, dass sie von unserem Backend erfolgreich verarbeitet und auf dem Gerät gespeichert wurden.
Parameter:
-
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist und einen Fehler oder Erfolg zurückgibt.
Rücksendung: Keine
Beispiel:
cmpManager.acceptAll { result ->
result.onSuccess {
toastMessage = "All consents accepted"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
AkzeptierenZwecke(Zwecke: Liste , updatePurpose: Boolean, Abschluss: (Ergebnis ) -> Einheit)
Akzeptiert die Zustimmung zu bestimmten Zwecken, einen Seitenaufruf verbrauchen im Prozess. Es führt einen Netzwerkaufruf an unser Backend über eine in die WebView eingefügte Nachricht durch, die die Annahme der als Parameter übergebenen festgelegten Zwecke gemäß der CMP-Konfiguration auslöst. Diese Informationen sind für die anderen Methoden erst verfügbar, nachdem der Rückruf einen Erfolg oder Fehler zurückgegeben hat, was bedeutet, dass sie von unserem Backend erfolgreich verarbeitet und auf dem Gerät gespeichert wurden.
Parameter:
-
purposes
: Liste - Eine Liste der zu akzeptierenden Zweck-IDs -
updatePurpose
: Boolean - Gibt an, ob verwandte Zwecke aktualisiert werden sollen -
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist und entweder einen Fehler oder einen Erfolg zurückgibt
Rücksendung: Keine
Beispiel:
cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
acceptVendors(Anbieter: Liste , Abschluss: (Ergebnis ) -> Einheit)
Akzeptiert die Zustimmung bestimmter Anbieter, einen Seitenaufruf verbrauchen im Prozess. Es führt einen Netzwerkaufruf an unser Backend über eine in die WebView eingefügte Nachricht durch, die die Annahme der als Parameter übergebenen ermittelten Anbieter gemäß der CMP-Konfiguration auslöst. Diese Informationen sind für die anderen Methoden erst verfügbar, nachdem der Rückruf einen Erfolg oder Fehler zurückgegeben hat, was bedeutet, dass sie von unserem Backend erfolgreich verarbeitet und auf dem Gerät gespeichert wurden.
Parameter:
-
vendors
: Liste - Eine Liste der zu akzeptierenden Lieferanten-IDs -
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist
Rücksendung: Keine
Beispiel:
cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
importCMPInfo(cmpString: String)
Importiert Zustimmungsinformationen aus einem CMP-String. Dadurch wird ein einfacher String mit den Zustimmungsdaten empfangen, der normalerweise über den exportCMPInfo
Methode. Diese Informationen bleiben im Bereich SharedPreferences des Geräts erhalten und werden gleichzeitig über eine in die WebView eingefügte Nachricht an unser Backend gesendet. Dabei wird ein Seitenaufruf verbraucht.
Parameter:
-
cmpString
: String – Der zu importierende CMP-String -
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist und entweder einen Fehler oder einen Erfolg zurückgibt
Rücksendung: Keine
Beispiel:
val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectAll(Abschluss: (Ergebnis ) -> Einheit)
Verweigert die Zustimmung für alle Zwecke und Anbieter, einen Seitenaufruf verbrauchen im Prozess. Es führt einen Netzwerkaufruf an unser Backend über eine in die WebView eingefügte Nachricht durch, die gemäß der CMP-Konfiguration die Ablehnung aller Zustimmungen auslöst. Diese Informationen sind für die anderen Methoden erst verfügbar, nachdem der Rückruf einen Erfolg oder Fehler zurückgegeben hat, was bedeutet, dass sie von unserem Backend erfolgreich verarbeitet und auf dem Gerät gespeichert wurden.
Parameter:
-
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist
Rücksendung: Keine
Beispiel:
cmpManager.rejectAll { result ->
result.onSuccess {
toastMessage = "All consents rejected"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectPurposes(Zwecke: Liste , updateVendor: Boolean, Abschluss: (Ergebnis ) -> Einheit)
Die Zustimmung zu bestimmten Zwecken verweigert, einen Seitenaufruf verbrauchen im Prozess. Es führt einen Netzwerkaufruf an unser Backend über eine in die WebView eingefügte Nachricht durch, die die Ablehnung der als Parameter übergebenen festgelegten Zwecke gemäß der CMP-Konfiguration auslöst. Diese Informationen sind für die anderen Methoden erst verfügbar, nachdem der Rückruf einen Erfolg oder Fehler zurückgegeben hat, was bedeutet, dass sie von unserem Backend erfolgreich verarbeitet und auf dem Gerät gespeichert wurden.
Parameter:
-
purposes
:List<String>
- Eine Liste der abzulehnenden Zweck-IDs -
updateVendor
:Boolean
- Ob zugehörige Anbieter aktualisiert werden sollen -
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist
Rücksendung: Keine
Beispiel:
cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectVendors(Anbieter: Liste , Abschluss: (Ergebnis ) -> Einheit)
Lehnt die Zustimmung für bestimmte Anbieter ab, einen Seitenaufruf verbrauchen im Prozess. Es führt einen Netzwerkaufruf an unser Backend über eine in die WebView eingefügte Nachricht durch, die die Ablehnung der als Parameter übergebenen ermittelten Anbieter gemäß der CMP-Konfiguration auslöst. Diese Informationen sind für die anderen Methoden erst verfügbar, nachdem der Rückruf einen Erfolg oder Fehler zurückgegeben hat, was bedeutet, dass sie von unserem Backend erfolgreich verarbeitet und auf dem Gerät gespeichert wurden.
Parameter:
-
vendors
: Liste - Eine Liste der abzulehnenden Lieferanten-IDs -
completion
: Ein Abschluss, der aufgerufen wird, wenn der Vorgang abgeschlossen ist und entweder einen Fehler oder einen Erfolg zurückgibt
Rücksendung: Keine
Beispiel:
cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
zurücksetzenConsentManagementData()
Setzt alle Einwilligungsverwaltungsdaten zurück. Dadurch werden alle Einträge im Bereich „SharedPreferences“ im Zusammenhang mit vom Benutzer akzeptierten oder abgelehnten Einwilligungen vollständig gelöscht. Dies ist vergleichbar mit dem vollständigen Entfernen der App vom Gerät.
Parameter:
Keine
Rücksendung: Keine
Beispiel:
cmpManager.resetConsentManagementData()
CMPManagerDelegate-Ereignisse
didReceiveConsent(Zustimmung: String, jsonObject: [String: Beliebig])
Dies wird ausgelöst, wenn die Zustimmungsebene geschlossen wurde, nachdem der Benutzer seine Zustimmungen aktualisiert hatte, ODER wenn Methoden aufgerufen werden, die Änderungen an den Zustimmungen bewirken, wie „acceptAll“, „rejectAll“, „acceptVendors“, „rejectVendors“ usw. Dies bedeutet, dass der Benutzer einige oder alle Zustimmungen akzeptiert oder abgelehnt hat und dass diese korrekt auf dem Gerät gespeichert wurden.
didShowConsentLayer
Dies wird ausgelöst, wenn die Zustimmungsebene tatsächlich angezeigt wurde. Es bedeutet, dass auf dem Gerät keine gültige Zustimmung vorhanden war und daher eine neue eingeholt werden muss.
didCloseConsentLayer
Dies wird ausgelöst, wenn das SDK die Notwendigkeit einer Zustimmung überprüft hat, diese aber nicht erforderlich war und die Ebene nicht angezeigt wurde. Das bedeutet, dass bereits eine gültige Zustimmung im Gerät vorhanden ist, sodass keine neue Zustimmung erforderlich ist und die Zustimmungsebene nicht angezeigt wird.
hatFehler erhalten
Dies wird ausgelöst, wenn beim SDK ein Fehler auftritt und der Code zurückgegeben wird.