[iOS] 2. Dokumentacja API
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.
Wszystkie podane poniżej przykłady zostały zaczerpnięte z naszej witryny i można je znaleźć na niej. Aplikacja demonstracyjna.
Proszę sprawdzić przestarzałe metody w przypadku, gdy integrujesz już wersję 3 naszego pakietu CMP SDK.
Inicjalizacji
ustawUrlConfig()
Ustawia konfigurację adresu URL dla Consent Manager.
Parametry:
-
config:UrlConfigobiekt zawierający następujące właściwości:-
id:String — Kod ID pobrany z pulpitu CMP -
domain:String — Domena do zarządzania zgodą, pobierana również z pulpitu nawigacyjnego -
language:Ciąg - Kod języka (np. „EN”, „IT”, „DE” itd.) -
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 należy go używać, chyba że jest wyraźnie podany na pulpicie CMP wraz z pozostałymi parametrami powyżej. -
noHash:boolean — zapobiega użyciu przez webview wygenerowanego adresu URL, który został załadowany, znaku hash (#) w celu przekazania zgody
-
Zwraca: Unieważnić
Przykład:
CMPManager.shared.setUrlConfig(UrlConfig(
id: "0a000000000a1", // The Code-ID retrieved from your CMP dashboard
domain: "delivery.consentmanager.net", // The domain retrieved from your CMP dashboard
language: "EN", // Language code, examples: IT, DE, EN, etc.
appName: "MyApp" // The name of your app, used for reporting purposes on your CMP dashboard
))
ustawWebViewConfig()
Konfiguruje wygląd i zachowanie WebView zgody. Możesz ustawić pozycję, w której obiekt WKWebiew wyświetlający warstwę zgody pojawi się, np. na pełnym ekranie, na dolnej połowie ekranu lub jego górnej połowie. Można również zastosować styl tła, a także promień narożnika, czy będzie on respektował bezpieczny obszar urządzenia, a także czy będzie reagował na zmiany orientacji, czy nie, w przypadku gdy Twój telefon działa tylko w jednej orientacji, co zwykle zdarza się w przypadku gier, które wykorzystują tylko poziomą konfigurację ekranu urządzenia.
Parametry:
-
config:ConsentLayerUIConfigobiekt o następujących właściwościach:-
position:Pozycja – Pozycja WebView (np. .fullScreen) -
backgroundStyle: BackgroundStyle - Styl tła (np. .dimmed) -
cornerRadius:CGFloat - Promień narożnika WebView -
respectsSafeArea:Bool - Czy szanować strefę bezpieczną -
allowsOrientationChanges:Bool - Czy zezwolić na zmiany orientacji
-
Zwraca: Unieważnić
Przykład:
CMPManager.shared.setWebViewConfig(ConsentLayerUIConfig(
position: .fullScreen,
backgroundStyle: .dimmed(.black, 0.5),
cornerRadius: 10,
respectsSafeArea: true,
allowsOrientationChanges: true
))
ustawPresentingViewController()
Ustawia kontroler widoku, który będzie prezentował warstwę zgody. Zwykle przekazujesz self jako bieżący kontroler widoku.
Parametry:
-
viewController:UIViewController — kontroler widoku do prezentacji warstwy zgody
Zwraca: Unieważnić
Przykład:
CMPManager.shared.setPresentingViewController(self)
ustawATTStatus()
Ustawia status ATT pobrany z ATTManager.AuthorizationStatus, więc właściwe warstwa zgody ukierunkowanej może zostać wyświetlony.
Parametry:
-
_:surowa wartość z AuthorizationStatus
Zwraca: Unieważnić
Przykład:
cmpManager.setATTStatus(2) // 0 = NotDetermined, 1 = Restricted, 2 = Denied, and 3 = Authorized
// retrieved from ATTManager.AuthorizationStatus
Zarządzanie warstwą zgody
pobierzStatusUżytkownika()
Zwraca szczegółową migawkę bieżącego statusu zgody i preferencji użytkownika. Ta metoda dostarcza kompleksowych informacji o wyborach zgody użytkownika, w tym ich ogólnego statusu zgody, indywidualnych uprawnień dostawcy, zgód specyficznych dla celu i odpowiednich ciągów zgody.
Parametry:
- żaden
Zwraca:
Typ zwrotu: CMPUserStatusResponse obiekt, wyjaśniony w kodzie poniżej.
Przykład:
let status = CMPManager.shared.getUserStatus()
var message = "Status: \(status.status)\n\n"
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 zgoda użytkownika jest wymagana, bez automatycznego wyświetlania warstwy zgody, jeśli jest to konieczne. Spowoduje to wykonanie wywołania sieciowego do naszych serwerów za pośrednictwem obiektu WKWebView utworzonego w naszym zestawie SDK, który wyśle komunikat do naszego zaplecza za pośrednictwem JavaScript. Nasz zaplecze wykryje, czy urządzenie ma ważną zgodę i zwróci false jeśli zgoda znaleziona w urządzeniu jest ważna lub true jeśli od użytkownika należy uzyskać nową zgodę, zużywanie jednej odsłony w procesie.
Parametry: żaden
Powrót:
-
completion: (Bool) -> Void - Zamknięcie wywoływane z wynikiem, albotruejeśli nie znaleziono ważnej zgody lubfalseInaczej.
Przykład:
CMPManager.shared.isConsentRequired { required in
print("Consent is required: \(required)")
}
sprawdźIotwórz()
Sprawdza na serwerze, czy wymagana jest zgoda i otwiera warstwę zgody, jeśli jest to konieczne. Spowoduje to wykonanie wywołania sieciowego do naszych serwerów za pośrednictwem WKWebView 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:
-
jumpToSettings:Wartość logiczna określająca, czy wyświetlana warstwa zgody automatycznie przekieruje do strony, na której użytkownicy będą mogli uzyskać bardziej szczegółową kontrolę nad zgodami udzielonymi przez użytkowników, co umożliwi im dokładne dostrojenie swoich wyborów (gdy ustawiono natrue) lub początkowy ekran domyślny z przyciskami (gdy ustawiony nafalselub stłumione). -
completion: Zamknięcie wywoływane po zakończeniu operacji.
Zwraca: Unieważnić
Przykład:
CMPManager.shared.checkAndOpen { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Check completed successfully")
}
}
wymuśOtwarcie()
Otwiera warstwę zgody. Wykonuje wywołanie sieciowe do naszego zaplecza, zużywanie jednej odsłony w trakcie. Wyświetli warstwę zgody, pozwalając użytkownikowi albo Akceptować Wszystkie, albo Odrzucać Wszystkie wybory, albo, w zależności od parametru jumpToSettings, pozwolić mu kontrolować zgody w bardziej szczegółowy sposób.
Parametry:
-
jumpToSettings:Wartość logiczna określająca, czy wyświetlana warstwa zgody automatycznie przekieruje do strony, na której użytkownicy będą mogli uzyskać bardziej szczegółową kontrolę nad zgodami udzielonymi przez użytkowników, co umożliwi im dokładne dostrojenie swoich wyborów (gdy ustawiono natrue) lub początkowy ekran domyślny z przyciskami (gdy ustawiony nafalselub stłumione). -
completion: Zamknięcie wywoływane po zakończeniu operacji, zwracając albo pomyślnie, albo błędnie.
Zwraca: Unieważnić
Przykład:
CMPManager.shared.forceOpen { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Consent layer opened successfully")
}
}
Status zgody
eksportujCMPInfo()
Eksportuje bieżące informacje o zgodzie zapisane na urządzeniu jako ciąg. Ta metoda pobiera ciąg zgody z obszaru UserDefaults urządzenia i zwraca go. Zwykle te informacje są przekazywane do importCMPInfo Metoda.
Zwraca: Ciąg - eksportowane informacje o zgodzie
Przykład:
let cmpInfo = CMPManager.shared.exportCMPInfo()
print("Exported CMP info: \(cmpInfo)")
pobierzStatusTrybuZgodyGoogle()
Bezproblemowo integruje się z trybem zgody, technologią Google umożliwiającą modelowanie konwersji i analiz, umożliwiając usługom Google uzupełnianie luk w danych, gdy użytkownicy nie wyrażają na to zgody. Ta funkcja tłumaczy zgodę użytkownika udzieloną przez CMP na format zrozumiały dla Firebase Analytics, dzięki czemu możesz po prostu pobrać wynik tej metody i przekazać go do metody Firebase .setConsent.
- Następnie aktualizuje Google Analytics o aktualny stan zgody użytkownika.
Parametry:
- żaden
Zwraca: [String: String] - Tablica wartości kluczowych zawierająca cztery klucze trybu zgody Google: .analyticsStorage, .adStorage, .adUserData oraz .adPersonalizationi ich odpowiednie wartości w odniesieniu do .choiceDoesntExist, .granted or .denied.
Przykład:
showToast(message: "Google Consent Mode Status: \n \(CMPManager.shared.getGoogleConsentModeStatus())")
pobierzStatusForPurpose()
Sprawdza, czy zgoda została udzielona na określony cel i czy ta zgoda jest przechowywana na urządzeniu. Sprawdza obszar UserDefaults 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: UniqueConsentStatus - Wyliczenie z wartościami .choiceDoesntExist jeśli nie wyrażono zgody, .granted or .denied.
Przykład:
let purposeStatus = CMPManager.shared.getStatusForPurpose(id: "c53")
var message = "Purpose c53 status: "
switch purposeStatus {
case .choiceDoesntExist: message += "No Choice"
case .granted: message += "Granted"
case .denied: message += "Denied"
@unknown default: message += "No Choice"
}
pobierzStatusDlaDostawcy()
Sprawdza, czy zgoda została udzielona dla konkretnego dostawcy i czy ta zgoda jest przechowywana na urządzeniu. Sprawdza obszar UserDefaults 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: UniqueConsentStatus - Wyliczenie z wartościami .choiceDoesntExist jeśli nie wyrażono zgody, .granted or .denied.
Przykład:
let purposeStatus = CMPManager.shared.getStatusForVendor(id: "s2789")
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"
}
Modyfikacja zgody
Akceptuj wszystkie()
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 WKWebView, 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
Zwraca: Unieważnić
Przykład:
CMPManager.shared.acceptAll { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("All consents accepted successfully")
}
}
zaakceptujCele()
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 WKWebView, 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: [String] - Tablica identyfikatorów celów do zaakceptowania -
updatePurpose:Bool - Czy aktualizować powiązane cele -
completion: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: Unieważnić
Przykład:
CMPManager.shared.acceptPurposes(["c52", "c53"], updatePurpose: true) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Purposes accepted successfully")
}
}
akceptujDostawcy()
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 WKWebView, 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: [String] - Tablica identyfikatorów dostawców do zaakceptowania -
completion: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: Unieważnić
Przykład:
CMPManager.shared.acceptVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Vendors accepted successfully")
}
}
importCMPInfo()
Importuje informacje o zgodzie z ciągu CMP. Otrzyma ciąg zawierający dane zgody, zwykle uzyskane za pośrednictwem exportCMPInfo metoda. Informacje te są utrwalane w obszarze UserDefaults urządzenia i jednocześnie są wysyłane do naszego zaplecza za pomocą wiadomości wstrzykiwanej w WKWebView, 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
Zwraca: Unieważnić
Przykład:
let cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
CMPManager.shared.importCMPInfo(cmpString) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("CMP info imported successfully")
}
}
odrzućWszystko()
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 WKWebView, 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: Unieważnić
Przykład:
CMPManager.shared.rejectAll { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("All consents rejected successfully")
}
}
odrzućCele()
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 WKWebView, która wywoła odrzucenie 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: [String] - Tablica identyfikatorów celów do odrzucenia -
updateVendor: Bool - Czy zaktualizować powiązanych dostawców -
completion: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: Unieważnić
Przykład:
CMPManager.shared.rejectPurposes(["c52", "c53"], updateVendor: true) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Purposes rejected successfully")
}
}
odrzućDostawców()
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 WKWebView, która wywoła 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: [String] - Tablica identyfikatorów dostawców do odrzucenia -
completion: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: Unieważnić
Przykład:
CMPManager.shared.rejectVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Vendors rejected successfully")
}
}
resetConsentManagementData()
Resetuje wszystkie dane zarządzania zgodami. To całkowicie usuwa wszystkie wpisy obszaru UserDefaults związane ze zgodami zaakceptowanymi lub odrzuconymi przez użytkownika. Jest to podobne do całkowitego usunięcia aplikacji z urządzenia.
Parametry:
-
completion: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: Unieważnić
Przykład:
CMPManager.shared.resetConsentManagementData { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Consent management data reset successfully")
}
}
Przekazywanie danych o zgodzie do zestawów SDK stron trzecich
aktualizacjaZgody stron trzecich
Ta metoda obsługuje automatyczne przekazywanie danych zgody do zestawów SDK stron trzecich, takich jak AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge i Tenjin. Działa poprzez introspekcję/refleksję, więc zainicjuj zestaw SDK strony trzeciej swoimi danymi uwierzytelniającymi, korzystając ze zwykłej strategii zalecanej przez dostawcę, a nasz zestaw SDK CMP wykryje wystąpienie zestawu SDK 3P i wywoła niezbędne metody w tle.
CMPManagerDelegat wydarzenia
pobierzOdwołaniePoKliknięciaLinku
Zestaw SDK zapewnia elastyczny mechanizm obsługi łączy, który umożliwia aplikacjom dostosowywanie sposobu obsługi adresów URL w warstwie zgody. Domyślnie wszystkie łącza otwierają się w WebView, ale aplikacje mogą przechwytywać określone adresy URL, aby obsługiwać je zewnętrznie, gdy jest to potrzebne.
// Example 1: Handle specific domains in external browser
cmpManager.setLinkClickHandler { url in
// Handle links to specific domains externally
if url.host?.contains("google.com") == true ||
url.host?.contains("facebook.com") == true {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
return true // URL handled externally
}
// Let other URLs load in the WebView
return false
}
// Example 2: Handle URLs based on scheme
cmpManager.setLinkClickHandler { url in
// Open mail links in mail app
if url.scheme == "mailto" {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
return true
}
// Open tel links in phone app
if url.scheme == "tel" {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
return true
}
// Let all other URLs load in the WebView
return false
}
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
Wyzwala się, gdy:
1. Zestaw SDK sprawdził potrzebę zgody, ale nie była ona potrzebna i warstwa zgody nie została wyświetlona. Oznacza to, że w urządzeniu znajduje się już prawidłowa zgoda, więc nowa nie jest potrzebna i warstwa zgody nie zostanie wyświetlona.
2. Użytkownik wszedł w interakcję z warstwą zgody i wyraził zgodę, zamykając warstwę zgody.
otrzymałem błąd
Funkcja ta jest aktywowana, gdy zestaw SDK napotka błąd i zwróci swój kod.
Przestarzałe metody
Wszystkie poniższe metody zostały wycofane i zostanie całkowicie usunięty z SDK z Lipiec/2025 jeden.
checkIfConsentIsRequired()
Sprawdza, czy wymagana jest zgoda użytkownika. Spowoduje to wykonanie połączenia sieciowego do naszych serwerów za pośrednictwem WKWebView utworzonego w naszym SDK, które 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 WKWebView, 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: (Bool) -> Void - Zamknięcie wywoływane z wynikiem, albotrueorfalse.
Zwraca: Voicie
Przykład:
CMPManager.shared.checkIfConsentIsRequired { required in
print("Consent is required: \(required)")
}
przejdź do ustawień()
Otwiera warstwę zgody i przechodzi bezpośrednio do strony ustawień. Spowoduje to wykonanie połączenia sieciowego do naszych serwerów, zużywanie jednej odsłony w tym procesie, wywołując wyświetlanie WKWebView, ale wyświetlając stronę Ustawienia zamiast początkowej strony warstwy zgody, która daje użytkownikom wybór Akceptowania Wszystkich lub Odrzucania Wszystkich zgód. To, zamiast tego, doprowadzi do strony, na której użytkownicy mają bardziej szczegółową kontrolę nad zgodami, pozwalając im na dokładne dostrojenie swoich wyborów.
Parametry:
-
completion: Zamknięcie wywoływane po zakończeniu operacji
Zwraca: Unieważnić
Przykład:
CMPManager.shared.jumpToSettings { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Jumped to settings successfully")
}
}
ma zgodę na cel()
Sprawdza, czy zgoda została udzielona na określony cel i czy ta zgoda jest przechowywana na urządzeniu. Sprawdza obszar UserDefaults 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.
Uwaga: Zawsze najpierw sprawdź hasUserChoice()! W przypadkach, gdy nie ma wyboru, funkcja może zwrócić nieoczekiwane wartości zwrotne.
Parametry:
-
id:String - Identyfikator celu sprawdzenia
Zwraca: Bool - True jeśli zgoda zostanie wyrażona, false Inaczej
Przykład:
let hasPurposeConsent = CMPManager.shared.hasPurposeConsent(id: "c53")
print("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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: Bool- true jeśli użytkownik dokonał wyboru, false Inaczej
Przykład:
let hasChoice = CMPManager.shared.hasUserChoice()
print("User has made a choice: \(hasChoice)")
ma zgodę dostawcy()
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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: Bool - True jeśli zgoda zostanie wyrażona, false Inaczej
Przykład:
let hasVendorConsent = CMPManager.shared.hasVendorConsent(id: "s2789")
print("Has consent for vendor s2789: \(hasVendorConsent)")
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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: [String] – Tablica uniwersalnych identyfikatorów
Przykład:
let allPurposes = CMPManager.shared.getAllPurposesIDs()
print("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 obszarze UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: [String] – Tablica wszystkich identyfikatorów dostawców
Przykład:
let allVendors = CMPManager.shared.getAllVendorsIDs()
print("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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: [String] – Tablica wyłączonych identyfikatorów celów
Przykład:
let disabledPurposes = CMPManager.shared.getDisabledPurposesIDs()
print("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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: [String] – Tablica wyłączonych identyfikatorów dostawców
Przykład:
let disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
print("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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: [String] – tablica włączonych identyfikatorów celów
Przykład:
let enabledPurposes = CMPManager.shared.getEnabledPurposesIDs()
print("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 UserDefaultswięc jeśli sprawdzasz zaraz po użyciu metod, które wyzwalają zmiany w zgodzie, takich jak openConsentLayer, acceptAll or rejectAllna 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: [String] – Tablica włączonych identyfikatorów dostawców
Przykład:
let enabledVendors = CMPManager.shared.getEnabledVendorsIDs()
print("Enabled vendors: \(enabledVendors)")







