[iOS] 2. Dokumentacja API
Kurs 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
:UrlConfig
obiekt 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
:Ciąg — nazwa Twojej aplikacji, używana wyłącznie w celach raportowania.
-
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
:ConsentLayerUIConfig
obiekt 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)
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)
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 nafalse
lub 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 nafalse
lub 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
i .adPersonalization
i 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")
}
}
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
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.
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, albotrue
orfalse
.
Zwraca: Głos
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 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: 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 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: 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 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: [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 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: [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 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: [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 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: [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 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: [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 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: [String] – Tablica włączonych identyfikatorów dostawców
Przykład:
let enabledVendors = CMPManager.shared.getEnabledVendorsIDs()
print("Enabled vendors: \(enabledVendors)")
Wyjątkowo i ze względu na fakt, że właściwe zdarzenia cyklu życia w aplikacji są niedostępne z kontekstu SDK, te metody zostały już usunięte, aby uniknąć zamieszania, i powinieneś zarządzać zgodą ATT po stronie swojej aplikacji mobilnej. Aby uzyskać więcej informacji, sprawdź oficjalna dokumentacja Apple.
żądanieATTAuthorization()
Żąda od użytkownika autoryzacji w ramach App Tracking Transparency.
pobierzATTAuthorizationStatus()
Pobiera aktualny status autoryzacji App Tracking Transparency.