[iOS] 3. Dokumentacja API
Akceptuj wszystkie
Akceptuje warstwę zgody i zachowuje się tak samo, gdy użytkownik akceptuje zgodę. Ta metoda zużywa jedną odsłonę.
parametry
Nazwa | Typ | Opis |
onFinish |
funkcjonować | Oddzwanianie do obsługi zdarzenia otrzymania zgody. zostanie wywołana po otrzymaniu i przetworzeniu zgody. |
Powrót
Brak wartości zwracanej.
Przykład
func onFinish() {
print("Notification: New consent was received")
}
// Accept all consent with a callback
cmpConsentTool.acceptAll(onFinish)
ZOBACZ
Sprawdza, czy wymagana jest zgoda użytkownika, opcjonalnie zwracając wyniki z pamięci podręcznej. Ta metoda zużywa jedną odsłonę strony, jeśli isCached
parametr jest TRUE, a zgoda w pamięci podręcznej WYGASŁA, jeśli isCached
parametr jest FALSE i nie ma odsłon, jeśli zgoda w pamięci podręcznej nie wygasła. Zgoda w pamięci podręcznej wygasła i jest czyszczona co 24 godziny.
parametry
Nazwa | Typ | Opis |
onCmpLayerOpen |
funkcjonować | Oddzwanianie, gdy warstwa zgody musi być otwarta. |
isCached |
Boolean | Jeśli ma wartość TRUE, żądanie zostanie zapisane w pamięci podręcznej, a odpowiedź zostanie zapisana |
Powrót
Brak wartości zwracanej.
Przykład
@objc func checkCmpLayer() {
print("Checking need for consent.")
cmpManager?.check(
{
// Callback for when the consent layer needs to be opened
print("Consent layer will open")
self.cmpConsentTool?.openView()
},
isCached: true
)
}
checkAndOpenConsentLayer
Sprawdza, czy wymagana jest zgoda użytkownika i jeśli tak, otwiera interfejs użytkownika warstwy zgody. Ta metoda zużywa jedną odsłonę strony.
parametry
Brak. |
Powrót
Brak wartości zwracanej.
Przykład
@objc func checkAndOpenConsentLayerAction() {
cmpManager?.checkAndOpenConsentLayer()
}
zgoda wymagana dzisiaj
Sprawdza, czy warstwa zgody została zażądana dzisiaj. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
PRAWDA, jeśli zgoda użytkownika została już poproszona dzisiaj.
W przeciwnym razie FAŁSZ.
Przykład
@objc func consentRequestedTodayAction() {
if let calledToday = cmpManager?.consentRequestedToday() {
print("Consent requested today: \(calledToday)")
} else {
print("Failed to retrieve consent request status for today.")
}
}
wyłącz listę celów
Wyłącza listę celów i aktualizuje wyrażoną zgodę. Ta metoda zużywa jedną odsłonę.
parametry
Nazwa | Typ | Opis |
purposes |
Szyk | Lista identyfikatorów celów do wyłączenia. |
onFinish |
funkcja (opcjonalnie) | Oddzwanianie do obsługi zdarzenia otrzymania zgody. zostanie wywołana po otrzymaniu i przetworzeniu zgody. |
Powrót
Brak wartości zwracanej.
Przykład
func onFinish() {
print("Notification: New consent received")
}
let purposes = ["1", "2"]
// Option with callback
cmpManager?.disablePurposeList(purposes, onFinish: onFinish)
// Option without callback
cmpManager?.disablePurposeList(purposes)
wyłącz listę dostawców
Wyłącza listę dostawców i aktualizuje udzieloną zgodę. Ta metoda zużywa jedną odsłonę.
parametry
Nazwa | Typ | Opis |
vendors |
Szyk | Lista identyfikatorów dostawców do wyłączenia. |
onFinish |
funkcja (opcjonalnie) | Wywołanie zwrotne dotyczące obsługi zdarzenia otrzymanej zgody. Zostanie wywołany, gdy zgoda zostanie otrzymana i przetworzona. |
Powrót
Brak wartości zwracanej.
Przykład
func onFinish() {
print("Notification: New consent received")
}
let vendors = ["1", "2"]
// Option with callback
cmpManager?.disableVendorList(vendors, onFinish: onFinish)
// Option without callback
cmpManager?.disableVendorList(vendors)
włącz listę celów
Włącza listę celów i aktualizuje wyrażoną zgodę. Ta metoda zużywa jedną odsłonę.
parametry
Nazwa | Typ | Opis |
purposes |
Szyk | Lista identyfikatorów celów do włączenia. |
onFinish |
funkcja (opcjonalnie) | Wywołanie zwrotne dotyczące obsługi zdarzenia otrzymanej zgody. Zostanie wywołany, gdy zgoda zostanie otrzymana i przetworzona. |
Powrót
Brak wartości zwracanej
Przykład
func onFinish() {
print("Notification: New consent received")
}
let purposes = ["1", "2"]
// Option with callback
cmpManager?.enablePurposeList(purposes, onFinish: onFinish)
// Option without callback
cmpManager?.enablePurposeList(purposes)
włącz listę dostawców
Włącza listę dostawców i aktualizuje wyrażoną zgodę. Ta metoda zużywa jedną odsłonę.
parametry
Nazwa | Typ | Opis |
vendors |
Szyk | Lista identyfikatorów dostawców do włączenia. |
onFinish |
funkcja (opcjonalnie) | Wywołanie zwrotne dotyczące obsługi zdarzenia otrzymanej zgody. iZostanę wezwany po otrzymaniu i przetworzeniu zgody. |
Powrót
Brak wartości zwracanej.
Przykład
func onFinish() {
print("Notification: New consent received")
}
let vendors = ["1", "2"]
// Option with callback
cmpManager?.enableVendorList(vendors, onFinish: onFinish)
// Option without callback
cmpManager?.enableVendorList(vendors)
eksportCmpString
Eksportuje bieżący ciąg CMP reprezentujący preferencje zgody użytkownika. Ta metoda jest dostępna w sposób statyczny. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg zgody.
Przykład
@objc func exportConsentStringAction() {
let exportString = cmpManager.exportCmpString()
print(exportString ?? "No string to export.");
}
pobierzWszystkie cele
Zwraca identyfikatory wszystkich celów. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg rozdzielany przecinkami zawierający identyfikatory wszystkich celów.
Przykład
@objc func getAllPurposesAction() {
if let allPurposes = cmpManager?.getAllPurposes() {
print("All purposes: \(allPurposes)")
// Additional actions for getAllPurposes function can be added here
} else {
print("Failed to retrieve all purposes.")
}
}
pobierz listę wszystkich celów
Zwraca listę identyfikatorów wszystkich celów dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Lista zawierające wszystkie identyfikatory celów.
Przykład
@objc func getAllPurposeListAction() {
// Action for getAllPurposeList function
if let allPurposes = cmpManager?.getAllPurposesList() {
print("All purposes list: \(allPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve all purposes list.")
}
}
getAllVendors
Zwraca identyfikatory wszystkich dostawców dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg rozdzielany przecinkami zawierający identyfikatory wszystkich dostawców.
Przykład
@objc func getAllVendorsAction() {
if let allPurposes = cmpManager?.getAllVendors() {
print("Printing all Vendors: \(allPurposes)")
} else {
print("Failed to retrieve all vendors.")
}
}
pobierz listę wszystkich dostawców
Zwraca listę wszystkich identyfikatorów dostawców dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Lista zawierający wszystkie identyfikatory dostawców.
Przykład
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
pobierzCiąg zgody
Zwraca ciąg z ostatnio udzieloną zgodą. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg znaków z ostatnią zgodą potwierdzoną przez użytkownika.
Przykład
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getDisabledCele
Zwraca wszystkie wyłączone identyfikatory celów dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg rozdzielany przecinkami zawierający identyfikatory wszystkich wyłączonych celów.
Przykład
@objc func getDisabledPurposesAction() {
if let disabledPurposes = cmpManager?.getDisabledPurposes() {
print("Disabled purposes: \(disabledPurposes)")
} else {
print("Failed to retrieve disabled purposes.")
}
}
getDisabledVendors
Zwraca wszystkie wyłączone identyfikatory dostawców dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg rozdzielany przecinkami zawierający identyfikatory wszystkich wyłączonych dostawców.
Przykład
@objc func getDisabledVendorsAction() {
if let disabledVendors = cmpManager?.getDisabledVendors() {
print("Disabled vendors: \(disabledVendors)")
} else {
print("Failed to retrieve disabled vendors.")
}
}
getEnabledCele
Zwraca wszystkie włączone identyfikatory dostawców dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg rozdzielany przecinkami zawierający identyfikatory wszystkich włączonych dostawców.
Przykład
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledPurposeList
Zwraca listę wszystkich włączonych identyfikatorów celów dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Lista zawierający identyfikatory wszystkich włączonych celów.
Przykład
@objc func getEnabledPurposesAction() {
if let enabledPurposes = cmpManager?.getEnabledPurposes() {
print("Enabled purposes: \(enabledPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled purposes list.")
}
}
getEnabledVendors
Zwraca wszystkie włączone identyfikatory dostawców dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg rozdzielany przecinkami zawierający identyfikatory wszystkich włączonych dostawców.
Przykład
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledVendorList
Zwraca listę ze wszystkimi włączonymi identyfikatorami dostawców dla danego CMP. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Lista zawierający identyfikatory wszystkich włączonych dostawców.
Przykład
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled vendors.")
}
}
pobierz GoogleACString
Pobiera ciąg identyfikatora dodatkowej zgody Google („addtlConsent”) ustawiony przez consent manager.
Aby uzyskać więcej informacji, sprawdź Specyfikacja techniczna dodatkowej zgody Google.
Metoda ta nie zużywa żadnej liczby odsłon.
parametry
Brak. |
Powrót
Lista zawierający identyfikatory wszystkich włączonych dostawców.
Przykład
@objc func getGoogleConsentStringAction() {
if let googleACString = cmpManager?.getGoogleACString() {
print("Google Additional Consent String: \(googleACString)")
} else {
print("Failed to retrieve Google Additional Consent String.")
}
}
pobierz USPrivacyString
Pobiera US Privacy String. Ten US privacy string to plik cookie, który przechowuje informacje o ujawnieniach dokonanych i wyborach dokonanych przez odwiedzającego witrynę w odniesieniu do jego praw konsumenckich. Ta metoda nie zużywa żadnych odsłon stron.
parametry
Brak. |
Powrót
Ciąg znaków z danymi dotyczącymi prywatności w USA ustawionymi przez consentmanager.
Przykład
@objc func getUSPrivacyStringAction() {
if let theUSPrivacyString = cmpManager?.getUSPrivacyString() {
print("US Privacy string contents: \(theUSPrivacyString)")
} else {
print("Failed to retrieve US Privacy string.")
}
}
ma zgodę
Sprawdza, czy użytkownik już wyraził zgodę. Warstwa zgody może mieć opcję po prostu zamknięcia warstwy. W takim przypadku użytkownik nie wyraził zgody. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Ciąg znaków z danymi dotyczącymi prywatności w USA ustawionymi przez consentmanager.
Przykład
@objc func getHasConsentAction() {
if let hasConsent = cmpManager?.hasConsent() {
let consentStatus = hasConsent ? "Yes" : "No"
print("Consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user consent.")
}
}
hasPurpose (od wersji 2.5.3)
hasPurposeConsent (przestarzałe)
Sprawdza, czy identyfikator celu jest włączony na podstawie zgody użytkownika. Ta metoda nie zużywa żadnych odsłon.
parametry
Nazwa | Typ | Opis |
purposeId |
sznur | identyfikator celu |
defaultReturn |
Boolean | Wartość zwracana domyślnie przez metodę, w przypadku gdy nie ma jeszcze zgody. Zobacz ostrzeżenie poniżej. |
Powrót
PRAWDA, jeśli użytkownik wyraził zgodę na określony cel.
W przeciwnym razie FAŁSZ.
Należy pamiętać, że jeśli z jakiegokolwiek powodu związanego ze słabym połączeniem internetowym lub jego brakiem na urządzeniu lub w przypadku braku zgody, wartość ustawiona za pomocą defaultReturn
parametr zostanie zwrócony.
Kurs defaultReturn
parametr nie istnieje w wersjach starszych niż 2.5.3.
Przykład
@objc func getHasPurposeConsentAction() {
if let hasPurposeConsent = cmpManager?.hasPurpose("purposeID", false) {
let consentStatus = hasPurposeConsent ? "Yes" : "No"
print("Purpose has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user purpose consent.")
}
}
hasVendor (od wersji 2.5.3)
hasVendorConsent (przestarzałe)
Sprawdza, czy identyfikator dostawcy jest włączony na podstawie zgody użytkownika. Ta metoda nie zużywa żadnych odsłon.
parametry
Nazwa | Typ | Opis |
vendorId |
sznur | identyfikator sprzedawcy |
defaultReturn |
Boolean | Wartość zwracana domyślnie przez metodę, w przypadku gdy nie ma jeszcze zgody. Zobacz ostrzeżenie poniżej. |
Powrót
PRAWDA, jeśli użytkownik wyraził zgodę na korzystanie z usług określonego dostawcy.
W przeciwnym razie FAŁSZ.
Należy pamiętać, że jeśli z jakiegokolwiek powodu związanego ze słabym połączeniem internetowym lub jego brakiem na urządzeniu lub w przypadku braku zgody, wartość ustawiona za pomocą defaultReturn
parametr zostanie zwrócony.
Kurs defaultReturn
parametr nie istnieje w wersjach starszych niż 2.5.3.
Przykład
@objc func getHasVendorConsentAction() {
if let hasVendorConsent = cmpManager?.hasVendor("vendorID") {
let consentStatus = hasVendorConsent ? "Yes" : "No"
print("Vendor has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user vendor consent.")
}
}
importCmpString
Importuje ciąg CMP reprezentujący preferencje dotyczące zgody użytkownika. Ciąg musi zostać poinformowany w stanie AS-IS podczas pobierania za pomocą metody exportCmpString(). Ta metoda nie zużywa żadnych odsłon.
parametry
Nazwa | Typ | Opis |
ciąg zgody | sznur | Ciąg reprezentujący zgodę |
zakończenieHandler | funkcja (opcjonalnie) | Procedura obsługi zakończenia wywołania zwrotnego do metody. |
Powrót
Brak.
Przykład
let cmpString = "YourConsentStringHere"
// Define the completion handler
let completionHandler: CmpImportCompletionHandler = { error in
if let error = error {
print("Failed to import CMP string: \(error.localizedDescription)")
} else {
print("CMP string imported successfully")
}
}
cmpManager.importCmpString(cmpString, completion: completionHandler)
zainicjować
Funkcja Initialize zainicjuje warstwę zgody i automatycznie sprawdzi, czy użytkownik potrzebuje zgody, czy nie. Ta funkcja ostatecznie otworzy warstwę zgody i będzie współpracować z Apple Tracking Transparency API, aby poprosić użytkownika o zgodę. Ta metoda zużywa jedną odsłonę strony.
parametry
Nazwa | Typ | Opis |
cmpConfig |
Konfiguracja Cmp | Do obiektu CmpConfig przekazywane są informacje dotyczące identyfikatora aplikacji, domeny, nazwy aplikacji i języka (opcjonalnie) |
Powrót
Obiekt CMMPManage.
Przykład
// Example of a default implementation of the SDK.
class ViewController: UIViewController {
// Usual implementation of a View Controller
var cmpManager: CMPConsentTool? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Configure your CMP
let cmpConfig: CmpConfig = CmpConfig.shared.setup(
withId: "<YOUR-CONSENTMANAGER-APP-ID>, example: a000aaaa0a",
domain: "<YOUR-CONSENTMANAGER-APP-DOMAIN>, example: delivery.consentmanager.net",
appName: "<YOUR-CONSENTMANAGER-APP-NAME>, example: testApp",
language: "<YOUR-CONSENTMANAGER-APP-LANGUAGE, example: DE");
// You can also determine log levels or ask for Apple's App Tracking Transparency, for example
cmpConfig.logLevel = CmpLogLevel.verbose;
cmpConfig.isAutomaticATTRequest = true;
// Then you pass the cmpConfig to set up and initialize the instance of our SDK
cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withErrorListener(onCMPError)
.withCloseListener(onClose)
.withOpenListener(onOpen)
.withOnCMPNotOpenedListener(onCMPNotOpened)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
.initialize() // This method will trigger the webview loading to collect consent, if necessary
}
}
jest wymagana zgoda
Sprawdza, czy zgoda musi zostać udzielona przez bieżącego użytkownika aplikacji. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
PRAWDA, jeśli użytkownik musi wyrazić zgodę.
W przeciwnym razie FAŁSZ.
Przykład
@objc func checkIfConsentIsRequired() {
if let isConsentRequired = cmpConsentTool?.isConsentRequired() {
let consentRequiredStatus = isConsentRequired ? "Yes" : "No"
print("Is user consent required? \(consentRequiredStatus)")
} else {
print("Failed to determine if user consent is required.")
}
}
OtwórzWidok
Otwiera siłą webview warstwy zgody CMP. Ta metoda zużywa jedną odsłonę strony.
parametry
Brak. |
Powrót
Brak wartości zwracanej.
Przykład
self.cmpConsentTool?.openView()
odrzuć wszystko
Odrzuca warstwę zgody i zachowuje się tak samo, gdy użytkownik nie zaakceptował zgody. Ta metoda zużywa jedną odsłonę.
parametry
Nazwa | Typ | Opis |
onFinish |
funkcjonować | Opcjonalny. Wywołanie zwrotne dotyczące obsługi zdarzenia otrzymanej zgody. zostanie wywołany, gdy zgoda zostanie otrzymana i przetworzona. |
Powrót
Brak wartości zwracanej
Przykład
func onFinish() {
print("Notification: New consent has been received with a Reject All response.")
}
// Reject all consent with a callback
cmpManager.rejectAll(onFinish)
zresetuj
Resetuje wszystkie właściwości do wartości domyślnych. Ta metoda nie zużywa żadnych odsłon.
parametry
Brak. |
Powrót
Brak wartości zwracanej.
Przykład
CMPManager.reset()
z CloseListener
Dodaje bliskiego słuchacza, który będzie otrzymywać powiadomienia, gdy warstwa zgody zostanie zamknięta.
parametry
Nazwa | Typ | Opis |
closeListener |
funkcjonować | Wywołanie zwrotne, które zostanie wywołane po zamknięciu warstwy zgody. |
Powrót
Narzędzie CMPConsent
Przykład
func onClose() {
print("APP: CLOSED")
// Add custom business logic here
}
// Initialize cmpManager with configuration and close listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onClose)
z OpenListenerem
Dodaje otwartego odbiornika, który będzie otrzymywać powiadomienia o otwarciu warstwy zgody.
parametry
Nazwa | Typ | Opis |
openListener |
funkcjonować | Wywołanie zwrotne, które zostanie wywołane po otwarciu warstwy zgody |
Powrót
Narzędzie CMPConsent
Przykład
func onOpen() {
print("APP: OPENED")
// Add custom business logic here
}
// Initialize cmpManager with configuration and open listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onOpen)
za pomocąErrorListener
Dodaje detektor błędów, który będzie otrzymywać powiadomienia o wystąpieniu błędu.
parametry
Nazwa | Typ | Opis |
errorListener |
funkcjonować | Wywołanie zwrotne w celu dodania akcji w przypadku wystąpienia błędu. |
Powrót
Narzędzie CMPConsent
Przykład
func onCMPError(type: CmpErrorType, message: String?) {
if let errorMessage = message {
print(errorMessage)
} else {
print("An error occurred.")
}
switch type {
case .networkError:
print("Network error")
case .timeoutError:
print("Timeout error")
case .consentDataReadWriteError:
print("Consent data read/write error")
case .unknownError:
print("Unknown error")
@unknown default:
print("Unexpected error")
}
}
// Initialize cmpManager with configuration and error listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withErrorListener(onCMPError)
z OnCMMPNotOpenedListener
Dodaje wywołanie zwrotne nieotwarte Cmp, aby otrzymać powiadomienie, gdy warstwa zgody nie otwiera się. Najczęstszym powodem jest to, że użytkownik wyraził już zgodę.
parametry
Nazwa | Typ | Opis |
openListener |
funkcjonować | Callback, który zostanie wywołany, gdy warstwa zgody nie zostanie otwarta. |
Powrót
Narzędzie CMPConsent
Przykład
func onCMPNotOpened() {
print("CMP: NOT OPENED")
// Add custom business logic here
}
// Initialize cmpConsentTool with configuration and CMP not opened listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCMPNotOpenedListener(onCMPNotOpened)
z OnCmpButtonClickedCallback
Ustawia wywołanie zwrotne w celu otrzymywania powiadomień, gdy użytkownik kliknie przycisk w celu zamknięcia warstwy zgody.
parametry
Nazwa | Typ | Opis |
openListener |
funkcjonować | Wywołanie zwrotne, które zostanie wywołane ze zdarzeniem CmpButtonEvent wskazującym, który przycisk został naciśnięty. |
Powrót
Narzędzie CMPConsent
Przykład
func onButtonClickedEvent(event: CmpButtonEvent) {
switch event {
case .acceptAll:
print("User accepted all.")
case .rejectAll:
print("User rejected all.")
case .save:
print("User saved custom settings.")
case .close:
print("User closed consent layer without giving consent.")
@unknown default:
print("Unknown button event.")
}
}
// Initialize cmpManager with configuration and button click callback
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
z blokiem konfiguracji CmpViewControllerConfiguration
Dostosuj moduł zgody UIViewController.
parametry
Nazwa | Typ | Opis |
|
Blok konfiguracyjny CmpViewController |
Dostosuj warstwę zgody
Kontroler UIView. |
Powrót
Narzędzie CMPConsent
Przykład
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewControllerConfigurationBlock { viewController in
viewController?.modalPresentationStyle = .formSheet
}
z blokiem CmpViewConfigurationBlock
Dostosuj UiView modułu zgody.
parametry
Nazwa | Typ | Opis |
|
CmpUIViewConfigurationBlock |
Dostosuj warstwę zgody
UiView |
Powrót
Narzędzie CMPConsent
Przykład
let cmpLayout = CmpLayout.default()
cmpLayout?.cornerRadius = 10.0
cmpLayout?.customLayout = CGRect(x: 0, y: 0, width: 200, height: 300)
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewConfigurationBlock { uiView in
cmpLayout?.apply(to: uiView)
}
za pomocą aktualizacji GoogleConsent
Pobiera stan trybu uzyskiwania zgody Google.
parametry
Nazwa | Typ | Opis |
|
[sznur: sznur]? |
Stan zgody |
Powrót
Narzędzie CMPConsent
Przykład
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
func onCmpUpdateGoogleConsent(consentMap: [String: String]?) {
guard let consentMap = consentMap else { return }
var firebaseConsentMap: [ConsentType: ConsentStatus] = [:]
consentMap.forEach { key, value in
if let consentType = convertToFirebaseConsentType(from: key),
let consentStatus = convertToFirebaseConsentStatus(from: value) {
firebaseConsentMap[consentType] = consentStatus
}
}
Analytics.setConsent(firebaseConsentMap)
}
func convertToFirebaseConsentType(from key: String) -> ConsentType? {
switch key {
case "analytics_storage":
return .analyticsStorage
case "ad_storage":
return .adStorage
case "ad_user_data":
return .adUserData
case "ad_personalization":
return .adPersonalization
default:
return nil
}
}
func convertToFirebaseConsentStatus(from value: String) -> ConsentStatus? {
switch value {
case "granted":
return .granted
case "denied":
return .denied
default:
return nil
}
}