[Android] 2. API-Dokumentation
akzeptiere alle
Akzeptiert die Zustimmungsebene und verhält sich genauso, wenn der Benutzer die Zustimmung akzeptiert.
Parameter
Name | Typ | Beschreibung |
onConsentReceivedCallback |
BeiZustimmung erhaltener Rückruf? | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. |
Return
Kein Rückgabewert
Beispiel
func acceptAll(onFinish: @escaping () -> Void) {
cmpManager?.acceptAll(onFinish: onFinish)
}
aus der Ferne überprüfen
Überprüft, ob die Zustimmung des Benutzers erforderlich ist, und gibt optional zwischengespeicherte Ergebnisse zurück.
Parameter
Name | Typ | Beschreibung |
onCheckIsConsentRequiredCallback |
OnCheckIsConsentRequired | Spaß isConsentRequired(isConsentRequired: Boolean) Rückruf, um festzustellen, ob eine Einwilligung erforderlich ist oder nicht |
isCached |
Boolesch = falsch | Wenn true, wird das Ergebnis einen Tag lang zwischengespeichert |
Return
Keiner.
Beispiel
cmpManager.acceptAll {
coroutineScope.launch {
snackbarHostState.showSnackbar(
message = "All consents accepted",
duration = SnackbarDuration.Short
)
consentStatus.value = showConsentStatus(cmpManager)
}
}
checkAndOpenConsentLayer
Überprüft, ob die Zustimmung des Benutzers erforderlich ist, und öffnet in diesem Fall die Benutzeroberfläche der Zustimmungsebene.
Parameter
Name | Typ | Beschreibung |
context |
Kontext | Anwendungskontext |
appInterface |
CmpLayerAppEventListenerInterface? = null |
Return
Kein Rückgabewert
Beispiel
context.getActivity()?.let { activity ->
cmpManager.checkAndOpenConsentLayer(activity)
}
namensThisDay
Überprüft, ob die Zustimmungsschicht heute angefordert wurde.
Parameter
Keiner. |
Return
TRUE, wenn die Zustimmung des Benutzers bereits heute angefordert wurde.
Ansonsten FALSE.
fun consentRequestedTodayAction() {
val calledToday = cmpManager?.calledThisDay()
if (calledToday != null) {
println("Consent requested today: $calledToday")
} else {
println("Failed to retrieve consent request status for today.")
}
}
Zweckliste deaktivieren
Deaktiviert eine Liste von Zwecken und aktualisiert die erteilte Einwilligung.
Parameter
Name | Typ | Beschreibung |
purposes |
Liste | Liste der zu deaktivierenden Zweck-IDs |
updateVendor |
Boolean | Flag, wenn true, deaktiviert auch entsprechende Anbieter |
onConsentReceivedCallback |
BeiZustimmung erhaltener Rückruf? |
Return
Kein Rückgabewert
Beispiel
fun onFinish() {
println("Notification: New consent received")
}
val purposes = listOf("1", "2")
// Option with callback
cmpManager?.disablePurposeList(purposes, ::onFinish)
// Option without callback
cmpManager?.disablePurposeList(purposes)
disableVendorList
Deaktiviert eine Liste von Anbietern und aktualisiert die erteilte Einwilligung.
Parameter
Name | Typ | Beschreibung |
vendors |
Liste | Liste der zu aktivierenden Anbieter-IDs. |
onConsentReceivedCallback |
BeiZustimmung erhaltener Rückruf? | Rückruf zur Behandlung des Ereignisses „Einwilligung erhalten“. Er wird aufgerufen, wenn die Einwilligung empfangen und verarbeitet wird. |
Return
Kein Rückgabewert.
Beispiel
fun onFinish() {
println("Notification: New consent received")
}
val vendors = listOf("1", "2")
// Option with callback
cmpManager?.disableVendorList(vendors, ::onFinish)
// Option without callback
cmpManager?.disableVendorList(vendors)
enableVendorList
Aktiviert eine Liste von Zwecken und aktualisiert die erteilte Einwilligung.
Parameter
Name | Typ | Beschreibung |
vendors |
Liste | Liste der zu aktivierenden Zweck-IDs. |
onConsentReceivedCallback |
Funktion (optional) | Rückruf zur Verarbeitung des Ereignisses „Einwilligung empfangen“. Er wird aufgerufen, wenn die Einwilligung empfangen und verarbeitet wird |
Return
Kein Rückgabewert.
Beispiel
fun onFinish() {
println("Notification: New consent received")
}
val vendors = listOf("1", "2")
// Option with callback
cmpManager?.enableVendorList(vendors, ::onFinish)
// Option without callback
cmpManager?.enableVendorList(vendors)
enablePurposeList
Aktiviert eine Liste von Anbietern und aktualisiert die erteilte Zustimmung.
Parameter
Name | Typ | Beschreibung |
purposes |
Liste | Liste der zu aktivierenden Zweck-IDs. |
updateVendor |
Boolean | Flag, wenn true, aktiviert auch entsprechende Anbieter |
onConsentReceivedCallback |
Funktion (optional) |
Return
Kein Rückgabewert.
Beispiel
fun onFinish() {
println("Notification: New consent received")
}
val purposes = listOf("1", "2")
// Option with callback
cmpManager?.enablePurposeList(purposes, ::onFinish)
// Option without callback
cmpManager?.enablePurposeList(purposes)
exportCmpString
Exportiert die aktuelle CMP-Zeichenfolge, die die Einwilligungspräferenzen des Benutzers darstellt.
Parameter
Keiner. |
Return
Die CMP-Base64-codierte Zeichenfolge.
Beispiel
fun exportConsentStringAction() {
val exportString = cmpManager?.exportCmpString()
println(exportString ?: "No string to export.")
}
getAllPurposes
Gibt die IDs aller Zwecke zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die alle Zweck-IDs enthält.
Beispiel
fun getAllPurposesAction() {
val allPurposes = cmpManager?.getAllPurposes()
if (allPurposes != null) {
println("All purposes: $allPurposes")
// Additional actions for getAllPurposes function can be added here
} else {
println("Failed to retrieve all purposes.")
}
}
getAllPurposeList
Gibt eine Liste aller Zweck-IDs für ein bestimmtes CMP zurück.
Return
Aufführen
Beispiel
fun getAllPurposeListAction() {
// Action for getAllPurposeList function
val allPurposes = cmpManager?.getAllPurposesList()
if (allPurposes != null) {
println("All purposes list: ${allPurposes.joinToString(", ")}")
} else {
println("Failed to retrieve all purposes list.")
}
}
getAllVendors
Gibt die IDs aller Anbieter für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die alle Anbieter-IDs enthält.
Beispiel
fun getAllVendorsAction() {
// Action for getAllVendors function
val allVendors = cmpManager?.getAllVendors()
if (allVendors != null) {
println("Printing all Vendors: $allVendors")
} else {
println("Failed to retrieve all vendors.")
}
}
getAllVendorsList
Gibt eine Liste aller Anbieter-IDs für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine Liste Enthält alle Lieferanten-IDs.
Beispiel
fun getAllVendorsListAction() {
val allVendors = cmpManager?.getAllVendorsList()
if (allVendors != null) {
println("All vendors list: ${allVendors.joinToString(", ")}")
} else {
println("Failed to retrieve all vendors list.")
}
}
getConsentstring
Gibt einen String mit der zuletzt erteilten Zustimmung zurück.
Parameter
Keiner. |
Return
Eine Zeichenfolge mit der letzten vom Benutzer bestätigten Zustimmung.
Beispiel
fun getAllVendorsListAction() {
val allVendors = cmpManager?.getAllVendorsList()
if (allVendors != null) {
println("All vendors list: ${allVendors.joinToString(", ")}")
} else {
println("Failed to retrieve all vendors list.")
}
}
getDisabledPurposes
Gibt alle IDs deaktivierter Zwecke für ein bestimmtes CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller deaktivierten Zwecke enthält.
Beispiel
fun getDisabledPurposesAction() {
val disabledPurposes = cmpManager?.getDisabledPurposes()
if (disabledPurposes != null) {
println("Disabled purposes: $disabledPurposes")
} else {
println("Failed to retrieve disabled purposes.")
}
}
getDisabledVendors
Gibt die IDs aller deaktivierten Anbieter für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller deaktivierten Anbieter enthält.
Beispiel
fun getDisabledVendorsAction() {
val disabledVendors = cmpManager?.getDisabledVendors()
if (disabledVendors != null) {
println("Disabled vendors: $disabledVendors")
} else {
println("Failed to retrieve disabled vendors.")
}
}
getEnabledPurposes
Gibt alle aktivierten Anbieter-IDs für ein bestimmtes CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller aktivierten Anbieter enthält.
Beispiel
fun getEnabledPurposesAction() {
val enabledPurposes = cmpManager?.getEnabledPurposes()
if (enabledPurposes != null) {
println("Disabled purposes: $enabledPurposes")
} else {
println("Failed to retrieve enabled purposes.")
}
}
getEnabledPurposeList
Gibt eine Liste aller aktivierten Zweck-IDs für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Zwecke.
Beispiel
fun getEnabledPurposesAction() {
val enabledPurposes = cmpManager?.getEnabledPurposes()
if (enabledPurposes != null) {
println("Enabled purposes: ${enabledPurposes.joinToString(", ")}")
} else {
println("Failed to retrieve enabled purposes list.")
}
}
getEnabledVendors
Gibt alle aktivierten Anbieter-IDs für ein bestimmtes CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller aktivierten Anbieter enthält.
Beispiel
fun getEnabledVendorsAction() {
val enabledVendors = cmpManager?.getEnabledVendors()
if (enabledVendors != null) {
println("Enabled vendors: $enabledVendors")
} else {
println("Failed to retrieve enabled vendors.")
}
}
getEnabledVendorList
Gibt eine Liste mit allen aktivierten Anbieter-IDs für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Anbieter.
Beispiel
fun getEnabledVendorsAction() {
val enabledVendors = cmpManager?.getEnabledVendors()
if (enabledVendors != null) {
println("Enabled vendors: ${enabledVendors.joinToString(", ")}")
} else {
println("Failed to retrieve enabled vendors.")
}
}
getGoogleACString
Ruft die zusätzliche Google-Einwilligungs-ID (`addtlConsent`) ab, die vom consent manager.
Weitere Informationen finden Sie im Technische Spezifikation für die zusätzliche Zustimmung zu Google.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Anbieter.
Beispiel
fun getGoogleConsentStringAction() {
val googleACString = cmpManager?.getGoogleACString()
if (googleACString != null) {
println("Google Additional Consent String: $googleACString")
} else {
println("Failed to retrieve Google Additional Consent String.")
}
}
getUSPrivacyString
Ruft den US-Datenschutz-String ab. Dieser US-Datenschutz-String ist ein Cookie, der Informationen über vom Website-Besucher vorgenommene Angaben und ausgewählte Entscheidungen bezüglich seiner Verbraucherrechte speichert.
Parameter
Keiner. |
Return
Ein String mit den US-Datenschutzdaten von consentmanager.
Beispiel
fun getUSPrivacyStringAction() {
val usPrivacyString = cmpManager?.getUSPrivacyString()
if (usPrivacyString != null) {
println("US Privacy string contents: $usPrivacyString")
} else {
println("Failed to retrieve US Privacy string.")
}
}
hatZustimmung
Überprüft, ob der Benutzer bereits seine Zustimmung gegeben hat. Die Zustimmungsebene kann die Option enthalten, die Ebene einfach zu schließen. In diesem Fall hat der Benutzer keine Zustimmung gegeben.
Parameter
Keiner. |
Return
Ein String mit den US-Datenschutzdaten von consentmanager.
Beispiel
fun getHasConsentAction() {
val hasConsent = cmpManager?.hasConsent()
if (hasConsent != null) {
val consentStatus = if (hasConsent) "Yes" else "No"
println("Consent provided by the user? $consentStatus")
} else {
println("Failed to retrieve user consent.")
}
}
hasPurposeConsent
Überprüft, ob die Zweck-ID basierend auf der Benutzereinwilligung aktiviert ist.
Parameter
Name | Typ | Beschreibung |
purposeId |
Schnur | Zweck-ID |
Return
WAHR, wenn
- der Nutzer hat dem angegebenen Zweck zugestimmt ODER
- Aus irgendeinem Grund, der mit einer schlechten oder fehlenden Internetverbindung auf dem Gerät zusammenhängt, konnte die Einwilligung für diesen Zweck nicht eingeholt werden. Bitte beachten Sie den withErrorListener, um diese Bedingungen während des App-Starts zu handhaben, insbesondere für neue Benutzer, die noch keine Einwilligung erteilt haben
Ansonsten FALSE.
Beispiel
fun getHasPurposeConsentAction() {
val purposeId = "purposeID" // Replace with actual purpose ID
val hasPurposeConsent = cmpManager?.hasPurposeConsent(purposeId)
if (hasPurposeConsent != null) {
val consentStatus = if (hasPurposeConsent) "Yes" else "No"
println("Purpose has consent provided by the user? $consentStatus")
} else {
println("Failed to retrieve user purpose consent.")
}
}
hasVendorConsent
Überprüft, ob die Lieferanten-ID basierend auf der Benutzereinwilligung aktiviert ist.
Parameter
Name | Typ | Beschreibung |
vendorId |
Schnur | Hersteller-ID |
Return
WAHR, wenn
- Der Benutzer hat dem angegebenen Anbieter zugestimmt ODER
- Aus irgendeinem Grund, der mit einer schlechten oder fehlenden Internetverbindung auf dem Gerät zusammenhängt, konnte die Einwilligung des Anbieters nicht abgerufen werden. Bitte beachten Sie den withErrorListener, um diese Bedingungen während des App-Starts zu handhaben, insbesondere für neue Benutzer, die noch keine Einwilligung erteilt haben
Ansonsten FALSE.
Beispiel
fun getHasVendorConsentAction() {
val vendorId = "vendorID" // Replace with actual vendor ID
val hasVendorConsent = cmpManager?.hasVendorConsent(vendorId)
if (hasVendorConsent != null) {
val consentStatus = if (hasVendorConsent) "Yes" else "No"
println("Vendor has consent provided by the user? $consentStatus")
} else {
println("Failed to retrieve user vendor consent.")
}
}
importCmpString
Importiert eine CMP-Zeichenfolge, die die Zustimmungseinstellungen des Benutzers darstellt. Die Zeichenfolge muss Base64-codiert sein.
Parameter
Name | Typ | Beschreibung |
ZustimmungsString | Schnur | Base64-kodierter String, der die Zustimmung darstellt |
AbschlussHandler | Funktion (optional) | Callback-Abschlusshandler für die Methode. |
Return
Keiner.
Beispiel
val cmpString = "YourBase64EncodedConsentStringHere"
typealias CmpImportCompletionHandler = (Error?) -> Unit
// Define the completion handler function
val completionHandler: CmpImportCompletionHandler = { error ->
if (error != null) {
println("Failed to import CMP string: ${error.message}")
} else {
println("CMP string imported successfully")
}
}
cmpManager?.importCmpString(cmpString, completion = completionHandler)
initialisieren
Die Initialisierungsfunktion initialisiert die Einwilligungsschicht und prüft automatisch, ob der Benutzer eine Einwilligung benötigt oder nicht. Diese Funktion öffnet schließlich die Einwilligungsebene und interagiert mit der Apple Tracking Transparency API, um den Benutzer um seine Einwilligung zu bitten
Parameter
Name | Typ | Beschreibung |
context |
Kontext | App-Kontext |
cmpConfig |
CmpConfig | Das CmpConfig-Objekt wird mit den Informationen zu appId, Domain, appName und Sprache (optional) übergeben. |
Return
Das CMPManagerobjekt.
Beispiel
private fun initializeCmpManager() {
CmpConfig.apply {
id = cmpId
domain = CMP_DOMAIN
appName = cmpAppName
language = cmpLanguage
domainWhitelist = cmpDomainWhitelist
timeout = 2000
isDebugMode = true
}
CmpLog.setLogLevel(Log.VERBOSE)
cmpManager = CmpManager.createInstance(this, CmpConfig)
}
openConsentLayer
Öffnet zwangsweise die Webansicht der CMP-Zustimmungsebene.
Parameter
Name | Typ | Beschreibung |
context |
Kontext | App-Kontext. |
Return
Kein Rückgabewert.
Beispiel
ActionButtonsRow("Open", "Check", "Open?") { action ->
when (action) {
"Open" -> context.getActivity()?.let {
cmpManager.openConsentLayer(it.applicationContext)
}
.
.
.
}
brauchtAkzeptanz
Prüft, ob eine Einwilligung des aktuellen App-Benutzers erforderlich ist.
Parameter
Keiner. |
Return
TRUE, wenn der Benutzer eine Einwilligung geben muss.
Ansonsten FALSE.
fun showConsentStatus(cmpManager: CmpManager?): String {
return buildString {
append("Cmp ID: ${CmpConfig.id}\n")
append("Need Acceptance: ${cmpManager?.needsAcceptance()}\n") // <=========
append("ConsentString: ${cmpManager?.getConsentString()}\n")
append("Has Consent: ${cmpManager?.hasConsent()}\n")
}
}
Alles ablehnen
Lehnt die Zustimmungsebene ab und verhält sich genauso, als hätte der Benutzer die Zustimmung nicht akzeptiert.
Parameter
Name | Typ | Beschreibung |
onFinish |
Funktion | Optional. Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert.
Beispiel
// Define the onFinish function
fun onFinish() {
println("Notification: New consent has been received with a Reject All response.")
}
cmpManager?.rejectAll(::onFinish)
setCallbacks
Konfiguriert die verfügbaren Rückrufe.
Parameter
Name | Typ | Beschreibung |
openListener |
OnOpenCallback |
Der Rückruf, der aufgerufen werden soll, wenn die Zustimmungsebene geöffnet wird. |
closeListener |
OnCloseCallback |
Der Rückruf, der aufgerufen werden soll, wenn die Zustimmungsebene geschlossen wird. |
cmpNotOpenedCallback |
OnCMPNotOpenedCallback |
Der Rückruf, der aufgerufen werden soll, wenn die Zustimmungsebene nicht geöffnet werden konnte. |
onErrorCallback |
OnErrorCallback |
Der Rückruf, der im Falle eines Fehlers aufgerufen werden soll. |
onButtonClickedCallback |
OnButtonClickedCallback |
Der Rückruf, der aufgerufen werden soll, um Informationen darüber zu erhalten, welche Schaltfläche zum Schließen der Zustimmungsebene gedrückt wurde. |
Return
Kein Rückgabewert
Beispiel
val existingInstance = instance?.get()
existingInstance.setCallbacks(
openListener = openListener,
closeListener = closeListener,
cmpNotOpenedCallback = cmpNotOpenedCallback,
onErrorCallback = errorCallback,
onButtonClickedCallback = cmpButtonClickedCallback
)
mit GoogleAnalyticsCallback
Legen Sie einen Rückruf zum Abrufen von Google Consentmode-Werten fest.
Parameter
Name | Typ | Beschreibung |
analyticsListener |
CmpGoogleAnalyticsInterface | Die Schnittstellenimplementierung zum Empfangen von Updates zum Google Analytics-Zustimmungsmodus. |
Return
Die aktuelle Instanz von CmpManagerInterface zur Verkettung.
Beispiel
private fun initializeCmpManager() {
cmpManager = CmpManager.createInstance(this, CmpConfig).apply {
withOpenListener(this@ConsentActivity)
withCloseListener(this@ConsentActivity)
withNotOpenedCallback(this@ConsentActivity)
withErrorCallback(this@ConsentActivity)
withButtonClickedCallback(this@ConsentActivity)
withOnClickLinkCallback(this@ConsentActivity)
withGoogleAnalyticsCallback(this@ConsentActivity) // <=============
initialize(this@ConsentActivity)
}
}