Klassen CMPManager klassen tillhandahåller metoder för att hantera användarens samtycke till databehandling och spårning. Denna dokumentation täcker de viktigaste metoderna som finns tillgängliga för integration i mobilappar.
Alla exempel som nämns nedan är hämtade från och finns i vår demoapp.
Kontrollera de föråldrade metoderna om du redan integrerar v3 av vårt CMP SDK.
Initialisering
UrlConfig()
Ställer in URL-konfigurationen för Consent Manager. Måste initialiseras med värdet nedan och skickas till getInstance metoden.
Parametrar:
-
id: Sträng – Kod-ID hämtat från din CMP-instrumentpanel -
domain: Sträng – Domänen för samtyckeshantering, hämtas också från din CMP-instrumentpanel -
language: Sträng – Språkkoden (t.ex. ”EN”, ”IT”, ”DE” osv.) -
appName: Sträng – Namnet på din app, används endast för rapporteringsändamål -
jsonConfig: JSON-objekt – Valfritt, används endast i särskilda fall. Använd det inte om det inte tydligt anges på din CMP-instrumentpanel tillsammans med de andra parametrarna ovan. -
noHash: boolean – Förhindrar att den genererade URL:en som laddas av webview använder ett hash-tecken (#) för att vidarebefordra samtycket
Exempel:
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
setActivity()
Anger den aktivitet som ska presentera samtyckeslagret. Det bör vara en ComponentActivity.
Parametrar:
-
viewController: ComponentActivity – Den aktivitet där samtyckeslagret kommer att presenteras.
Returer: Inga
Exempel:
CMPManager.shared.setPresentingViewController(self)
ConsentLayerUIConfig()-parametrar
-
position: Strategi för dialogplacering (standard:Position.FULL_SCREEN):-
Position.FULL_SCREEN– Täcker hela skärmen -
Position.HALF_SCREEN_TOP– Övre halvan av skärmen -
Position.HALF_SCREEN_BOTTOM– Nedre halvan av skärmen -
Position.custom(width: Int, height: Int)– Anpassade mått i pixlar
-
-
backgroundStyle: Bakgrundsutseende (standard: `BackgroundStyle.dimmed(Color.BLACK, 0.5f)) -
cornerRadius: Float – Hörnradie i dp (standard:0f).- Obs: Kräver SDK version 3.7.0+ för korrekt beskärning av WebView-innehåll
-
respectsSafeArea: Boolesk – Om systemets UI-inpassningar ska respekteras (standard:true).-
Obs: På Android 11+ (API 30) gör inställningen
falsetillåter dialogrutan att sträcka sig under systemfält
-
Obs: På Android 11+ (API 30) gör inställningen
-
isCancelable: Boolesk – Om dialogrutan kan stängas (standard:true) -
darkMode: Boolesk – Aktivera mörkt läge (standard:false)
//Example - Custom Position
val displayMetrics = resources.displayMetrics
val customPosition = ConsentLayerUIConfig.Position.custom(
displayMetrics.widthPixels,
(displayMetrics.heightPixels * 0.8).toInt() // 80% screen height
)
val webViewConfig = ConsentLayerUIConfig(
position = customPosition,
cornerRadius = 20f,
respectsSafeArea = true
)
Hantering av samtyckeslager
getUserStatus()
Ger en detaljerad översikt över användarens aktuella samtyckesstatus och preferenser. Denna metod ger omfattande information om användarens samtyckesval, inklusive deras övergripande samtyckesstatus, individuella leverantörsbehörigheter, ändamålsspecifika samtycken och relevanta samtyckessträngar.
Parametrar:
- Ingen
Returer:
Returtyp: CMPUserStatusResponse objekt, förklaras i koden nedan.
Exempel:
let status = CMPManager.shared.getUserStatus()
var message = "Status: (status.status)nn"
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)
isConsentRequired()
Kontrollerar om samtycke krävs för användaren. Detta kommer att göra ett nätverksanrop till våra servrar via WebView som skapats inuti vårt SDK, vilket kommer att skicka ett meddelande till vår backend via JavaScript. Vår backend kommer att upptäcka om enheten har ett giltigt samtycke eller inte, och ett meddelande kommer att skickas tillbaka till WebView, vilket avgör om det behöver visas eller inte, vilket förbrukar en sidvisning i processen.
Parametrar: Inga
Återgå:
-
completion: (Boolesk) -> Enhet – En closure som anropas med resultatet, antingentrueom inget giltigt samtycke hittades på enheten ellerfalsei annat fall.
Exempel:
cmpManager.isConsentRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkAndOpen()
Kontrollerar med servern om samtycke krävs och öppnar samtyckeslagret om det behövs. Detta kommer att göra ett nätverksanrop till våra servrar via WKWebView som skapats inuti vårt SDK, vilket förbrukar en sidvisning i processen. Detta nätverksanrop kommer att skicka ett meddelande till vår backend via JavaScript, som kommer att upptäcka om enheten har ett giltigt samtycke eller inte, vilket i sin tur kommer att avgöra om samtyckeslagret behöver visas eller inte.
Parametrar:
-
jumpToSettings: Ett booleskt värde för att avgöra om det visade samtyckeslagret automatiskt ska leda till sidan där användarna har mer detaljerad kontroll över de samtycken de gett, vilket gör att de kan finjustera sina val (när det är inställt påtrue) eller den initiala standardskärmen med knapparna (när inställt påfalseeller undertryckt). -
completion: En slutfunktion som anropas när operationen är klar, med resultatet, antingentrueellerfalse.
Returer: Inga
Exempel:
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()
Öppnar samtyckeslagret. Det gör ett nätverksanrop till vår backend, vilket förbrukar en sidvisning i processen. Det visar samtyckeslagret som låter användaren antingen Acceptera allt eller Avvisa allt, eller, beroende på parametern jumpToSettings, låter dem styra samtyckena på ett mer detaljerat sätt.
Parametrar:
-
jumpToSettings: Ett booleskt värde för att avgöra om det visade samtyckeslagret automatiskt ska leda till sidan där användarna har mer detaljerad kontroll över de samtycken de gett, vilket gör att de kan finjustera sina val (när det är inställt påtrue) eller den initiala standardskärmen med knapparna (när inställt påfalseeller undertryckt). -
completion: En avslutningsfunktion som anropas när operationen är klar och returnerar antingen ett lyckat resultat eller ett fel.
Returer: Inga
Exempel:
cmpManager.openConsentLayer { result ->
result.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
Samtyckesstatus
exportCMPInfo()
Exporterar den aktuella samtyckesinformationen som lagras på enheten som en sträng. Denna metod hämtar samtyckessträngen från enhetens SharedPreferences-område och returnerar den. Vanligtvis skickas denna information vidare till importCMPInfo metoden.
Returvärden: Sträng – Den exporterade samtyckesinformationen
Exempel:
val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: (cmpInfo)")
getGoogleConsentModeStatus()
Integreras sömlöst med Consent Mode, en Google-teknik som möjliggör konvertering och analysmodellering, vilket gör att Googles tjänster kan fylla i dataluckor när användare inte ger sitt samtycke. Denna funktion översätter användarens samtycke från din CMP till ett format som Firebase Analytics kan förstå, så att du helt enkelt kan hämta resultatet av denna metod och vidarebefordra det till Firebases .setConsent-metod.
- Därefter uppdateras Google Analytics med användarens aktuella samtyckesstatus.
Parametrar:
- Ingen
Returnerar: Map<String, String> – En nyckelvärdesmatris med de fyra nycklarna för Googles samtyckesläge: .analyticsStorage, .adStorage, .adUserData och .adPersonalization, samt deras respektive värden i form av .choiceDoesntExist, .granted eller .denied.
Exempel:
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")
}
}
getStatusForPurpose()
Kontrollerar om samtycke har givits för ett specifikt syfte och om detta samtycke lagras på enheten. Den kontrollerar UserDefaults-området för godkända eller avvisade samtycken och filtrerar ID:t som skickas som en parameter, och returnerar true om samtycket godkändes eller false i annat fall.
Parametrar:
-
id: Sträng – ID för det syfte som ska kontrolleras
Returnerar: UniqueConsentStatus – En uppräkning med värdena .choiceDoesntExist om inget samtycke gavs, .granted eller .denied.
Exempel:
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()
Kontrollerar om samtycke har givits för en specifik leverantör och om detta samtycke lagras på enheten. Den kontrollerar UserDefaults-området för godkända eller avvisade samtycken och filtrerar ID:t som skickas som en parameter, och returnerar true om samtycket godkändes eller false i annat fall.
Parametrar:
-
id: Sträng – ID för det syfte som ska kontrolleras
Returnerar: UniqueConsentStatus – En uppräkning med värdena .choiceDoesntExist om inget samtycke gavs, .granted eller .denied.
Exempel:
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"
}
Ändring av samtycke
acceptAll()
Accepterar samtycke för alla ändamål och leverantörer, vilket förbrukar en sidvisning i processen. Det gör ett nätverksanrop till vår backend via ett meddelande som infogas i WebView, vilket utlöser godkännandet av alla samtycken, enligt CMP-konfigurationen. Denna information kommer endast att vara tillgänglig för de andra metoderna efter att återanropet returnerar en framgång eller ett misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och lagrats på enheten.
Parametrar:
-
completion: En avslutningsfunktion som anropas när operationen är klar och returnerar misslyckande eller framgång.
Returer: Inga
Exempel:
cmpManager.acceptAll { result ->
result.onSuccess {
toastMessage = "All consents accepted"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
acceptPurposes()
Accepterar samtycke för angivna ändamål, vilket förbrukar en sidvisning i processen. Det gör ett nätverksanrop till vår backend via ett meddelande som injiceras i WebView, vilket utlöser godkännandet av de angivna ändamålen som skickas som en parameter, enligt CMP-konfigurationen. Denna information kommer endast att vara tillgänglig för de andra metoderna efter att återanropet returnerat en framgång eller ett misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och lagrats på enheten.
Parametrar:
-
purposes: List<String> – En lista med syfte-ID:n som ska godkännas -
updatePurpose: Boolesk – Om relaterade syften ska uppdateras -
completion: En avslutningsfunktion som anropas när operationen är klar och returnerar antingen ett fel eller en framgång
Returer: Inga
Exempel:
cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
acceptVendors()
Accepterar samtycke för angivna leverantörer, vilket förbrukar en sidvisning i processen. Det gör ett nätverksanrop till vår backend via ett meddelande som injiceras i WebView, vilket utlöser godkännandet av de angivna leverantörerna som skickas som en parameter, enligt CMP-konfigurationen. Denna information kommer endast att vara tillgänglig för de andra metoderna efter att återanropet returnerat en framgång eller ett misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och lagrats på enheten.
Parametrar:
-
vendors: List<String> – En lista över leverantörs-ID:n som ska godkännas -
completion: En avslutning som anropas när operationen är klar
Returer: Inga
Exempel:
cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
importCMPInfo()
Importerar samtyckesinformation från en CMP-sträng. Detta tar emot en vanlig sträng som innehåller samtyckesdata, vanligtvis erhållen genom exportCMPInfo metoden. Denna information sparas i enhetens SharedPreferences-område och skickas samtidigt till vår backend via ett meddelande som injiceras i WebView, vilket förbrukar en sidvisning i processen.
Parametrar:
-
cmpString: Sträng – CMP-strängen som ska importeras -
completion: En avslutningsfunktion som anropas när operationen är klar och returnerar antingen ett fel eller en framgång
Returer: Inga
Exempel:
val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectAll()
Avvisar samtycke för alla ändamål och leverantörer, vilket förbrukar en sidvisning i processen. Det gör ett nätverksanrop till vår backend via ett meddelande som injiceras i WebView, vilket utlöser avvisandet av alla samtycken, enligt CMP-konfigurationen. Denna information kommer endast att vara tillgänglig för de andra metoderna efter att återanropet returnerat en framgång eller ett misslyckande, vilket innebär att det har bearbetats framgångsrikt av vår backend och lagrats på enheten.
Parametrar:
-
completion: En avslutning som anropas när operationen är klar
Returer: Inga
Exempel:
cmpManager.rejectAll { result ->
result.onSuccess {
toastMessage = "All consents rejected"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectPurposes()
Avvisar samtycke för angivna ändamål, vilket förbrukar en sidvisning i processen. Det gör ett nätverksanrop till vår backend via ett meddelande som injiceras i WebView, vilket utlöser avvisandet av de angivna ändamålen som skickas som en parameter, enligt CMP-konfigurationen. Denna information kommer endast att vara tillgänglig för de andra metoderna efter att återanropet returnerat en framgång eller ett misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och lagrats på enheten.
Parametrar:
-
purposes:List<String>– En lista över ID-nummer som ska avvisas -
updateVendor:Boolean– Om relaterade leverantörer ska uppdateras -
completion: En avslutning som anropas när operationen är klar
Returer: Inga
Exempel:
cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectVendors()
Avvisar samtycke för angivna leverantörer, vilket förbrukar en sidvisning i processen. Det gör ett nätverksanrop till vår backend via ett meddelande som injiceras i WebView, vilket utlöser avvisandet av de angivna leverantörerna som skickas som en parameter, enligt CMP-konfigurationen. Denna information kommer endast att vara tillgänglig för de andra metoderna efter att återanropet returnerat en framgång eller ett misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och lagrats på enheten.
Parametrar:
-
vendors: List<String> – En lista över leverantörs-ID:n som ska avvisas -
completion: En avslutningsfunktion som anropas när operationen är klar och returnerar antingen ett fel eller en framgång
Returer: Inga
Exempel:
cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
resetConsentManagementData()
Detta tar bort nyckel/värde-paren från områdena UserDefaults och SharedPreferences på enheten. För att radera data helt kan du behöva ta bort cookies, dataposter samt webview-historik och cache för att helt tvinga fram ett nytt samtycke.
Parametrar:
Ingen
Returer: Inga
Exempel:
cmpManager.resetConsentManagementData()
Överföring av samtyckesdata till SDK:er från tredje part
uppdateraThirdPartyConsent
Denna metod hanterar automatisk överföring av samtyckesdata till tredjeparts-SDK:er som AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge och Tenjin. Det fungerar via introspektion/reflektion, så initialisera tredjeparts-SDK:n med dina inloggningsuppgifter enligt den vanliga strategi som rekommenderas av leverantören, så kommer vår CMP-SDK att upptäcka instansen av tredjeparts-SDK:n och anropa de nödvändiga metoderna bakom kulisserna.
CMPManagerDelegate-händelser
setOnClickLinkCallback
SDK:n tillhandahåller en flexibel mekanism för länkhantering som gör det möjligt för applikationer att anpassa hur URL:er inom samtyckeslagret hanteras. Som standard öppnas alla länkar i WebView, men applikationer kan avlyssna specifika URL:er för att hantera dem externt vid behov.
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(consent: String, jsonObject: Map<String, Any>)
Detta utlöses när samtyckeslagret stängdes efter att användaren uppdaterat sina samtycken ELLER när metoder anropas som orsakar ändringar i samtyckena, som acceptAll, rejectAll, acceptVendors, rejectVendors, etc. Det innebär att användaren har godkänt eller avvisat vissa eller alla samtycken, och att dessa har sparats korrekt på enheten.
didShowConsentLayer
Detta utlöses när samtyckeslagret faktiskt visades. Det betyder att det inte fanns något giltigt samtycke på enheten, så ett nytt måste samlas in.
didCloseConsentLayer
Detta utlöses när SDK kontrollerade behovet av samtycke, men det behövdes inte och lagret visades inte. Det betyder att det redan finns ett giltigt samtycke i enheten, så ett nytt behövs inte och samtyckeslagret kommer inte att visas.
didReceiveError
Detta utlöses när SDK stöter på ett fel och returnerar sin kod. Vid dåliga nätverksförhållanden kan en fast timeout på cirka 10 sekunder förväntas.
Föråldrade metoder
Alla metoderna nedan har fasats ut och kommer att tas bort helt från SDK från och med juli 2025.
checkIfConsentIsRequired()
Kontrollerar om samtycke krävs för användaren. Detta kommer att göra ett nätverksanrop till våra servrar via WebView som skapats inuti vårt SDK, vilket kommer att skicka ett meddelande till vår backend via JavaScript. Vår backend kommer att upptäcka om enheten har ett giltigt samtycke eller inte, och ett meddelande kommer att skickas tillbaka till WebView, vilket avgör om det behöver visas eller inte, vilket förbrukar en sidvisning i processen. Beroende på det returnerade meddelandet kommer SDK att tolka det och returnera sina resultat via slutföringshanteraren.
Parametrar:
-
completion: (Boolesk) -> Enhet – En slutning som anropas med resultatet, antingentrueellerfalse.
Returer: Inga
Exempel:
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkWithServerAndOpenIfNecessary()
Kontrollerar med servern om samtycke krävs och öppnar samtyckeslagret vid behov. Detta kommer att göra ett nätverksanrop till våra servrar via WebView som skapats inuti vårt SDK, vilket förbrukar en sidvisning i processen. Detta nätverksanrop kommer att skicka ett meddelande till vår backend via JavaScript, som kommer att upptäcka om enheten har ett giltigt samtycke eller inte, vilket i sin tur kommer att avgöra om samtyckeslagret behöver visas eller inte.
Parametrar:
-
completion: En slutfunktion som anropas när operationen är klar, med resultatet, antingentrueellerfalse.
Returer: Inga
Exempel:
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()
Hämtar alla ändamåls-ID:n som lagrats på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återkopplingen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Returvärde: List<String> – En lista över alla ändamåls-ID:n
Exempel:
val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: (allPurposes)")
getAllVendorsIDs()
Hämtar alla leverantörs-ID:n som lagrats på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återkopplingen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Returvärde: List<String> – En lista över alla leverantörs-ID:n
Exempel:
val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: (allVendors)")
getDisabledPurposesIDs()
Hämtar ID:n för alla inaktiverade syften som lagrats på enheten, enligt CMP-konfigurationerna och användarens val. Om användaren accepterar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återkopplingen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Returvärde: List<String> – En lista över inaktiverade syfte-ID:n
Exempel:
val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: (disabledPurposes)")
getDisabledVendorsIDs()
Hämtar ID:n för alla inaktiverade leverantörer som lagrats på enheten, enligt CMP-konfigurationerna. Om användaren accepterar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återanropet från dessa metoder utlöses innan du anropar metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Returvärde: List<String> – En lista över inaktiverade leverantörs-ID:n
Exempel:
val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: (disabledVendors)")
getEnabledPurposesIDs()
Hämtar ID:n för alla aktiverade syften som lagras på enheten, enligt CMP-konfigurationerna. Om användaren avvisar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återanropet från dessa metoder utlöses innan du anropar metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Returvärden: List<String> – En lista över aktiverade syfte-ID:n
Exempel:
val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: (enabledPurposes)")
getEnabledVendorsIDs()
Hämtar ID:n för alla aktiverade leverantörer som lagras på enheten. Om användaren avvisar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återkopplingen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Returvärde: List<String> – En lista över aktiverade leverantörs-ID:n
Exempel:
val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: (enabledVendors)")
hasPurposeConsent()
Kontrollerar om samtycke har givits för ett specifikt syfte och om detta samtycke lagras på enheten. Den kontrollerar området SharedPreferences för godkända eller avvisade samtycken och filtrerar ID:t som skickas som parameter, och returnerar true om samtycket godkändes eller false i annat fall.
Parametrar:
-
id: Sträng – ID för det syfte som ska kontrolleras
Återkoppling: Boolean – True om samtycke ges, false annars
Exempel:
val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("Has consent for purpose c53: (hasPurposeConsent)")
hasUserChoice()
Kontrollerar om användaren har gjort ett val angående samtycken och om detta samtycke lagras på enheten. Det innebär att användaren antingen har accepterat alla samtycken, avvisat alla eller gjort ett blandat val av avvisade och accepterade samtycken, beroende på CMP-utformningen, som kan tillåta användarna att godkänna vissa samtycken och avvisa andra. Denna information kommer endast att vara uppdaterad efter att samtycket har lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återkopplingen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Återgång: Boolean – true om användaren har gjort ett val, false annars
Exempel:
val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: (hasChoice)")
hasVendorConsent()
Kontrollerar om samtycke har givits för en specifik leverantör och om detta samtycke lagras på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket har lagrats korrekt i SharedPreferences-området, så om du kontrollerar direkt efter att ha använt metoder som utlöser ändringar i samtycket, såsom openConsentLayer, acceptAll eller rejectAll, till exempel, vänta då tills återanropet från dessa metoder utlöses innan du anropar metoden hasUserChoice, för att säkerställa att informationen är uppdaterad.
Parametrar:
-
id: Sträng – Leverantörens ID som ska kontrolleras
Återkoppling: Boolean – True om samtycke ges, false annars
Exempel:
val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: (hasVendorConsent)")