[Android] 2. API-dokumentation
Smakämnen CMPManager
klass tillhandahåller metoder för att hantera användarens samtycke för databehandling och spårning. Den här dokumentationen täcker de huvudsakliga metoderna som är tillgängliga för integration av mobilappar.
Initieringen
Objekt UrlConfig(:UrlConfig)
Ställer in URL-konfigurationen för Consent Manager. Behöver initieras med värdet nedan och skickas till getInstance
metod.
Parametrar:
-
id
: Sträng - CMP ID -
domain
: String - Domänen för samtyckeshantering -
language
: String - Språkkoden (t.ex. "EN") -
appName
: String – Namnet på din app
Exempelvis:
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
setActivity(aktivitet: Aktivitet)
Ställer in den aktivitet som kommer att presentera samtyckeslagret. Det ska vara en ComponentActivity
.
Parametrar:
-
viewController
: ComponentActivity - Aktiviteten där samtyckeslagret kommer att presenteras.
Returnerar: Ingen
Exempelvis:
CMPManager.shared.setPresentingViewController(self)
Consent Layer Management
checkIfConsentIsRequired(komplettering: (Boolean) -> Enhet)
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 i vår SDK, som skickar ett meddelande till vår backend via JavaScript. Vår backend kommer att upptäcka om enheten har ett giltigt samtycke eller inte, och meddelandet kommer att skickas tillbaka till WebView och avgör om det behöver visas eller inte, förbrukar en sidvisning i processen. Beroende på meddelandet som returneras kommer SDK:n att tolka det och returnera dess resultat via kompletteringshanteraren.
Parametrar:
-
completion
: (Boolean) -> Enhet - En stängning anropas med resultatet, antingentrue
orfalse
.
Returnerar: Ingen
Exempelvis:
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkWithServerAndOpenIfNecessary(komplettering: (Resultat ) -> Enhet)
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 skapad i vår SDK, 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 avgör om samtyckesskiktet måste visas eller inte.
Parametrar:
-
completion
: En stängning som anropas när operationen är klar, med resultatet, antingentrue
orfalse
.
Returnerar: Ingen
Exempelvis:
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(komplettering: (Resultat ) -> Enhet)
Öppnar samtyckesskiktet. Den ringer ett nätverkssamtal till vår backend, förbrukar en sidvisning i processen. Det kommer att visa samtyckeslagret som tillåter användaren att antingen acceptera alla eller avvisa alla val, eller, beroende på CMP-designen, tillåta dem att kontrollera samtyckena på ett mer detaljerat sätt.
Parametrar:
-
completion
: En stängning som anropas när operationen är klar och returnerar antingen en framgång eller ett fel.
Returnerar: Ingen
Exempelvis:
cmpManager.openConsentLayer { result ->
result.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
Status för samtycke
exportCMPIinfo()
Exporterar den aktuella samtyckesinformationen som är lagrad på enheten som en sträng. Den här metoden hämtar samtyckessträngen från området SharedPreferences på enheten och returnerar den. Vanligtvis skickas denna information till importCMPInfo
metod.
Returnerar: String - Den exporterade samtyckesinformationen
Exempelvis:
val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: \(cmpInfo)")
hasPurposeConsent(id: String)
Kontrollerar om samtycke har getts för ett specifikt ändamål och detta samtycke lagras på enheten. Den kontrollerar området SharedPreferences för samtycken som accepterats eller avvisats, och filtrerar ID:t som skickats som en parameter och returnerar sant om samtycket accepterades eller falskt på annat sätt.
Parametrar:
-
id
: String - ID för syftet att kontrollera
Returnerar: Boolean
- True
om samtycke ges, false
annat
Exempelvis:
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 detta samtycke lagras på enheten. Det betyder att användaren antingen accepterade alla samtycken, avvisade dem alla eller gjorde ett blandat val av avvisade och accepterade samtycken, beroende på CMP-designen, vilket kan tillåta användarna att tillåta några av samtyckena och avvisa andra. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Boolean
- true
om användaren har gjort ett val, false
annat
Exempelvis:
val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: \(hasChoice)")
hasVendorConsent(id: String)
Kontrollerar om samtycke har givits för en specifik leverantör och detta samtycke lagras på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Parametrar:
-
id
: String - ID för leverantören som ska kontrolleras
Returnerar: Boolean
- True
om samtycke ges, false
annat
Exempelvis:
val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: \(hasVendorConsent)")
Syfte och leverantörshantering
getAllPurposesIDs()
Hämtar alla ändamåls-ID:n lagrade på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Lista - En lista över ID:n för alla ändamål
Exempelvis:
val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: \(allPurposes)")
getAllVendorsIDs()
Hämtar alla leverantörs-ID:n lagrade på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket har behållits korrekt i SharedPreferences område, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Lista - En lista över alla leverantörs-ID:n
Exempelvis:
val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: \(allVendors)")
getDisabledPurposesIDs()
Hämtar ID:n för alla inaktiverade syften som är lagrade på enheten, enligt CMP-konfigurationerna och användarvalen. Om användaren accepterar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Lista - En lista över funktionshindrade ID:n
Exempelvis:
val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: \(disabledPurposes)")
getDisabledVendorsIDs()
Hämtar ID:n för alla inaktiverade leverantörer lagrade 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 kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Lista - En lista över inaktiverade leverantörs-ID
Exempelvis:
val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: \(disabledVendors)")
getEnabledPurposesIDs()
Hämtar ID:n för alla aktiverade ändamål som är lagrade 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 kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Lista - En lista över aktiverade ändamåls-ID:n
Exempelvis:
val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: \(enabledPurposes)")
getEnabledVendorsIDs()
Hämtar ID:n för alla aktiverade leverantörer lagrade på enheten. Om användaren avvisar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i SharedPreferences-området, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer
, acceptAll
or rejectAll
till exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice
, för att säkerställa att informationen är aktuell.
Returnerar: Lista - En lista över aktiverade leverantörs-ID:n
Exempelvis:
val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: \(enabledVendors)")
Ändring av samtycke
acceptAll(completion: (Result ) -> Enhet)
Accepterar samtycke för alla ändamål och leverantörer, förbrukar en sidvisning i processen. Den gör ett nätverksanrop till vår backend via ett meddelande som injiceras på WebView, vilket kommer att utlösa acceptans av alla samtycken, enligt CMP-konfigurationen. Den här informationen kommer endast att vara tillgänglig för de andra metoderna efter att återuppringningen ger en framgång eller misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och kvarstår på enheten.
Parametrar:
-
completion
: En stängning som anropas när operationen är klar, returnerar misslyckande eller framgång.
Returnerar: Ingen
Exempelvis:
cmpManager.acceptAll { result ->
result.onSuccess {
toastMessage = "All consents accepted"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
acceptPurposes(syfte: List , updatePurpose: Boolean, slutförande: (Resultat ) -> Enhet)
Accepterar samtycke för specificerade ändamål, förbrukar en sidvisning i processen. Den gör ett nätverksanrop till vår backend via ett meddelande som injiceras på WebView, vilket kommer att utlösa acceptansen av de bestämda syftena som skickas som en parameter, enligt CMP-konfigurationen. Den här informationen kommer endast att vara tillgänglig för de andra metoderna efter att återuppringningen ger en framgång eller misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och kvarstår på enheten.
Parametrar:
-
purposes
: Lista - En lista över ändamåls-ID att acceptera -
updatePurpose
: Boolean - Om relaterade syften ska uppdateras -
completion
: En stängning som anropas när operationen är klar, vilket returnerar antingen ett misslyckande eller en framgång
Returnerar: Ingen
Exempelvis:
cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
acceptVendors(leverantörer: List , slutförande: (Resultat ) -> Enhet)
Accepterar samtycke för specificerade leverantörer, förbrukar en sidvisning i processen. Den gör ett nätverksanrop till vår backend via ett meddelande som injiceras på WebView, vilket kommer att utlösa acceptansen av de bestämda leverantörerna som skickas som en parameter, enligt CMP-konfigurationen. Den här informationen kommer endast att vara tillgänglig för de andra metoderna efter att återuppringningen ger en framgång eller misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och kvarstår på enheten.
Parametrar:
-
vendors
: Lista - En lista över leverantörs-ID:n att acceptera -
completion
: En stängning som anropas när operationen är klar
Returnerar: Ingen
Exempelvis:
cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
importCMPInfo(cmpString: String)
Importerar samtyckesinformation från en CMP-sträng. Detta kommer att få en vanlig sträng som innehåller samtyckesdata, vanligtvis erhållen via exportCMPInfo
metod. Denna information finns kvar i SharedPreferences-området på enheten och skickas samtidigt till vår backend via ett meddelande som injiceras i WebView, förbrukar en sidvisning i processen.
Parametrar:
-
cmpString
: String - CMP-strängen som ska importeras -
completion
: En stängning som anropas när operationen är klar, vilket returnerar antingen ett misslyckande eller framgång
Returnerar: Ingen
Exempelvis:
val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
avvisaAlla(slutförande: (Resultat ) -> Enhet)
Avvisar samtycke för alla ändamål och leverantörer, förbrukar en sidvisning i processen. Den gör ett nätverksanrop till vår backend via ett meddelande som injiceras på WebView, vilket kommer att utlösa avslag på alla samtycken, enligt CMP-konfigurationen. Den här informationen kommer endast att vara tillgänglig för de andra metoderna efter att återuppringningen returnerar en framgång eller ett misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och kvarstår på enheten.
Parametrar:
-
completion
: En stängning som anropas när operationen är klar
Returnerar: Ingen
Exempelvis:
cmpManager.rejectAll { result ->
result.onSuccess {
toastMessage = "All consents rejected"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectPurposes(syfte: List , updateVendor: Boolean, komplettering: (Resultat ) -> Enhet)
Avvisar samtycke för specificerade ändamål, förbrukar en sidvisning i processen. Den gör ett nätverksanrop till vår backend via ett meddelande som injiceras på WebView, vilket kommer att utlösa avvisningen av de bestämda syftena som skickas som en parameter, enligt CMP-konfigurationen. Den här informationen kommer endast att vara tillgänglig för de andra metoderna efter att återuppringningen ger en framgång eller misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och kvarstår på enheten.
Parametrar:
-
purposes
:List<String>
- En lista över ändamåls-ID att avvisa -
updateVendor
:Boolean
- Om relaterade leverantörer ska uppdateras -
completion
: En stängning som anropas när operationen är klar
Returnerar: Ingen
Exempelvis:
cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
avvisaVendors(leverantörer: List , slutförande: (Resultat ) -> Enhet)
Avvisar samtycke för specificerade leverantörer, förbrukar en sidvisning i processen. Den gör ett nätverksanrop till vår backend via ett meddelande som injiceras på WebView, vilket kommer att utlösa avvisningen av de bestämda leverantörerna som skickas som en parameter, enligt CMP-konfigurationen. Den här informationen kommer endast att vara tillgänglig för de andra metoderna efter att återuppringningen ger en framgång eller misslyckande, vilket innebär att den har bearbetats framgångsrikt av vår backend och kvarstår på enheten.
Parametrar:
-
vendors
: Lista - En lista över leverantörs-ID att avvisa -
completion
: En stängning som anropas när operationen är klar, vilket returnerar antingen ett misslyckande eller en framgång
Returnerar: Ingen
Exempelvis:
cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
resetConsentManagementData()
Återställer all samtyckeshanteringsdata. Detta raderar fullständigt alla poster i SharedPreferences-området relaterade till samtycken som accepterats eller avvisats av användaren. Det liknar att helt ta bort appen från enheten.
Parametrar:
Ingen
Returnerar: Ingen
Exempelvis:
cmpManager.resetConsentManagementData()
CMPManagerDelegate-evenemang
didReceiveConsent(samtycke: String, jsonObject: [String: Alla])
Detta utlöses när samtyckeslagret stängdes efter att användaren uppdaterat sina samtycken ELLER när man åberopar metoder som orsakar ändringar i samtyckena, som acceptAll, rejectAll, acceptVendors, rejectVendors, etc. Det betyder att användaren accepterade eller avvisade några av alla. av samtyckena och att dessa sparades korrekt i enheten.
didShowConsentLayer
Detta utlöses när samtyckeslagret faktiskt visades. Det betyder att det inte fanns ett giltigt samtycke i enheten, så ett nytt bör hämtas.
didCloseConsentLayer
Detta utlöses när SDK:n kontrollerade behovet av ett samtycke, men det behövdes inte och lagret visades inte. Det betyder att det redan finns en giltig i enheten, så en ny är inte nödvändig och tue samtyckeslager kommer inte att visas.
didReceiveError
Detta utlöses när SDK:n stötte på något fel och returnerar dess kod.