Info
Innehåll

[iOS] 2. API-dokumentation

Smakämnen CMPManager klass tillhandahåller metoder för att hantera användarens samtycke för databehandling och spårning. Den här dokumentationen täcker de huvudsakliga metoderna som är tillgängliga för integration av mobilappar.

Initieringen

setUrlConfig(:UrlConfig)

Ställer in URL-konfigurationen för Consent Manager.

Parametrar:

  • config: En UrlConfig objekt som innehåller följande egenskaper:
    • id: Sträng - CMP ID
    • domain: String - Domänen för samtyckeshantering
    • language: String - Språkkoden (t.ex. "EN")
    • appName: String – Namnet på din app

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.setUrlConfig(UrlConfig(
    id: "0a000000000a1",
    domain: "delivery.consentmanager.net",
    language: "EN",
    appName: "MyApp"
))

setWebViewConfig(_ :ConsentLayerUIConfig)

Konfigurerar utseendet och beteendet för samtyckes WebView. Du kan ställa in positionen där WKWebiew-objektet som visar samtyckeslagret kommer att visas, som helskärm, på den nedre halvan av skärmen eller dess övre halva. Även bakgrundsstilen kan tillämpas, såväl som hörnradien, om den kommer att respektera enhetens säkra område, samt om den kommer att reagera på orienteringsändringar eller inte, om din mobil bara fungerar i en enda orientering , vilket vanligtvis händer med spel som bara använder den horisontella konfigurationen av enhetens skärm.   

Parametrar:

  • config: En ConsentLayerUIConfig objekt med följande egenskaper:
    • position: Position – Positionen för WebView (t.ex. .fullScreen)
    • backgroundStyle: BackgroundStyle - Bakgrundsstilen (t.ex. .dimmed)
    • cornerRadius: CGFloat - Hörnradien för WebView
    • respectsSafeArea: Bool - Om det säkra området ska respekteras
    • allowsOrientationChanges: Bool - Om orienteringsändringar ska tillåtas

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.setWebViewConfig(ConsentLayerUIConfig(
    position: .fullScreen,
    backgroundStyle: .dimmed(.black, 0.5),
    cornerRadius: 10,
    respectsSafeArea: true,
    allowsOrientationChanges: true
))

setPresentingViewController(_ :viewController)

Ställer in vykontrollern som ska presentera samtyckeslagret. Vanligtvis passerar man self som nuvarande View Controller. 

Parametrar:

  • viewController: UIViewController - Vykontrollern för att presentera samtyckesskiktet

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.setPresentingViewController(self)

checkIfConsentIsRequired(:completion)

Parametrar:

  • completion: (Bool) -> Void - En stängning kallas med resultatet, antingen true or false.

Returnerar: Röst

Exempelvis:

CMPManager.shared.checkIfConsentIsRequired { required in
    print("Consent is required: \(required)")
}

checkWithServerAndOpenIfNecessary(:completion)

Kontrollerar med servern om samtycke krävs och öppnar samtyckeslagret vid behov. Detta kommer att göra ett nätverksanrop till våra servrar via WKWebView som skapats i vår SDK, förbrukar en sidvisning i processen. Detta nätverksanrop kommer att skicka ett meddelande till vår backend via JavaScript, som kommer att upptäcka om enheten har ett giltigt samtycke eller inte, vilket i sin tur avgör om samtyckesskiktet måste visas eller inte.  

Parametrar:

  • completion: En stängning som anropas när operationen är klar.

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.checkWithServerAndOpenIfNecessary { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Check completed successfully")
    }
}

jumpToSettings(:completion)

Parametrar:

  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.jumpToSettings { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Jumped to settings successfully")
    }
}

openConsentLayer(:completion)

Parametrar:

  • completion: En stängning som anropas när operationen är klar och returnerar antingen en framgång eller ett fel. 

Returnerar: Ogiltig

Förbrukade sidvisningar: 1

Exempelvis:

CMPManager.shared.openConsentLayer { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Consent layer opened successfully")
    }
}

exportCMPIinfo()

Exporterar den aktuella samtyckesinformationen som är lagrad på enheten som en sträng. Denna metod hämtar samtyckessträngen från UserDefaults-området på enheten och returnerar den. Vanligtvis skickas denna information till importCMPInfo metod.

Returnerar: String - Den exporterade samtyckesinformationen

Exempelvis:

let cmpInfo = CMPManager.shared.exportCMPInfo()
print("Exported CMP info: \(cmpInfo)")

hasPurposeConsent(id:)

Notera: Kolla alltid efter hasUserChoice() först! I de fall då inget val finns kan funktionen returnera oväntade returvärden.

Parametrar:

  • id: String - ID för syftet att kontrollera

Returnerar: Bool - True om samtycke ges, false annat

Exempelvis:

let hasPurposeConsent = CMPManager.shared.hasPurposeConsent(id: "c53")
print("Has consent for purpose c53: \(hasPurposeConsent)")

hasUserChoice()

Kontrollerar om användaren har gjort ett val angående samtycken och detta samtycke lagras på enheten. Det betyder att användaren antingen accepterade alla samtycken, avvisade dem alla eller gjorde ett blandat val av avvisade och accepterade samtycken, beroende på CMP-designen, vilket kan tillåta användarna att tillåta några av samtyckena och avvisa andra. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: Bool - true om användaren har gjort ett val, false annat

Exempelvis:

let hasChoice = CMPManager.shared.hasUserChoice()
print("User has made a choice: \(hasChoice)")

hasVendorConsent(:String)

Parametrar:

  • id: String - ID för leverantören som ska kontrolleras

Returnerar: Bool - True om samtycke ges, false annat

Exempelvis:

let hasVendorConsent = CMPManager.shared.hasVendorConsent(id: "s2789")
print("Has consent for vendor s2789: \(hasVendorConsent)")

Syfte och leverantörshantering

getAllPurposesIDs()

Hämtar alla ändamåls-ID:n lagrade på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: [String] – En uppsättning av ID:n för alla ändamål

Exempelvis:

let allPurposes = CMPManager.shared.getAllPurposesIDs()
print("All purposes: \(allPurposes)")

getAllVendorsIDs()

Hämtar alla leverantörs-ID:n lagrade på enheten, enligt CMP-konfigurationerna. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: [String] – En uppsättning av alla leverantörs-ID:n

Exempelvis:

let allVendors = CMPManager.shared.getAllVendorsIDs()
print("All vendors: \(allVendors)")

getDisabledPurposesIDs()

Hämtar ID:n för alla inaktiverade syften som är lagrade på enheten, enligt CMP-konfigurationerna och användarvalen. Om användaren accepterar alla samtycken kommer detta att vara tomt.  Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: [String] – En uppsättning av inaktiverade ändamåls-ID:n

Exempelvis:

let disabledPurposes = CMPManager.shared.getDisabledPurposesIDs()
print("Disabled purposes: \(disabledPurposes)")

getDisabledVendorsIDs()

Hämtar ID:n för alla inaktiverade leverantörer lagrade på enheten, enligt CMP-konfigurationerna. Om användaren accepterar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: [String] – En uppsättning av inaktiverade leverantörs-ID:n

Exempelvis:

let disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
print("Disabled vendors: \(disabledVendors)")

getEnabledPurposesIDs()

Hämtar ID:n för alla aktiverade ändamål som är lagrade på enheten, enligt CMP-konfigurationerna. Om användaren avvisar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: [String] – En uppsättning aktiverade ändamåls-ID:n

Exempelvis:

let enabledPurposes = CMPManager.shared.getEnabledPurposesIDs()
print("Enabled purposes: \(enabledPurposes)")

getEnabledVendorsIDs()

Hämtar ID:n för alla aktiverade leverantörer lagrade på enheten. Om användaren avvisar alla samtycken kommer detta att vara tomt. Denna information kommer endast att vara uppdaterad efter att samtycket har kvarhållits korrekt i området UserDefaults, så om du kollar direkt efter att du har använt metoder som utlöser ändringar i samtycket som openConsentLayer, acceptAll or rejectAlltill exempel då vänta tills återuppringningen från dessa metoder utlöses innan du använder metoden hasUserChoice, för att säkerställa att informationen är aktuell.

Returnerar: [String] - En matris med aktiverade leverantörs-ID:n

Exempelvis:

let enabledVendors = CMPManager.shared.getEnabledVendorsIDs()
print("Enabled vendors: \(enabledVendors)")

acceptAll(:completion)

Parametrar:

  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.acceptAll { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("All consents accepted successfully")
    }
}

acceptPurposes(:purposes:updatePurpose:completion)

Parametrar:

  • purposes: [String] – En uppsättning ändamåls-ID:n att acceptera
  • updatePurpose: Bool - Om relaterade syften ska uppdateras
  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.acceptPurposes(["c52", "c53"], updatePurpose: true) { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Purposes accepted successfully")
    }
}

acceptVendors(:vendors:completion)

Parametrar:

  • vendors: [String] - En uppsättning leverantörs-ID:n att acceptera
  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.acceptVendors(["s2790", "s2791"]) { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Vendors accepted successfully")
    }
}

importCMPInfo(:String:completion)

Parametrar:

  • cmpString: String - CMP-strängen som ska importeras
  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

let cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
CMPManager.shared.importCMPInfo(cmpString) { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("CMP info imported successfully")
    }
}

rejectAll(:completion)

Parametrar:

  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.rejectAll { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("All consents rejected successfully")
    }
}

rejectPurposes(:purposes:updateVendor:completion)

Parametrar:

  • purposes: [String] - En uppsättning ändamåls-ID:n att avvisa
  • updateVendor: Bool - Om relaterade leverantörer ska uppdateras
  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.rejectPurposes(["c52", "c53"], updateVendor: true) { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Purposes rejected successfully")
    }
}

avvisaVendors(:leverantörer:komplettering)

Parametrar:

  • vendors: [String] - En uppsättning leverantörs-ID:n att avvisa
  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.rejectVendors(["s2790", "s2791"]) { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Vendors rejected successfully")
    }
}

 

återställConsentManagementData(komplettering:)

Parametrar:

  • completion: En stängning som anropas när operationen är klar

Returnerar: Ogiltig

Exempelvis:

CMPManager.shared.resetConsentManagementData { error in
    if let error = error {
        print("Error: \(error.localizedDescription)")
    } else {
        print("Consent management data reset successfully")
    }
}

App Tracking Transparency (ATT)

requestATTAuktorisering(komplettering:)

Begär tillstånd för insyn i appspårning från användaren. För ytterligare information, vänligen kontrollera officiella Apple-dokumentation

Parametrar:

  • completion: (ATTAuthorizationStatus) -> Void - En stängning anropad med den resulterande auktoriseringsstatusen

Returnerar: Ogiltig

Tillgänglighet: iOS 14.0 +

Exempelvis:

if #available(iOS 14, *) {
    CMPManager.shared.requestATTAuthorization { status in
        switch status {
        case .authorized:
            print("ATT: User authorized tracking")
        case .denied:
            print("ATT: User denied tracking")
        case .restricted:
            print("ATT: Tracking is restricted")
        case .notDetermined:
            print("ATT: Status not determined")
        @unknown default:
            print("ATT: Unknown status")
        }
    }
} else {
    print("ATT is not available on this device")
}

getATTAuthorizationStatus()

Hämtar den aktuella auktoriseringsstatusen för App Tracking Transparency. För ytterligare information, vänligen kontrollera officiella Apple-dokumentation.

Returnerar: ATTAuthorizationStatus - Aktuell auktoriseringsstatus

Tillgänglighet: iOS 14.0 +

Exempelvis:

if #available(iOS 14, *) {
    let status = CMPManager.shared.getATTAuthorizationStatus()
    print("Current ATT status: \(status)")
} else {
    print("ATT is not available on this device")
}

CMPManagerDelegate-evenemang

didReceiveConsent(samtycke: String, jsonObject: [String: Alla])

Detta utlöses när samtyckeslagret stängdes efter att användaren uppdaterat sina samtycken ELLER när man åberopar metoder som orsakar ändringar i samtyckena, som acceptAll, rejectAll, acceptVendors, rejectVendors, etc. Det betyder att användaren accepterade eller avvisade några av alla. av samtyckena och att dessa sparades korrekt i enheten.

didShowConsentLayer

Detta utlöses när samtyckeslagret faktiskt visades. Det betyder att det inte fanns ett giltigt samtycke i enheten, så ett nytt bör hämtas.

didCloseConsentLayer


Detta utlöses när SDK:n kontrollerade behovet av ett samtycke, men det behövdes inte och lagret visades inte. Det betyder att det redan finns en giltig i enheten, så en ny är inte nödvändig och tue samtyckeslager kommer inte att visas.

didReceiveError

Detta utlöses när SDK:n stötte på något fel och returnerar dess kod.

 

Tillbaka till toppen