[Android] 2. Dokumentacja API
Opona CMPManager
Klasa udostępnia metody zarządzania zgodą użytkownika na przetwarzanie i śledzenie danych. Ta dokumentacja obejmuje główne metody dostępne dla integracji aplikacji mobilnych.
Inicjalizacji
Obiekt UrlConfig(:UrlConfig)
Ustawia konfigurację adresu URL dla Consent Manager. Należy zainicjować wartością poniżej i przekazać do getInstance
Metoda.
Parametry:
-
id
:Ciąg - Identyfikator CMP -
domain
:String - Domena do zarządzania zgodą -
language
:String - Kod języka (np. „EN”) -
appName
:String - Nazwa Twojej aplikacji
Przykład:
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
setActivity(aktywność: Aktywność)
Ustawia Activity, która będzie prezentować warstwę zgody. Powinna to być ComponentActivity
.
Parametry:
-
viewController
:ComponentActivity — Aktywność, w której zostanie zaprezentowana warstwa zgody.
Zwraca: żaden
Przykład:
CMPManager.shared.setPresentingViewController(self)
Zarządzanie warstwą zgody
checkIfConsentIsRequired(ukończenie: (wartość logiczna) -> jednostka)
Sprawdza, czy wymagana jest zgoda użytkownika. Spowoduje to wykonanie połączenia sieciowego do naszych serwerów za pośrednictwem WebView utworzonego w naszym SDK, który wyśle wiadomość do naszego zaplecza za pośrednictwem JavaScript. Nasze zaplecze wykryje, czy urządzenie ma ważną zgodę, czy nie, a wiadomość zostanie wysłana z powrotem do WebView, ustalając, czy musi zostać wyświetlona, czy nie, zużywanie jednej odsłony w trakcie. W zależności od zwróconej wiadomości, SDK zinterpretuje ją i zwróci jej wyniki za pośrednictwem programu obsługi ukończenia.
Parametry:
-
completion
: (Boolean) -> Jednostka - Zamknięcie wywoływane z wynikiem, albotrue
orfalse
.
Zwraca: żaden
Przykład:
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkWithServerAndOpenIfNecessary(ukończenie: (Wynik ) -> Jednostka)
Sprawdza na serwerze, czy wymagana jest zgoda i otwiera warstwę zgody, jeśli jest to konieczne. Spowoduje to wywołanie sieciowe do naszych serwerów za pośrednictwem WebView utworzonego w naszym SDK, zużywanie jednej odsłony w trakcie. To wywołanie sieciowe wyśle wiadomość do naszego zaplecza za pośrednictwem JavaScript, który wykryje, czy urządzenie ma ważną zgodę, czy nie, co z kolei określi, czy warstwa zgody musi zostać wyświetlona, czy nie.
Parametry:
-
completion
: Zamknięcie wywoływane po zakończeniu operacji, którego wynikiem jest:true
orfalse
.
Zwraca: żaden
Przykład:
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(ukończenie: (Wynik ) -> Jednostka)
Otwiera warstwę zgody. Wykonuje wywołanie sieciowe do naszego zaplecza, zużywanie jednej odsłony w trakcie procesu. Wyświetli warstwę zgody, pozwalając użytkownikowi albo Akceptować Wszystkie, albo Odrzucać Wszystkie wybory, albo, w zależności od projektu CMP, pozwalając mu kontrolować zgody w bardziej szczegółowy sposób.
Parametry:
-
completion
: Zamknięcie wywoływane po zakończeniu operacji, zwracając albo pomyślnie, albo błędnie.
Zwraca: żaden
Przykład:
cmpManager.openConsentLayer { result ->
result.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
Status zgody
eksportujCMPInfo()
Eksportuje bieżące informacje o zgodzie zapisane na urządzeniu jako ciąg. Ta metoda pobiera ciąg zgody z obszaru SharedPreferences urządzenia i zwraca go. Zwykle te informacje są przekazywane do importCMPInfo
Metoda.
Zwraca: Ciąg - eksportowane informacje o zgodzie
Przykład:
val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: \(cmpInfo)")
ma zgodę na cel (id: String)
Sprawdza, czy zgoda została udzielona na określony cel i czy ta zgoda jest przechowywana na urządzeniu. Sprawdza obszar SharedPreferences pod kątem zgód zaakceptowanych lub odrzuconych i filtruje ID przekazane jako parametr, zwracając wartość true, jeśli zgoda została zaakceptowana, lub false w przeciwnym wypadku.
Parametry:
-
id
:String - Identyfikator celu sprawdzenia
Zwraca: Boolean
- True
jeśli zgoda zostanie wyrażona, false
Inaczej
Przykład:
val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("Has consent for purpose c53: \(hasPurposeConsent)")
maWybórUżytkownika()
Sprawdza, czy użytkownik dokonał wyboru dotyczącego zgód i czy ta zgoda jest przechowywana na urządzeniu. Oznacza to, że użytkownik albo zaakceptował wszystkie zgody, odrzucił wszystkie z nich, albo dokonał mieszanego wyboru odrzuconych i zaakceptowanych zgód, w zależności od projektu CMP, co może pozwolić użytkownikom na zaakceptowanie niektórych zgód i odrzucenie innych. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Boolean
- true
jeśli użytkownik dokonał wyboru, false
Inaczej
Przykład:
val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: \(hasChoice)")
maZgodęDostawcy(id: String)
Sprawdza, czy zgoda została wyrażona dla konkretnego dostawcy i czy zgoda ta jest zapisywana na urządzeniu, zgodnie z konfiguracjami CMP. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Parametry:
-
id
:String - Identyfikator dostawcy do sprawdzenia
Zwraca: Boolean
- True
jeśli zgoda zostanie wyrażona, false
Inaczej
Przykład:
val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: \(hasVendorConsent)")
Cel i zarządzanie dostawcami
pobierzWszystkieIdentyfikatory()
Pobiera wszystkie identyfikatory celów zapisane na urządzeniu, zgodnie z konfiguracjami CMP. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Lista - Lista identyfikatorów uniwersalnych
Przykład:
val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: \(allPurposes)")
pobierzIDWszystkichDostawców()
Pobiera wszystkie identyfikatory dostawców zapisane na urządzeniu, zgodnie z konfiguracjami CMP. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w SharedPreferences obszarwięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Lista - Lista wszystkich identyfikatorów dostawców
Przykład:
val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: \(allVendors)")
pobierzWyłączoneIdentyfikatoryCelów()
Pobiera identyfikatory wszystkich wyłączonych celów zapisanych na urządzeniu, zgodnie z konfiguracjami CMP i wyborami użytkownika. Jeśli użytkownik zaakceptuje wszystkie zgody, będzie to puste. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Lista - Lista wyłączonych identyfikatorów celów
Przykład:
val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: \(disabledPurposes)")
pobierzWyłączoneIdentyfikatoryDostawców()
Pobiera identyfikatory wszystkich wyłączonych dostawców zapisanych na urządzeniu, zgodnie z konfiguracjami CMP. Jeśli użytkownik zaakceptuje wszystkie zgody, będzie to puste. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Lista - Lista wyłączonych identyfikatorów dostawców
Przykład:
val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: \(disabledVendors)")
pobierzEnabledPurposesIDs()
Pobiera identyfikatory wszystkich włączonych celów zapisanych na urządzeniu, zgodnie z konfiguracjami CMP. Jeśli użytkownik odrzuci wszystkie zgody, będzie to puste. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Lista - Lista włączonych identyfikatorów celów
Przykład:
val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: \(enabledPurposes)")
pobierzEnabledVendorsIDs()
Pobiera identyfikatory wszystkich włączonych dostawców zapisanych na urządzeniu. Jeśli użytkownik odrzuci wszystkie zgody, będzie to puste. Informacje te zostaną zaktualizowane dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferenceswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer
, acceptAll
or rejectAll
na przykład, wtedy poczekaj, aż wywołanie zwrotne z tych metod zostanie wywołane przed uzyskaniem dostępu do metody hasUserChoice
, aby upewnić się, że informacje są aktualne.
Zwraca: Lista - Lista włączonych identyfikatorów dostawców
Przykład:
val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: \(enabledVendors)")
Modyfikacja zgody
zaakceptujWszystko(ukończenie: (Wynik ) -> Jednostka)
Akceptuje zgodę na wszystkie cele i dostawców, zużywanie jednej odsłony w trakcie. Wykonuje wywołanie sieciowe do naszego zaplecza za pośrednictwem wiadomości wstrzykiwanej do WebView, która wywoła akceptację wszystkich zgód, zgodnie z konfiguracją CMP. Informacje te będą dostępne dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci powodzenie lub niepowodzenie, co oznacza, że zostały pomyślnie przetworzone przez nasze zaplecze i utrwalone na urządzeniu.
Parametry:
-
completion
: Zamknięcie wywoływane po zakończeniu operacji, zwracając komunikat o niepowodzeniu lub powodzeniu.
Zwraca: żaden
Przykład:
cmpManager.acceptAll { result ->
result.onSuccess {
toastMessage = "All consents accepted"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
zaakceptujCele(cele: Lista , updatePurpose: Wartość logiczna, zakończenie: (Wynik ) -> Jednostka)
Akceptuje zgodę na określone cele, zużywanie jednej odsłony w trakcie. Wykonuje wywołanie sieciowe do naszego zaplecza za pośrednictwem wiadomości wstrzykiwanej do WebView, która wywoła akceptację ustalonych celów przekazanych jako parametr, zgodnie z konfiguracją CMP. Informacje te będą dostępne dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci powodzenie lub niepowodzenie, co oznacza, że zostały pomyślnie przetworzone przez nasze zaplecze i utrwalone na urządzeniu.
Parametry:
-
purposes
:Lista - Lista identyfikatorów celów do zaakceptowania -
updatePurpose
: Boolean - Czy aktualizować powiązane cele -
completion
: Zamknięcie wywoływane po zakończeniu operacji, zwracając albo błąd, albo powodzenie
Zwraca: żaden
Przykład:
cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
acceptVendors(dostawcy: Lista , ukończenie: (Wynik ) -> Jednostka)
Akceptuje zgodę dla określonych dostawców, zużywanie jednej odsłony w trakcie. Wykonuje wywołanie sieciowe do naszego zaplecza za pośrednictwem wiadomości wstrzykiwanej do WebView, która wywoła akceptację określonych dostawców przekazanych jako parametr, zgodnie z konfiguracją CMP. Informacje te będą dostępne dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci powodzenie lub niepowodzenie, co oznacza, że zostały pomyślnie przetworzone przez nasze zaplecze i utrwalone na urządzeniu.
Parametry:
-
vendors
:Lista - Lista identyfikatorów dostawców do zaakceptowania -
completion
: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: żaden
Przykład:
cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
importCMPInfo(ciąg_CMP: ciąg)
Importuje informacje o zgodzie z ciągu CMP. Otrzyma on zwykły ciąg zawierający dane zgody, zwykle uzyskane za pośrednictwem exportCMPInfo
metoda. Informacje te są utrwalane w obszarze SharedPreferences urządzenia i jednocześnie są wysyłane do naszego zaplecza za pomocą wiadomości wstrzykiwanej w WebView, zużywając jedną odsłonę w tym procesie.
Parametry:
-
cmpString
:String - Ciąg CMP do zaimportowania -
completion
: Zamknięcie wywoływane po zakończeniu operacji, zwracając błąd lub powodzenie
Zwraca: żaden
Przykład:
val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
odrzućWszystko(ukończenie: (Wynik ) -> Jednostka)
Odrzuca zgodę na wszystkie cele i dostawców, zużywanie jednej odsłony w trakcie. Wykonuje wywołanie sieciowe do naszego zaplecza za pośrednictwem wiadomości wstrzykiwanej do WebView, która spowoduje odrzucenie wszystkich zgód, zgodnie z konfiguracją CMP. Informacje te będą dostępne dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci powodzenie lub niepowodzenie, co oznacza, że zostały pomyślnie przetworzone przez nasze zaplecze i utrwalone na urządzeniu.
Parametry:
-
completion
: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: żaden
Przykład:
cmpManager.rejectAll { result ->
result.onSuccess {
toastMessage = "All consents rejected"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
odrzućCele(cele: Lista , updateVendor: Boolean, zakończenie: (Wynik ) -> Jednostka)
Odrzuca zgodę na określone cele, zużywanie jednej odsłony w trakcie. Wykonuje wywołanie sieciowe do naszego zaplecza za pośrednictwem wiadomości wstrzykiwanej do WebView, która spowoduje odrzucenie określonych celów przekazanych jako parametr, zgodnie z konfiguracją CMP. Informacje te będą dostępne dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci powodzenie lub niepowodzenie, co oznacza, że zostały pomyślnie przetworzone przez nasze zaplecze i utrwalone na urządzeniu.
Parametry:
-
purposes
:List<String>
- Lista identyfikatorów celów do odrzucenia -
updateVendor
:Boolean
- Czy aktualizować powiązanych dostawców -
completion
: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: żaden
Przykład:
cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
odrzućDostawców(dostawcy: Lista , ukończenie: (Wynik ) -> Jednostka)
Odrzuca zgodę dla określonych dostawców, zużywanie jednej odsłony w trakcie. Wykonuje wywołanie sieciowe do naszego zaplecza za pośrednictwem wiadomości wstrzykiwanej do WebView, która spowoduje odrzucenie określonych dostawców przekazanych jako parametr, zgodnie z konfiguracją CMP. Informacje te będą dostępne dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci powodzenie lub niepowodzenie, co oznacza, że zostały pomyślnie przetworzone przez nasze zaplecze i utrwalone na urządzeniu.
Parametry:
-
vendors
:Lista - Lista identyfikatorów dostawców do odrzucenia -
completion
: Zamknięcie wywoływane po zakończeniu operacji, zwracając albo błąd, albo powodzenie
Zwraca: żaden
Przykład:
cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
resetConsentManagementData()
Resetuje wszystkie dane zarządzania zgodami. To całkowicie usuwa wszystkie wpisy obszaru SharedPreferences związane ze zgodami zaakceptowanymi lub odrzuconymi przez użytkownika. Jest to podobne do całkowitego usunięcia aplikacji z urządzenia.
Parametry:
żaden
Zwraca: żaden
Przykład:
cmpManager.resetConsentManagementData()
CMPManagerDelegat wydarzenia
didReceiveConsent(zgoda: String, jsonObject: [String: Any])
Wyzwala się, gdy warstwa zgody została zamknięta po zaktualizowaniu przez użytkownika swoich zgód LUB podczas wywołania metod powodujących zmiany w zgodach, takich jak acceptAll, rejectAll, acceptVendors, rejectVendors itd. Oznacza to, że użytkownik zaakceptował lub odrzucił część lub wszystkie zgody, a także że zostały one prawidłowo zapisane na urządzeniu.
Wyświetl warstwę zgody
Wyzwala się, gdy warstwa zgody została faktycznie wyświetlona. Oznacza to, że w urządzeniu nie było ważnej zgody, więc należy zebrać nową.
zamknij warstwę zgody
Wyzwalane jest, gdy SDK sprawdza potrzebę zgody, ale nie była ona potrzebna i warstwa nie była wyświetlana. Oznacza to, że w urządzeniu jest już prawidłowa, więc nowa nie jest konieczna i warstwa zgody nie zostanie wyświetlona.
otrzymałem błąd
Funkcja ta jest aktywowana, gdy zestaw SDK napotka błąd i zwróci swój kod.