Informacia
Treść

[iOS] 3. Dokumentacja API

Akceptuj wszystkie

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

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

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

    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

    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

    configurationBlock

    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

    configurationBlock

    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

    consentMap

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

     

    Powrót do góry