[Android] 2. API-dokumentation

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 false tillåter dialogrutan att sträcka sig under systemfält
  • 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, antingen true om inget giltigt samtycke hittades på enheten eller false i 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å false eller undertryckt).
  • completion: En slutfunktion som anropas när operationen är klar, med resultatet, antingen true eller false.

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å false eller 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, antingen true eller false.

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, antingen true eller false.

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äntatills å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äntatills å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äntatills å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äntatills å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äntatills å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äntatills å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: BooleanTrue 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äntatills å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: Booleantrue 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äntatills å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: BooleanTrue om samtycke ges, false annars

Exempel:

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

 

 

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!