Informatie
Beschrijving

[Android] 2. API-documentatie

De CMPManager klasse biedt methoden om gebruikerstoestemming voor gegevensverwerking en tracking te beheren. Deze documentatie behandelt de belangrijkste methoden die beschikbaar zijn voor mobiele app-integratie.

Alle hieronder genoemde voorbeelden zijn afkomstig uit en zijn te vinden op onze Demo-app.

Controleer alstublieft de Verouderde methoden als u al v3 van onze CMP SDK integreert.

initialisatie

UrlConfig()

Stelt de URL-configuratie in voor de Consent Manager. Moet worden geïnitialiseerd met de onderstaande waarde en worden doorgegeven aan de getInstance methode. 

parameters:

  • id: String - De code-ID die is opgehaald uit uw CMP-dashboard
  • domain: String - Het domein voor toestemmingsbeheer, ook opgehaald uit uw CMP-dashboard
  • language: String - De taalcode (bijv. "EN", "IT", "DE", enz.)
  • appName: String - De naam van uw app, alleen gebruikt voor rapportagedoeleinden. 

Voorbeeld:

val urlConfig = UrlConfig(
    id = "YOUR_CODE_ID_HERE",
    domain = "delivery.consentmanager.net",
    language = "EN",
    appName = "CMDemoAppKotlin"
)

setActiviteit()

Stelt de activiteit in die de toestemmingslaag zal presenteren. Het zou een ComponentActivity

parameters:

  • viewController: ComponentActivity - De activiteit waarin de toestemmingslaag wordt gepresenteerd.

Returns: Geen

Voorbeeld:

CMPManager.shared.setPresentingViewController(self)

getUserStatus()

Retourneert een gedetailleerde momentopname van de huidige toestemmingsstatus en voorkeuren van de gebruiker. Deze methode biedt uitgebreide informatie over de toestemmingskeuzes van de gebruiker, inclusief hun algemene toestemmingsstatus, individuele leveranciersmachtigingen, doelspecifieke toestemmingen en relevante toestemmingsreeksen.

parameters:

  • Geen

Returns:

Retourtype: CMPUserStatusResponse object, uitgelegd in de onderstaande code. 

Voorbeeld:

let status = CMPManager.shared.getUserStatus()
var message = "Status: \(status.status)\n\n"

message += "Vendors:\n"
for (vendorId, state) in status.vendors {
    message += "- \(vendorId): \(state)\n"
}

message += "\nPurposes:\n"
for (purposeId, state) in status.purposes {
    message += "- \(purposeId): \(state)\n"
}

message += "\nTCF: \(status.tcf)\n"
message += "Additional Consent: \(status.addtlConsent)\n"
message += "Regulation: \(status.regulation)"

print(message)

controlerenEnOpenen()

Controleert bij de server of toestemming vereist is en opent indien nodig de toestemmingslaag. Dit zal een netwerkoproep doen naar onze servers via de WKWebView die is gemaakt in onze SDK, één paginaweergave verbruiken in het proces. Deze netwerkoproep stuurt een bericht naar onze backend via JavaScript, die detecteert of het apparaat een geldige toestemming heeft of niet, wat op zijn beurt bepaalt of de toestemmingslaag moet worden weergegeven of niet.  

parameters:

  • jumpToSettings: Een Booleaanse waarde om te bepalen of de weergegeven toestemmingslaag automatisch leidt naar de pagina met een meer gedetailleerde controle over de toestemmingen die door de gebruikers worden gegeven, zodat ze hun keuzes nauwkeuriger kunnen afstemmen (indien ingesteld op true) of het standaardscherm met de knoppen (indien ingesteld op false of onderdrukt).
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid, met als resultaat: true or false.

Returns: Geen

Voorbeeld:

cmpManager.checkAndOpen { 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"
}

forceOpen()

parameters:

  • jumpToSettings: Een Booleaanse waarde om te bepalen of de weergegeven toestemmingslaag automatisch leidt naar de pagina met een meer gedetailleerde controle over de toestemmingen die door de gebruikers worden gegeven, zodat ze hun keuzes nauwkeuriger kunnen afstemmen (indien ingesteld op true) of het standaardscherm met de knoppen (indien ingesteld op false of onderdrukt).
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid en die een succes of een fout retourneert. 

Returns: Geen

Voorbeeld:

cmpManager.openConsentLayer { result ->
	result.onFailure { error ->
    	toastMessage = "Error: ${error.message}"
	}
}

exportCMPInfo()

Exporteert de huidige toestemmingsinformatie die op het apparaat is opgeslagen als een tekenreeks. Deze methode haalt de toestemmingsreeks op uit het gebied SharedPreferences van het apparaat en retourneert deze. Meestal wordt deze informatie doorgegeven aan de importCMPInfo methode.

Returns: String - De geëxporteerde toestemmingsinformatie

Voorbeeld:

val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: \(cmpInfo)")

getGoogleConsentModeStatus()

Integreert naadloos met Consent Mode, een Google-technologie die conversie- en analysemodellering mogelijk maakt, waardoor de diensten van Google de gaten in de gegevens kunnen opvullen wanneer gebruikers geen toestemming geven. Deze functie vertaalt de toestemming van de gebruiker van uw CMP naar een formaat dat Firebase Analytics kan begrijpen. U kunt de retour van deze methode dan eenvoudig ophalen en doorgeven aan de Firebase .setConsent-methode.

  • Vervolgens wordt Google Analytics bijgewerkt met de huidige toestemmingsstatus van de gebruiker.

parameters:

  • Geen

Returns: Map<String, String> - Een sleutelwaardearray met de vier sleutels voor de Google Consent Mode: .analyticsStorage, .adStorage, .adUserData en .adPersonalization, en hun respectievelijke waarden in termen van .choiceDoesntExist, .granted or .denied.

Voorbeeld:

val settings = cmpManager.getGoogleConsentModeStatus()
Log.d("CMPDemo", "Google Consent Mode Settings: $settings")
toastMessage = buildString {
  append("Google Consent Settings:")
  settings.forEach { (key, value) ->
	  append("\n$key: $value")
  }
}

statusvoordoel verkrijgen()

parameters:

  • id: String - De ID van het doel dat gecontroleerd moet worden

Returns: UniqueConsentStatus - Een enum met de waarden .choiceDoesntExist indien geen toestemming is gegeven, .granted or .denied.

Voorbeeld:

val purposeStatus = cmpManager.getStatusForPurpose("c53")
var message = "Vendor s2789's status: "
switch purposeStatus {
   	case .choiceDoesntExist: message += "No Choice"
    case .granted: message += "Granted"
    case .denied: message += "Denied"
    @unknown default: message += "No Choice"
}

getStatusForVendor()

parameters:

  • id: String - De ID van het doel dat gecontroleerd moet worden

Returns: UniqueConsentStatus - Een enum met de waarden .choiceDoesntExist indien geen toestemming is gegeven, .granted or .denied.

Voorbeeld:

val vendorStatus = cmpManager.getStatusForVendor("s2789")
var message = "Vendor s2789's status: "
switch vendorStatus {
   	case .choiceDoesntExist: message += "No Choice"
    case .granted: message += "Granted"
    case .denied: message += "Denied"
    @unknown default: message += "No Choice"
}

 

acceptAll()

parameters:

  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid en die aangeeft of de bewerking is geslaagd of mislukt.

Returns: Geen

Voorbeeld:

cmpManager.acceptAll { result ->
    result.onSuccess {
	    toastMessage = "All consents accepted"
  	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

acceptDoelen()

parameters:

  • purposes: Lijst - Een lijst met doel-ID's die geaccepteerd moeten worden
  • updatePurpose: Booleaans - Of gerelateerde doeleinden moeten worden bijgewerkt
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid en die een mislukking of een succes retourneert

Returns: Geen

Voorbeeld:

cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
	  	result.onSuccess {
	  	toastMessage = "Purposes enabled"
  	}.onFailure { error ->
  		toastMessage = "Error: ${error.message}"
    }
}

acceptVerkopers()

parameters:

  • vendors: Lijst - Een lijst met leveranciers-ID's die geaccepteerd moeten worden
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid

Returns: Geen

Voorbeeld:

cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
	result.onSuccess {
		toastMessage = "Vendors Enabled"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

importCMPInfo()

parameters:

  • cmpString: String - De CMP-string die moet worden geïmporteerd
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid en die een mislukking of succes retourneert

Returns: Geen

Voorbeeld:

val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
	result.onSuccess {
		toastMessage = "Vendors Enabled"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

Alles afwijzen()

parameters:

  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid

Returns: Geen

Voorbeeld:

cmpManager.rejectAll { result ->
	result.onSuccess {
		toastMessage = "All consents rejected"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

afwijzenDoelen()

parameters:

  • purposes: List<String> - Een lijst met doel-ID's die moeten worden afgewezen
  • updateVendor: Boolean - Of gerelateerde leveranciers moeten worden bijgewerkt
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid

Returns: Geen

Voorbeeld:

cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
    result.onSuccess {
      toastMessage = "Purposes disabled"
    }.onFailure { error ->
      toastMessage = "Error: ${error.message}"
	}
}

afwijzenVerkopers()

parameters:

  • vendors: Lijst - Een lijst met leveranciers-ID's die moeten worden afgewezen
  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid en die een mislukking of een succes retourneert

Returns: Geen

Voorbeeld:

cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
	result.onSuccess {
		toastMessage = "Vendors Disabled"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

resetConsentManagementData()

parameters:

Geen

Returns: Geen

Voorbeeld:

cmpManager.resetConsentManagementData()

CMPManagerDelegate-evenementen

setOnClickLinkCallback

De SDK biedt een flexibel linkverwerkingsmechanisme waarmee applicaties kunnen aanpassen hoe URL's binnen de toestemmingslaag worden verwerkt. Standaard worden alle links geopend binnen de WebView, maar applicaties kunnen specifieke URL's onderscheppen om ze extern te verwerken wanneer dat nodig is.

        cmpManager.setOnClickLinkCallback { url ->
            if (url.contains("google.com")) {
                // Open Google URLs in external browser
                try {
                    startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
                    true // Return true to indicate we handled the URL
                } catch (e: Exception) {
                    Log.e("DemoApp", "Error opening URL: $url", e)
                    false
                }
            } else {
                // Let other URLs load in the WebView
                false
            }
        }

didReceiveConsent(toestemming: String, jsonObject: Map )

Dit wordt geactiveerd wanneer de toestemmingslaag is gesloten nadat de gebruiker zijn/haar toestemmingen heeft bijgewerkt OF wanneer methoden worden aangeroepen die wijzigingen in de toestemmingen veroorzaken, zoals acceptAll, rejectAll, acceptVendors, rejectVendors, enz. Dit betekent dat de gebruiker een deel van alle toestemmingen heeft geaccepteerd of afgewezen en dat deze correct zijn opgeslagen op het apparaat.

heeftShowConsentLayer

Dit wordt geactiveerd wanneer de toestemmingslaag daadwerkelijk is weergegeven. Het betekent dat er geen toestemming geldig was in het apparaat, dus er moet een nieuwe worden verzameld.

deedCloseConsentLayer


Dit wordt geactiveerd wanneer de SDK de noodzaak van een toestemming heeft gecontroleerd, maar deze niet nodig was en de laag niet werd weergegeven. Dit betekent dat er al een geldige in het apparaat is, dus een nieuwe is niet nodig en de toestemmingslaag wordt niet weergegeven.

heeft een fout ontvangen

Dit wordt geactiveerd wanneer de SDK een fout tegenkomt en de code retourneert.

Verouderde methoden

Alle onderstaande methoden zijn verouderd en zal volledig worden verwijderd van de SDK van Juli/2025 op. 

controleerAlsToestemmingVereistIs()

parameters:

  • completion: (Booleaans) -> Unit - Een afsluiting die wordt aangeroepen met het resultaat, hetzij true or false.

Returns: Geen

Voorbeeld:

cmpManager.checkIfConsentIsRequired { needsConsent ->
	toastMessage = "Needs Consent: $needsConsent"
}

controleerMetServerEnOpenIndienNoodzakelijk()

Controleert bij de server of toestemming vereist is en opent indien nodig de toestemmingslaag. Dit zal een netwerkoproep doen naar onze servers via de WebView die is gemaakt in onze SDK, één paginaweergave verbruiken in het proces. Deze netwerkoproep stuurt een bericht naar onze backend via JavaScript, die detecteert of het apparaat een geldige toestemming heeft of niet, wat op zijn beurt bepaalt of de toestemmingslaag moet worden weergegeven of niet.  

parameters:

  • completion: Een afsluiting die wordt aangeroepen wanneer de bewerking is voltooid, met als resultaat: true or false.

Returns: Geen

Voorbeeld:

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"
}

getAllPurposesIDs()

Haalt alle op het apparaat opgeslagen doel-ID's op, volgens de CMP-configuraties. Deze informatie is pas actueel nadat de toestemming correct is opgeslagen in het gedeelte Gedeelde voorkeuren, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Lijst - Een lijst met ID's voor alle doeleinden

Voorbeeld:

val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: \(allPurposes)")

getAllVendorsIDs()

Haalt alle leveranciers-ID's op die op het apparaat zijn opgeslagen, volgens de CMP-configuraties. Deze informatie is pas actueel nadat de toestemming correct is vastgelegd in de SharedPreferences gebied, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Lijst - Een lijst met alle leveranciers-ID's

Voorbeeld:

val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: \(allVendors)")

getDisabledPurposesIDs()

Haalt de ID's op van alle uitgeschakelde doeleinden die op het apparaat zijn opgeslagen, volgens de CMP-configuraties en de keuzes van de gebruiker. Als de gebruiker alle toestemmingen accepteert, is dit leeg.  Deze informatie is pas actueel nadat de toestemming correct is opgeslagen in het gedeelte Gedeelde voorkeuren, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Lijst - Een lijst met ID's voor gehandicaptendoeleinden

Voorbeeld:

val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: \(disabledPurposes)")

getDisabledVendorsIDs()

Haalt de ID's op van alle uitgeschakelde leveranciers die op het apparaat zijn opgeslagen, volgens de CMP-configuraties. Als de gebruiker alle toestemmingen accepteert, is dit leeg. Deze informatie is pas actueel nadat de toestemming correct is opgeslagen in het gedeelte Gedeelde voorkeuren, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Lijst - Een lijst met uitgeschakelde leveranciers-ID's

Voorbeeld:

val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: \(disabledVendors)")

getEnabledPurposesIDs()

Haalt de ID's op van alle ingeschakelde doeleinden die op het apparaat zijn opgeslagen, volgens de CMP-configuraties. Als de gebruiker alle toestemmingen afwijst, is dit leeg. Deze informatie is pas actueel nadat de toestemming correct is opgeslagen in het gedeelte Gedeelde voorkeuren, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Lijst - Een lijst met ingeschakelde doel-ID's

Voorbeeld:

val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: \(enabledPurposes)")

getEnabledVendorsIDs()

Haalt de ID's op van alle ingeschakelde leveranciers die op het apparaat zijn opgeslagen. Als de gebruiker alle toestemmingen afwijst, is dit leeg. Deze informatie is pas actueel nadat de toestemming correct is opgeslagen in het gedeelte Gedeelde voorkeuren, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Lijst - Een lijst met ingeschakelde leveranciers-ID's

Voorbeeld:

val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: \(enabledVendors)")

heeftDoelToestemming()

parameters:

  • id: String - De ID van het doel dat gecontroleerd moet worden

Returns: Boolean - True als toestemming is gegeven, false anders-

Voorbeeld:

val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("Has consent for purpose c53: \(hasPurposeConsent)")

heeftGebruikersKeuze()

Controleert of de gebruiker een keuze heeft gemaakt met betrekking tot toestemmingen en of deze toestemming is opgeslagen op het apparaat. Dit betekent dat de gebruiker alle toestemmingen heeft geaccepteerd, ze allemaal heeft afgewezen of een gemengde keuze heeft gemaakt van afgewezen en geaccepteerde toestemmingen, afhankelijk van het CMP-ontwerp, wat de gebruikers in staat kan stellen om sommige toestemmingen toe te staan ​​en andere af te wijzen. Deze informatie is pas actueel nadat de toestemming correct is opgeslagen in het gedeelte Gedeelde voorkeuren, dus als u direct controleert nadat u methoden hebt gebruikt die wijzigingen in de toestemming veroorzaken, zoals openConsentLayer, acceptAll or rejectAllbijvoorbeeld, toen Wacht tot de callback van die methoden wordt geactiveerd voordat u de methode benadert hasUserChoice, om ervoor te zorgen dat de informatie up-to-date is.

Returns: Boolean - true als de gebruiker een keuze heeft gemaakt, false anders-

Voorbeeld:

val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: \(hasChoice)")

heeftVendorConsent()

parameters:

  • id: String - De ID van de leverancier die moet worden gecontroleerd

Returns: Boolean - True als toestemming is gegeven, false anders-

Voorbeeld:

val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: \(hasVendorConsent)")

 

 

Terug naar boven