Info
Innehåll

[iOS] 1. consentmanager SDK-integration

I det här dokumentet hittar du allmän information om hur du integrerar vår SDK i ditt projekt. För ytterligare information, se vår API-referens dokumentation. 

1. Installation

consentmanager SDK är en heltäckande lösning för att hantera användarsamtycke i mobilapplikationer. Designad för att hantera GDPR-efterlevnad, användarnas integritetspreferenser och insyn i annonsspårning, ger denna SDK en sömlös integration för iOS- och Android-plattformar. Dessutom erbjuder den omslagsplugins/bryggor för React Native, Flutter och Unity, vilket gör den mångsidig i olika utvecklingsmiljöer.

Steg - Beskrivning på hög nivå

  1. Integration och konfiguration:

    • Integrera SDK:n i din app.
    • Konfigurera SDK-inställningarna efter dina behov.
  2. Skapa en instans och visa samtyckeslagret:

    • Vid appstart skapar du en instans av CMPManager klass. Denna instans kommer att hantera samtyckesprocessen.
    • SDK:n visar automatiskt samtyckesskärmen vid behov.
  3. Bearbetar användarens samtyckesdata:

    • När samtycken har samlats in lagras informationen och är tillgänglig för frågor genom olika egenskaper och metoder som exponeras av vår SDK. Du kommer att ha information om avvisade eller accepterade samtycken, leverantörer och syften.

1.1 Integration och konfiguration

Alternativ 1: CocoaPods

Lägg till följande rad i din Podfil:

pod 'cm-sdk-ios-v3', '3.0.0'

Kör sedan:

pod install --repo-update
Alternativ 2: Swift Package Manager
  1. Ladda ner det senaste XCFramework från vår GitHub släpper sidan.
  2. På XCode, gå till menyn File >  Add Package Dependency.
  3. Lägg till SDK-arkivets URL ovan
  4. SPM kommer nu att hämta arkivet och ber dig välja en version.
    Du kan välja att lägga till paketet genom att välja en versionsregel:
    Up to Next Major: Detta kommer att uppdatera paketet till nästa större version. Det är det rekommenderade alternativet eftersom det lägger till uppdateringar som inte har brytande ändringar.
    Up to Next Minor: Detta kommer att uppdatera paketet till nästa mindre version.
    Exact: Detta låser paketet till en specifik version. Inga uppdateringar kommer att installeras.
  5. Importera SDK:n genom att infoga raden nedan i toppen av klasserna som implementerar SDK:ns metoder:
import cm_sdk_ios_v3
  1. I ditt måls inställningar, gå till "Allmänt" > "Ramar, bibliotek och inbäddat innehåll" och se till att ramverket är inställt på "Bädda in och signera".

1.2 Skapa en instans och visa samtyckeslager

Inom app-start (din viewDidLoad funktion), måste du skapa en instans av klass CMPManager. Du måste ställa in två objekt som skickas till getInstance-metoden:  UrlConfig, som hanterar din CMP-konfiguration, som kod-ID och standardspråk, och ConsentLayerUIConfig. som kommer att konfigurera utseendet på WKWebView som visar samtyckeslagret. Efter det kommer du att passera strömmen ViewController använda metoden setPresentingViewController, och tillskriv delegaten, som visas nedan. I exemplet nedan kan du hitta båda objekten som passeras. De checkWithServerAndOpenIfNecessary() funktionen hämtar automatiskt nödvändig information från vår server och avgör om samtyckesskärmen måste visas eller inte. Om så är fallet kommer SDK automatiskt att visa samtyckesskärmen vid denna tidpunkt, via en WKWebView skapad av vår SDK, som kommer att visa samtyckeslagret med text och knappar enligt dina CMP-konfigurationer (valda via kod-ID för din CMP), samla in data och bevara samtyckesinformationen i NSUserDefaults-området på enheten, så appen kan visa de riktade annonserna därefter. 

Observera att det är viktigt att deklarera och initiera CMPManager SDK i viewDidLoad metod, annars kanske vyn inte är redo att användas och SDK:n kan misslyckas. Se också till att du använder rätt konfigurationsdata. Konfigurationsdata finns i din consentmanager konto på Meny > CMPs > Hämta kod för appar > Kod-ID

Observera också att funktionerna för att avgöra om samtycke behövs eller inte, liksom visningen av samtyckesskiktet, beror på en tillförlitlig nätverksanslutning. Om det inte finns någon tillgänglig anslutning eller om mekanismen för ett nytt försök misslyckas med att nå vår server, kommer didReceiveError-händelsen att returnera ett timeout-fel, och så SDK:n kommer att vara helt oförmögen att avgöra behovet av ett samtycke, eftersom det kommer att vara helt oförmöget att visa samtyckeslagret. Se till att din logik tar hänsyn till detta.

Exempelvis:

import cm_sdk_ios_v3

class YourViewController: UIViewController, CMPManagerDelegate {
	override func viewDidLoad() {
	super.viewDidLoad()

	let cmpManager = CMPManager.shared

    cmpManager.setUrlConfig(UrlConfig(
    id: "your_id_here",                   	// example: a000aaaaa1a 
    domain: "your_domain_here",				// usually, delivery.consentmanager.net 
    language: "your_language_here",			// example: DE
    appName: "Your App Name"))				// example: testApp

    cmpManager.setWebViewConfig(ConsentLayerUIConfig(
    position: .fullScreen,
    backgroundStyle: .dimmed(.black, 0.5),
    cornerRadius: 5,
    respectsSafeArea: true,
    allowsOrientationChanges: true))

    cmpManager.setPresentingViewController(self)
    cmpManager.delegate = self

    cmpManager.checkWithServerAndOpenIfNecessary { error in
        if let error = error {
            print("Error initializing consent: \(error)")
        } else {
            print("ConsentManager initialized and consent received and stored on the device's NSUserDefaults.")
        }
    }
}

1.3 Behandling av användarnas samtyckesdata

Kontrollera användarnas samtycke

Vår SDK erbjuder olika metoder för att kontrollera och hämta samtyckesinformation. De viktigaste metoderna visas i exemplet nedan:

// On the example below retrieved from our Demo App, we have some examples 
// of how to check consents from the user, either accepted or rejected. 

let hasConsent = CMPManager.shared.hasUserChoice()     					// checks if the user has already accepted/rejected consents
let hasPurposeC53 = CMPManager.shared.hasPurposeConsent(id: "c53")		// checks if the user accepted the purpose "c53"
let hasVendorS2790 = CMPManager.shared.hasVendorConsent(id: "s2790")	// checks if the user accepted the vendor "s2790"

För ytterligare information om de andra metoderna, se vår fullständiga API-dokumentation

Öppna samtyckeslagret igen för att kontrollera användarnas val

För att tillåta användaren att verifiera eller ändra sina val kan du helt enkelt ringa openConsentLayer()

cmpManager.openConsentLayer()

Den här metoden kommer att visa samtyckeslagret via samma WKWebView-instans som skapades i de föregående stegen. 

I vissa fall kan en inbyggd app innehålla webbvisningar för att visa information, som reklam eller innehåll. För att överföra samtyckesinformationen från SDK till webbvyn kan du hämta samtyckessträngen med:

consentData = cmpManager.exportCMPInfo()

Detta kommer att exportera samtyckesinformationen och all ytterligare data som behövs av CMP. Du kan sedan skicka denna information till den CMP som finns i din webbvy genom att lägga till den i den URL som anropas i webbvyn.

Om du annars behöver importera samtyckessträngen med SDK:n kan du använda exemplet nedan:

let consentStringToImport = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(consentStringToImport)

Integration med Apple Tracking Transparency (ATT)

Om du använder spårning eller analys i din app rekommenderar vi att du läser guiden på ATT-implementering här.

Skapa en anpassad layout

För att skapa en anpassad vy av WKWebView, som att ändra dess placering eller bakgrund, till exempel, kan du ändra konfigurationen som skickas till ConsentLayerUIConfig-objektet enligt nedan:

ConsentLayerUIConfig(
    position: .halfScreenTop,
    backgroundStyle: .dimmed(.grey, 0.75),
    cornerRadius: 20,
    respectsSafeArea: false,
    allowsOrientationChanges: true)

Loggning

När du använder vår iOS SDK kan du behöva felsöka eller analysera logginformation för olika ändamål. Loggarna som genereras av vår SDK är taggade under "CMP", vilket gör att du enkelt kan filtrera och bara visa relevanta loggar. För ytterligare information, se Den här delen av vår dokumentation.

 

Tillbaka till toppen