[Android] 2. Dokumentacja API

Klasa CMPManager klasa udostępnia metody do zarządzania zgodą użytkownika na przetwarzanie danych i śledzenie. Niniejsza dokumentacja obejmuje główne metody dostępne do integracji z aplikacjami mobilnymi

Wszystkie wymienione poniżej przykłady pochodzą z naszej aplikacji demonstracyjnej i można je tam znaleźć.

Sprawdź przestarzałe metody, jeśli już integrujesz wersję v3 naszego SDK CMP.

Inicjalizacja

UrlConfig()

Ustawia konfigurację adresu URL dla menedżera zgód. Musi zostać zainicjowany poniższą wartością i przekazany do getInstance metodzie. 

Parametry:

  • id: Ciąg znaków – identyfikator kodu pobrany z panelu CMP
  • domain: Ciąg znaków – domena do zarządzania zgodami, również pobrana z panelu CMP
  • language: Ciąg znaków – kod języka (np. „EN”, „IT”, „DE” itp.)
  • appName: String – nazwa Twojej aplikacji, używana wyłącznie do celów raportowania
  • jsonConfig: Obiekt JSON – opcjonalny, używany tylko w szczególnych przypadkach; nie używaj go, chyba że jest to wyraźnie zaznaczone na Twoim panelu CMP wraz z innymi parametrami wymienionymi powyżej. 
  • noHash: boolean – zapobiega wykorzystaniu znaku hash (#) przez wygenerowany adres URL ładowany przez widok internetowy w celu przekazania zgody 

Przykład:

val urlConfig = UrlConfig(
    id = "YOUR_CODE_ID_HERE",
    domain = "delivery.consentmanager.net",
    language = "EN",
    appName = "CMDemoAppKotlin"
)

setActivity()

Ustawia aktywność, która wyświetli warstwę zgody. Powinna to być ComponentActivity

Parametry:

  • viewController: ComponentActivity – aktywność, w której zostanie wyświetlona warstwa zgody.

Zwroty: Brak

Przykład:

CMPManager.shared.setPresentingViewController(self)

 

Parametry ConsentLayerUIConfig()

  • position: Strategia pozycjonowania okien dialogowych (domyślnie: Position.FULL_SCREEN):
    • Position.FULL_SCREEN – Zajmuje cały ekran
    • Position.HALF_SCREEN_TOP – Górna połowa ekranu
    • Position.HALF_SCREEN_BOTTOM – Dolna połowa ekranu
    • Position.custom(width: Int, height: Int) – Niestandardowe wymiary w pikselach
  • backgroundStyle: Wygląd tła (domyślnie: `BackgroundStyle.dimmed(Color.BLACK, 0.5f))
  • cornerRadius: Float – Promień narożnika w dp (domyślnie: 0f).
    • Uwaga: Wymaga SDK w wersji 3.7.0+ do prawidłowego przycinania treści WebView
  • respectsSafeArea: Boolean – czy uwzględniać wcięcia interfejsu użytkownika systemu (domyślnie: true).
    • Uwaga: W systemie Android 11+ (API 30) ustawienie na false pozwala oknu dialogowemu rozciągać się poniżej pasków systemowych
  • isCancelable: Boolean – czy okno dialogowe można zamknąć (domyślnie: true)
  • darkMode: Boolean – Włącz stylizację trybu ciemnego (domyślnie: 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
)

Zarządzanie warstwą zgody

getUserStatus()

Zwraca szczegółowy obraz aktualnego statusu zgody użytkownika i jego preferencji. Ta metoda dostarcza wyczerpujących informacji na temat wyborów użytkownika dotyczących zgody, w tym jego ogólnego statusu zgody, indywidualnych uprawnień dostawców, zgód na konkretne cele oraz odpowiednich ciągów znaków zgody.

Parametry:

  • Brak

Zwroty:

Typ zwracanej wartości: CMPUserStatusResponse obiekt, wyjaśniony w kodzie poniżej. 

Przykład:

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()

Sprawdza, czy wymagana jest zgoda użytkownika. Spowoduje to wywołanie sieciowe do naszych serwerów za pośrednictwem WebView utworzonego w naszym SDK, które wyśle wiadomość do naszego backendu za pomocą JavaScript. Nasz backend wykryje, czy urządzenie posiada ważną zgodę, a wiadomość zostanie odesłana do WebView, określając, czy należy ją wyświetlić, czy nie, zużywając przy tym jedno wyświetlenie strony.

Parametry: Brak

Powrót:

  • completion: (Boolean) -> Unit – zamknięcie wywoływane z wynikiem, albo true jeśli na urządzeniu nie znaleziono ważnej zgody, false w przeciwnym razie.

Przykład:

cmpManager.isConsentRequired { needsConsent ->
	toastMessage = "Needs Consent: $needsConsent"
}

checkAndOpen()

Sprawdza na serwerze, czy wymagana jest zgoda, i w razie potrzeby otwiera warstwę zgody. Spowoduje to nawiązanie połączenia sieciowego z naszymi serwerami za pośrednictwem WKWebView utworzonego w naszym SDK, co zużyje jedno wyświetlenie strony. To połączenie sieciowe wyśle wiadomość do naszego backendu za pomocą JavaScript, który wykryje, czy urządzenie posiada ważną zgodę, co z kolei określi, czy warstwa zgody musi zostać wyświetlona, czy nie.  

Parametry:

  • jumpToSettings: Wartość logiczna określająca, czy wyświetlona warstwa zgody automatycznie przekieruje do strony, na której użytkownicy mają bardziej szczegółową kontrolę nad udzielonymi zgodami, umożliwiając im precyzyjne dostosowanie swoich wyborów (gdy ustawiona na true) lub do początkowego ekranu domyślnego z przyciskami (gdy ustawione na false lub pominięte).
  • completion: Funkcja zamykająca wywoływana po zakończeniu operacji, z wynikiem, albo true lub false.

Zwroty: Brak

Przykład:

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()

Otwiera warstwę zgody. Wykonuje wywołanie sieciowe do naszego backendu, zużywając przy tym jedno wyświetlenie strony. Wyświetli warstwę zgody, pozwalając użytkownikowi zaakceptować wszystkie lub odrzucić wszystkie opcje, lub, w zależności od parametru jumpToSettings, umożliwi mu kontrolowanie zgód w bardziej szczegółowy sposób. 

Parametry:

  • jumpToSettings: Wartość logiczna określająca, czy wyświetlona warstwa zgody automatycznie przekieruje do strony, na której użytkownicy mają bardziej szczegółową kontrolę nad udzielonymi zgodami, umożliwiając im precyzyjne dostosowanie swoich wyborów (gdy ustawiona na true) lub do początkowego ekranu domyślnego z przyciskami (gdy ustawione na false lub pominięte).
  • completion: Funkcja zamykająca wywoływana po zakończeniu operacji, zwracająca komunikat o powodzeniu lub błędzie. 

Zwroty: Brak

Przykład:

cmpManager.openConsentLayer { result ->
	result.onFailure { error ->
    	toastMessage = "Error: ${error.message}"
	}
}

Status zgody

exportCMPInfo()

Eksportuje aktualne informacje o zgodzie zapisane na urządzeniu jako ciąg znaków. Metoda ta pobiera ciąg znaków zgody z obszaru SharedPreferences urządzenia i zwraca go. Zazwyczaj informacja ta jest przekazywana do metody importCMPInfo metodę

Zwraca: Ciąg znaków – wyeksportowane informacje dotyczące zgody

Przykład:

val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: (cmpInfo)")

getGoogleConsentModeStatus()

Płynnie integruje się z Consent Mode, technologią Google umożliwiającą modelowanie konwersji i analityki, pozwalającą usługom Google uzupełniać luki w danych, gdy użytkownicy nie wyrażą zgody. Ta funkcja przekształca zgodę użytkownika z Twojego CMP na format zrozumiały dla Firebase Analytics, dzięki czemu wystarczy pobrać wynik tej metody i przekazać go do metody Firebase .setConsent.

  • Następnie aktualizuje Google Analytics o aktualny status zgody użytkownika.

Parametry:

  • Brak

Zwraca: Map<String, String> – Tablica wartości kluczowych z czterema kluczami trybu zgody Google: .analyticsStorage, .adStorage, .adUserData oraz .adPersonalization, oraz ich odpowiednie wartości w postaci .choiceDoesntExist, .granted lub .denied.

Przykład:

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()

Sprawdza, czy wyrażono zgodę na określony cel i czy ta zgoda jest zapisana na urządzeniu. Sprawdza obszar UserDefaults pod kątem zaakceptowanych lub odrzuconych zgód i filtruje identyfikator przekazany jako parametr, zwracając wartość true, jeśli zgoda została zaakceptowana, lub false w przeciwnym razie. 

Parametry:

  • id: String – identyfikator celu do sprawdzenia

Zwraca: UniqueConsentStatus – Lista wyliczeniowa z wartościami .choiceDoesntExist jeśli nie udzielono zgody, .granted lub .denied.

Przykład:

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()

Sprawdza, czy udzielono zgody dla konkretnego dostawcy i czy zgoda ta jest zapisana na urządzeniu. Sprawdza obszar UserDefaults pod kątem zaakceptowanych lub odrzuconych zgód i filtruje identyfikator przekazany jako parametr, zwracając wartość true, jeśli zgoda została zaakceptowana, lub false w przeciwnym razie. 

Parametry:

  • id: String – identyfikator celu do sprawdzenia

Zwraca: UniqueConsentStatus – Lista wyliczeniowa z wartościami .choiceDoesntExist jeśli nie udzielono zgody, .granted lub .denied.

Przykład:

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"
}

 

Modyfikacja zgody

acceptAll()

Akceptuje zgodę na wszystkie cele i dostawców, zużywając przy tym jedno wyświetlenie strony. Wysyła żądanie sieciowe do naszego backendu za pośrednictwem komunikatu wstrzykniętego do WebView, co spowoduje 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 wynik sukcesu lub porażki, co oznacza, że zostały one pomyślnie przetworzone przez nasz backend i zapisane na urządzeniu. 

Parametry:

  • completion: Metoda wywoływana po zakończeniu operacji, zwracająca informację o niepowodzeniu lub powodzeniu.

Zwroty: Brak

Przykład:

cmpManager.acceptAll { result ->
    result.onSuccess {
	    toastMessage = "All consents accepted"
  	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

acceptPurposes()

Akceptuje zgodę na określone cele, zużywając przy tym jedno wyświetlenie strony. Wykonuje wywołanie sieciowe do naszego backendu za pośrednictwem komunikatu wstrzykniętego do WebView, co spowoduje akceptację 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 wynik sukcesu lub porażki, co oznacza, że zostały one pomyślnie przetworzone przez nasz backend i zapisane na urządzeniu. 

Parametry:

  • purposes: List<String> – lista identyfikatorów celów do zaakceptowania
  • updatePurpose: Boolean – Czy zaktualizować powiązane cele
  • completion: Funkcja zamykająca wywoływana po zakończeniu operacji, zwracająca komunikat o niepowodzeniu lub sukcesie

Zwroty: Brak

Przykład:

cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
	  	result.onSuccess {
	  	toastMessage = "Purposes enabled"
  	}.onFailure { error ->
  		toastMessage = "Error: ${error.message}"
    }
}

acceptVendors()

Akceptuje zgodę dla określonych dostawców, zużywając przy tym jedno wyświetlenie strony. Wywołuje połączenie sieciowe z naszym backendem za pośrednictwem komunikatu wstrzykniętego do WebView, co spowoduje 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 wynik pomyślny lub niepomyślny, co oznacza, że zostały one pomyślnie przetworzone przez nasz backend i zapisane na urządzeniu.  

Parametry:

  • vendors: List<String> – lista identyfikatorów dostawców, których należy zaakceptować
  • completion: Wywołanie funkcji kończącej po zakończeniu operacji

Zwroty: Brak

Przykład:

cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
	result.onSuccess {
		toastMessage = "Vendors Enabled"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

importCMPInfo()

Pobiera informacje o zgodzie z ciągu znaków CMP. Otrzyma to zwykły ciąg znaków zawierający dane dotyczące zgody, zazwyczaj uzyskane metodą exportCMPInfo . Informacje te są zapisywane w obszarze SharedPreferences urządzenia, a jednocześnie wysyłane do naszego backendu za pośrednictwem komunikatu wstrzykniętego do WebView, co wiąże się z wykorzystaniem jednego wyświetlenia strony. 

Parametry:

  • cmpString: Ciąg znaków – ciąg znaków CMP do zaimportowania
  • completion: Funkcja zamykająca wywoływana po zakończeniu operacji, zwracająca komunikat o niepowodzeniu lub sukcesie

Zwroty: Brak

Przykład:

val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
	result.onSuccess {
		toastMessage = "Vendors Enabled"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

rejectAll()

Odrzuca zgodę na wszystkie cele i dostawców, zużywając przy tym jedno wyświetlenie strony. Wysyła żądanie sieciowe do naszego backendu za pośrednictwem komunikatu wstrzykniętego do WebView, co spowoduje odrzucenie wszystkich zgód zgodnie z konfiguracją CMP. Informacja ta będzie dostępna dla innych metod dopiero po tym, jak wywołanie zwrotne zwróci wynik sukcesu lub porażki, co oznacza, że została pomyślnie przetworzona przez nasz backend i zapisana na urządzeniu. 

Parametry:

  • completion: Wywołanie funkcji kończącej po zakończeniu operacji

Zwroty: Brak

Przykład:

cmpManager.rejectAll { result ->
	result.onSuccess {
		toastMessage = "All consents rejected"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

rejectPurposes()

Odrzuca zgodę na określone cele, zużywając przy tym jedno wyświetlenie strony. Wykonuje wywołanie sieciowe do naszego backendu poprzez komunikat wstrzyknięty do WebView, co 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 wynik sukcesu lub porażki, co oznacza, że zostały one pomyślnie przetworzone przez nasz backend i zapisane na urządzeniu. 

Parametry:

  • purposes: List<String> – Lista identyfikatorów celów do odrzucenia
  • updateVendor: Boolean – Czy zaktualizować powiązanych dostawców
  • completion: Wywołanie funkcji kończącej po zakończeniu operacji

Zwroty: Brak

Przykład:

cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
    result.onSuccess {
      toastMessage = "Purposes disabled"
    }.onFailure { error ->
      toastMessage = "Error: ${error.message}"
	}
}

rejectVendors()

Odrzuca zgodę dla określonych dostawców, zużywając przy tym jedno wyświetlenie strony. Wykonuje wywołanie sieciowe do naszego backendu za pośrednictwem komunikatu wstrzykniętego do WebView, co 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 wynik pomyślny lub niepomyślny, co oznacza, że zostały one pomyślnie przetworzone przez nasz backend i zapisane na urządzeniu. 

Parametry:

  • vendors: List<String> – lista identyfikatorów dostawców, których należy odrzucić
  • completion: Funkcja zamykająca wywoływana po zakończeniu operacji, zwracająca komunikat o niepowodzeniu lub sukcesie

Zwroty: Brak

Przykład:

cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
	result.onSuccess {
		toastMessage = "Vendors Disabled"
	}.onFailure { error ->
		toastMessage = "Error: ${error.message}"
	}
}

resetConsentManagementData()

Spowoduje to usunięcie par klucz/wartość z obszarów UserDefaults i SharedPreferences urządzenia. Aby całkowicie usunąć dane, może być konieczne usunięcie plików cookie, rekordów danych oraz historii i pamięci podręcznej widoku internetowego, co wymusi konieczność uzyskania nowej zgody.  

Parametry:

Brak

Zwroty: Brak

Przykład:

cmpManager.resetConsentManagementData()

Przekazywanie danych dotyczących zgody do zewnętrznych bibliotek SDK

updateThirdPartyConsent

Ta metoda obsługuje automatyczne przekazywanie danych dotyczących zgody do zewnętrznych SDK, takich jak AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge i Tenjin. Działa ona poprzez introspekcję/refleksję, więc zainicjuj SDK strony trzeciej przy użyciu swoich danych uwierzytelniających zgodnie ze standardową strategią zalecaną przez dostawcę, a nasze SDK CMP wykryje instancję SDK strony trzeciej i wywoła niezbędne metody w tle. 

 

Zdarzenia CMPManagerDelegate

setOnClickLinkCallback

SDK zapewnia elastyczny mechanizm obsługi linków, który pozwala aplikacjom dostosować sposób obsługi adresów URL w warstwie zgody. Domyślnie wszystkie linki otwierają się w WebView, ale aplikacje mogą przechwytywać określone adresy URL, aby w razie potrzeby obsługiwać je zewnętrznie.

        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>)

Jest to uruchamiane, gdy warstwa zgody została zamknięta po zaktualizowaniu przez użytkownika swoich zgód LUB przy wywołaniu metod powodujących zmiany w zgodach, takich jak acceptAll, rejectAll, acceptVendors, rejectVendors itp. Oznacza to, że użytkownik zaakceptował lub odrzucił niektóre lub wszystkie zgody i że zostały one poprawnie zapisane w urządzeniu.

didShowConsentLayer

Jest to uruchamiane, gdy warstwa zgody została faktycznie wyświetlona. Oznacza to, że na urządzeniu nie było ważnej zgody, więc należy zebrać nową.

didCloseConsentLayer


Sytuacja ta ma miejsce, gdy SDK sprawdziło potrzebę uzyskania zgody, ale nie była ona wymagana i warstwa nie została wyświetlona. Oznacza to, że na urządzeniu istnieje już ważna zgoda, więc nowa nie jest konieczna, a warstwa zgody nie zostanie wyświetlona.

didReceiveError

Funkcja ta uruchamia się, gdy SDK napotka jakikolwiek błąd, zwracając jego kod. W przypadku słabych warunków sieciowych należy spodziewać się stałego limitu czasu wynoszącego około 10 sekund. 

Przestarzałe metody

Wszystkie poniższe metody zostały wycofane i zostaną całkowicie usunięte z SDK od lipca 2025 r. 

checkIfConsentIsRequired()

Sprawdza, czy wymagana jest zgoda użytkownika. Spowoduje to wywołanie sieciowe do naszych serwerów za pośrednictwem WebView utworzonego w naszym SDK, które wyśle wiadomość do naszego backendu za pomocą JavaScript. Nasz backend wykryje, czy urządzenie posiada ważną zgodę, czy nie, a wiadomość zostanie odesłana do WebView, określając, czy należy ją wyświetlić, czy nie, zużywając przy tym jedno wyświetlenie strony. W zależności od zwróconej wiadomości, SDK zinterpretuje ją i zwróci wyniki za pośrednictwem procedury obsługi zakończenia.

Parametry:

  • completion: (Boolean) -> Unit – zamknięcie wywołane z wynikiem, albo true lub false.

Zwroty: Brak

Przykład:

cmpManager.checkIfConsentIsRequired { needsConsent ->
	toastMessage = "Needs Consent: $needsConsent"
}

checkWithServerAndOpenIfNecessary()

Sprawdza na serwerze, czy wymagana jest zgoda, i w razie potrzeby otwiera warstwę zgody. Spowoduje to wywołanie sieciowe do naszych serwerów za pośrednictwem WebView utworzonego w naszym SDK, co zużyje jedno wyświetlenie strony. To wywołanie sieciowe wyśle wiadomość do naszego backendu za pomocą JavaScript, który wykryje, czy urządzenie posiada ważną zgodę, co z kolei określi, czy warstwa zgody musi zostać wyświetlona, czy nie.  

Parametry:

  • completion: Funkcja zamykająca wywoływana po zakończeniu operacji, zwracająca wynik, albo true lub false.

Zwroty: Brak

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"
}

getAllPurposesIDs()

Pobiera wszystkie identyfikatory celów zapisane na urządzeniu, zgodnie z konfiguracjami CMP. Informacje te będą aktualne dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz je zaraz po użyciu metod, które powodują zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby mieć pewność, że informacje są aktualne.

Zwraca: List<String> – listę wszystkich identyfikatorów celów

Przykład:

val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: (allPurposes)")

getAllVendorsIDs()

Pobiera wszystkie identyfikatory dostawców zapisane na urządzeniu, zgodnie z konfiguracjami CMP. Informacje te będą aktualne dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz je zaraz po użyciu metod, które powodują zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Zwraca: List<String> – listę wszystkich identyfikatorów dostawców

Przykład:

val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: (allVendors)")

getDisabledPurposesIDs()

Pobiera identyfikatory wszystkich wyłączonych celów zapisanych na urządzeniu, zgodnie z konfiguracjami CMP i wyborami użytkownika. Jeśli użytkownik wyrazi zgodę na wszystkie cele, pole to będzie puste.  Informacje te będą aktualne dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz je zaraz po użyciu metod, które powodują zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Zwraca: List<String> – listę wyłączonych identyfikatorów celów

Przykład:

val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: (disabledPurposes)")

getDisabledVendorsIDs()

Pobiera identyfikatory wszystkich wyłączonych dostawców zapisanych na urządzeniu, zgodnie z konfiguracjami CMP. Jeśli użytkownik wyrazi zgodę na wszystkie opcje, pole to będzie puste. Informacja ta będzie aktualna dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz ją zaraz po użyciu metod wywołujących zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Zwraca: List<String> – listę wyłączonych identyfikatorów dostawców

Przykład:

val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: (disabledVendors)")

getEnabledPurposesIDs()

Pobiera identyfikatory wszystkich włączonych celów zapisanych na urządzeniu, zgodnie z konfiguracjami CMP. Jeśli użytkownik odrzuci wszystkie zgody, pole to będzie puste. Informacja ta będzie aktualna dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz ją zaraz po użyciu metod wywołujących zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Zwraca: List<String> – listę identyfikatorów celów, które są włączone

Przykład:

val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: (enabledPurposes)")

getEnabledVendorsIDs()

Pobiera identyfikatory wszystkich włączonych dostawców zapisanych na urządzeniu. Jeśli użytkownik odrzuci wszystkie zgody, pole to będzie puste. Informacja ta będzie aktualna dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz ją zaraz po użyciu metod wywołujących zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Zwraca: List<String> – listę włączonych identyfikatorów dostawców

Przykład:

val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: (enabledVendors)")

hasPurposeConsent()

Sprawdza, czy wyrażono zgodę na określony cel i czy ta zgoda jest zapisana na urządzeniu. Sprawdza obszar SharedPreferences pod kątem zaakceptowanych lub odrzuconych zgód i filtruje identyfikator przekazany jako parametr, zwracając wartość true, jeśli zgoda została zaakceptowana, lub false w przeciwnym razie. 

Parametry:

  • id: String – identyfikator celu do sprawdzenia

Zwroty: BooleanTrue jeśli wyrażono zgodę, false w przeciwnym razie

Przykład:

val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("Has consent for purpose c53: (hasPurposeConsent)")

hasUserChoice()

Sprawdza, czy użytkownik dokonał wyboru w zakresie zgód i czy ta zgoda jest zapisana na urządzeniu. Oznacza to, że użytkownik albo zaakceptował wszystkie zgody, odrzucił je wszystkie, albo dokonał mieszanego wyboru odrzuconych i zaakceptowanych zgód, w zależności od projektu CMP, który może pozwalać użytkownikom na wyrażenie zgody na niektóre zgody i odrzucenie innych. Informacja ta będzie aktualna dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz ją zaraz po użyciu metod wywołujących zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Zwroty: Booleantrue jeśli użytkownik dokonał wyboru, false w przeciwnym razie

Przykład:

val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: (hasChoice)")

hasVendorConsent()

Sprawdza, czy udzielono zgody dla konkretnego dostawcy i czy zgoda ta jest zapisana na urządzeniu, zgodnie z konfiguracjami CMP. Informacja ta będzie aktualna dopiero po prawidłowym zapisaniu zgody w obszarze SharedPreferences, więc jeśli sprawdzasz zaraz po użyciu metod, które powodują zmiany w zgodzie, takich jak openConsentLayer, acceptAll lub rejectAll, poczekaj, aż zostanie wywołana funkcja zwrotna z tych metod, zanim uzyskasz dostęp do metody hasUserChoice, aby upewnić się, że informacje są aktualne.

Parametry:

  • id: String – identyfikator dostawcy do sprawdzenia

Zwroty: BooleanTrue jeśli wyrażono zgodę, false w przeciwnym razie

Przykład:

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!