[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.
initialisatie
Object UrlConfig(: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 CMP-ID -
domain
: String - Het domein voor toestemmingsbeheer -
language
: String - De taalcode (bijv. "EN") -
appName
: String - De naam van uw app
Voorbeeld:
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
setActivity(activiteit: Activiteit)
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)
Beheer van toestemmingslagen
checkIfConsentIsRequired(voltooiing: (Booleaans) -> Eenheid)
Controleert of toestemming vereist is voor de gebruiker. Dit zal een netwerkoproep doen naar onze servers via de WebView die is gemaakt in onze SDK, die een bericht naar onze backend zal sturen via JavaScript. Onze backend zal detecteren of het apparaat een geldige toestemming heeft of niet, en het bericht zal worden teruggestuurd naar de WebView, om te bepalen of het moet worden weergegeven of niet, één paginaweergave verbruiken in het proces. Afhankelijk van het geretourneerde bericht, zal de SDK het interpreteren en de resultaten ervan retourneren via de completion handler.
parameters:
-
completion
: (Booleaans) -> Unit - Een afsluiting die wordt aangeroepen met het resultaat, hetzijtrue
orfalse
.
Returns: Geen
Voorbeeld:
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkWithServerAndOpenIfNecessary(voltooiing: (Resultaat ) -> Eenheid)
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
orfalse
.
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"
}
openConsentLayer(voltooiing: (Resultaat ) -> Eenheid)
Opent de toestemmingslaag. Het doet een netwerkoproep naar onze backend, één paginaweergave verbruiken in het proces. Het zal de toestemmingslaag weergeven, waardoor de gebruiker ofwel Alles Accepteert of Alles Afwijst van de keuzes, of, afhankelijk van het CMP-ontwerp, waardoor ze de toestemmingen op een meer gedetailleerde manier kunnen beheren.
parameters:
-
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}"
}
}
Toestemmingsstatus
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)")
heeftDoelToestemming(id: String)
Controleert of toestemming is gegeven voor een specifiek doel en of deze toestemming is opgeslagen op het apparaat. Het controleert het SharedPreferences-gebied op de toestemmingen die zijn geaccepteerd of afgewezen en filtert de ID die als parameter is doorgegeven, waarbij true wordt geretourneerd als de toestemming is geaccepteerd of anders false.
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 rejectAll
bijvoorbeeld, 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(id: String)
Controleert of er toestemming is gegeven voor een specifieke leverancier en of deze toestemming op het apparaat is opgeslagen, overeenkomstig 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 rejectAll
bijvoorbeeld, 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.
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)")
Doel en leveranciersbeheer
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 rejectAll
bijvoorbeeld, 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 rejectAll
bijvoorbeeld, 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 rejectAll
bijvoorbeeld, 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 rejectAll
bijvoorbeeld, 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 rejectAll
bijvoorbeeld, 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 rejectAll
bijvoorbeeld, 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)")
Toestemmingswijziging
acceptAll(voltooiing: (Resultaat ) -> Eenheid)
Accepteert toestemming voor alle doeleinden en leveranciers, één paginaweergave verbruiken in het proces. Het doet een netwerkoproep naar onze backend via een bericht dat op de WebView wordt geïnjecteerd, wat de acceptatie van alle toestemmingen activeert, volgens de CMP-configuratie. Deze informatie is alleen beschikbaar voor de andere methoden nadat de callback een succes of mislukking retourneert, wat betekent dat het succesvol is verwerkt door onze backend en op het apparaat is opgeslagen.
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}"
}
}
acceptPurposes(doeleinden: Lijst , updateDoel: Booleaans, voltooiing: (Resultaat ) -> Eenheid)
Accepteert toestemming voor specifieke doeleinden, één paginaweergave verbruiken in het proces. Het doet een netwerkoproep naar onze backend via een bericht dat op de WebView wordt geïnjecteerd, wat de acceptatie van de vastgestelde doelen die als parameter zijn doorgegeven, activeert, volgens de CMP-configuratie. Deze informatie is alleen beschikbaar voor de andere methoden nadat de callback een succes of mislukking retourneert, wat betekent dat het succesvol is verwerkt door onze backend en op het apparaat is opgeslagen.
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}"
}
}
acceptVendors(leveranciers: Lijst , voltooiing: (Resultaat ) -> Eenheid)
Accepteert toestemming voor bepaalde leveranciers, één paginaweergave verbruiken in het proces. Het doet een netwerkoproep naar onze backend via een bericht dat op de WebView wordt geïnjecteerd, wat de acceptatie van de bepaalde leveranciers die als parameter zijn doorgegeven, activeert, volgens de CMP-configuratie. Deze informatie is alleen beschikbaar voor de andere methoden nadat de callback een succes of mislukking retourneert, wat betekent dat het succesvol is verwerkt door onze backend en op het apparaat is opgeslagen.
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(cmpString: String)
Importeert toestemmingsinformatie van een CMP-string. Dit ontvangt een gewone string met de toestemmingsgegevens, die meestal worden verkregen via de exportCMPInfo
methode. Deze informatie wordt opgeslagen in het SharedPreferences-gebied van het apparaat en wordt tegelijkertijd naar onze backend verzonden via een bericht dat in de WebView wordt geïnjecteerd, waarbij één paginaweergave wordt verbruikt.
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}"
}
}
rejectAll(voltooiing: (Resultaat ) -> Eenheid)
Verwerpt toestemming voor alle doeleinden en leveranciers, één paginaweergave verbruiken in het proces. Het doet een netwerkoproep naar onze backend via een bericht dat op de WebView wordt geïnjecteerd, wat de afwijzing van alle toestemmingen zal activeren, volgens de CMP-configuratie. Deze informatie is alleen beschikbaar voor de andere methoden nadat de callback een succes of mislukking retourneert, wat betekent dat het succesvol is verwerkt door onze backend en op het apparaat is opgeslagen.
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}"
}
}
rejectPurposes(doeleinden: Lijst , updateVendor: Booleaans, voltooiing: (Resultaat ) -> Eenheid)
Weigert toestemming voor bepaalde doeleinden, één paginaweergave verbruiken in het proces. Het doet een netwerkoproep naar onze backend via een bericht dat op de WebView wordt geïnjecteerd, wat de afwijzing van de bepaalde doelen die als parameter zijn doorgegeven, zal activeren, volgens de CMP-configuratie. Deze informatie is alleen beschikbaar voor de andere methoden nadat de callback een succes of mislukking retourneert, wat betekent dat het succesvol is verwerkt door onze backend en op het apparaat is opgeslagen.
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}"
}
}
rejectVendors(leveranciers: Lijst , voltooiing: (Resultaat ) -> Eenheid)
Verwerpt toestemming voor bepaalde leveranciers, één paginaweergave verbruiken in het proces. Het doet een netwerkoproep naar onze backend via een bericht dat op de WebView wordt geïnjecteerd, wat de afwijzing van de bepaalde leveranciers die als parameter zijn doorgegeven, zal activeren, volgens de CMP-configuratie. Deze informatie is alleen beschikbaar voor de andere methoden nadat de callback een succes of mislukking retourneert, wat betekent dat het succesvol is verwerkt door onze backend en op het apparaat is opgeslagen.
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()
Reset alle toestemmingsbeheergegevens. Hiermee worden alle SharedPreferences-gebiedsvermeldingen met betrekking tot toestemmingen die door de gebruiker zijn geaccepteerd of afgewezen, volledig gewist. Het is vergelijkbaar met het volledig verwijderen van de app van het apparaat.
parameters:
Geen
Returns: Geen
Voorbeeld:
cmpManager.resetConsentManagementData()
CMPManagerDelegate-evenementen
didReceiveConsent(toestemming: String, jsonObject: [String: Any])
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.