I detta dokument hittar du allmän information om hur du integrerar vårt SDK i ditt projekt. För mer information, se vår API-referensdokumentation. Alla kodutdrag nedan är hämtade från vår demoapp.
1. Installation
consentmanager SDK är en heltäckande lösning för hantering av användarens samtycke i mobilapplikationer. Detta SDK är utformat för att hantera GDPR-efterlevnad, användarnas integritetsinställningar och transparens i annonsspårning, och erbjuder en smidig integration för iOS- och Android-plattformar. Dessutom erbjuder det wrapper-plugins/bryggor för React Native, Flutter och Unity, vilket gör det mångsidigt i olika utvecklingsmiljöer.
Steg – Översiktlig beskrivning
-
Integration och konfiguration:
- Integrera SDK i din app.
- Konfigurera SDK-inställningarna efter dina behov.
-
Skapa en instans och visa samtyckeslagret:
- När appen startas, skapa en instans av klassen
CMPManagerklassen. Denna instans hanterar samtyckesprocessen. - SDK:n visar automatiskt samtyckesskärmen vid behov.
- När appen startas, skapa en instans av klassen
-
Behandling av användarnas samtyckesdata:
- När samtycken har samlats in lagras informationen och kan hämtas via olika egenskaper och metoder som tillhandahålls av vårt SDK. Du får information om avvisade eller godkända samtycken, leverantörer och syften.
1.1 Integration och konfiguration
Alternativ 1: CocoaPods
Lägg till följande rad i din Podfile:
pod 'cm-sdk-ios-v3', '3.2.0'
Kör sedan:
pod install --repo-update
Alternativ 2: Swift Package Manager
- Ladda ner den senaste versionen av XCFramework från vår GitHub-sida för utgåvor.
- I XCode, gå till menyn
File>Add Package Dependency. - Lägg till SDK-arkivets URL ovan
- SPM hämtar nu 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 uppdaterar paketet till nästa huvudversion. Det är det rekommenderade alternativet eftersom det lägger till uppdateringar som inte medför brytande ändringar
.-Up to Next Minor: Detta uppdaterar paketet till nästa underversion
.-Exact: Detta låser paketet till en specifik version. Inga uppdateringar kommer att installeras. - Importera SDK genom att infoga följande rad högst upp i de klasser som implementerar SDK:s metoder:
import cm_sdk_ios_v3
- I inställningarna för ditt mål går du till "Allmänt" > "Ramverk, bibliotek och inbäddat innehåll" och ser till att ramverket är inställt på "Bädda in & signera".
1.2 Skapa en instans och visa samtyckeslager
Inom app-start (din viewDidLoad funktion) måste du skapa en instans av klassen CMPManager. Du måste konfigurera två objekt som kommer att skickas till metoden getInstance: UrlConfig, som hanterar din CMP-konfiguration, såsom Code-ID och standardspråk, och ConsentLayerUIConfig. som kommer att konfigurera utseendet på WKWebView som visar samtyckeslagret. Därefter skickar du den aktuella ViewController med hjälp av metoden setPresentingViewControlleroch tilldela delegaten, som visas nedan. I exemplet nedan kan du se båda objekten som skickas. checkWithServerAndOpenIfNecessary() funktionen hämtar automatiskt nödvändiga data från vår server och avgör om samtyckesskärmen behöver visas eller inte. Om så är fallet visar SDK automatiskt samtyckesskärmen vid denna punkt, via en WKWebView skapad av vårt SDK, som visar samtyckeslagret med text och knappar enligt dina CMP-konfigurationer (valda via din CMP:s Code-ID), samlar in data och lagrar samtyckesinformationen i enhetens NSUserDefaults-område, så att appen kan visa riktade annonser därefter.
Observera att det är avgörande att deklarera och initialisera CMPManager SDK i viewDidLoad metoden, annars kanske vyn inte är klar att användas och SDK kan misslyckas. Se också till att du använder rätt konfigurationsdata. Konfigurationsdata finns i ditt ConsentManager-konto under Meny > CMP:er > Hämta kod för appar > Kod-ID
Observera också att funktionerna för att avgöra om samtycke krävs eller inte, liksom visningen av samtyckeslagret, är beroende av en pålitlig nätverksanslutning. Om det inte finns någon anslutning tillgänglig eller om mekanismen för att försöka igen inte når vår server, kommer händelsen didReceiveError att returnera ett timeout-fel, och därmed kommer SDK:t att vara helt oförmöget att avgöra behovet av samtycke, eftersom det kommer att vara helt oförmöget att visa samtyckeslagret. Se till att din logik tar hänsyn till detta.
Exempel:
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.checkAndOpen { 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 samtyckesuppgifter
Kontrollera användarnas samtycken
Vårt SDK erbjuder en enhetlig metod för att kontrollera och hämta samtyckesinformation, getUserStatus():
let status = CMPManager.shared.getUserStatus()
var message = "Status: (status.status)nn"
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)
För mer information om de andra metoderna, se vår fullständiga API-dokumentation.
Öppna Consent Layer igen för att kontrollera användarnas val
För att användaren ska kunna kontrollera eller ändra sina val kan du helt enkelt anropa openConsentLayer()
cmpManager.forceOpen()
Denna metod visar samtyckeslagret via samma WKWebView-instans som skapades i de föregående stegen.
Importera/exportera samtyckesinformation till andra källor
I vissa fall kan en native-app innehålla webviews för att visa information, såsom reklam eller innehåll. För att överföra samtyckesinformationen från SDK till webviewen kan du hämta samtyckessträngen med hjälp av:
consentData = cmpManager.exportCMPInfo()
Detta exporterar samtyckesinformationen och all ytterligare data som behövs av CMP. Du kan sedan vidarebefordra denna information till CMP som finns i din webbvy genom att lägga till den i den URL som anropas i webbvyn.
Om du istället behöver importera samtyckestexten med hjälp av SDK 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 om implementering av ATT här.
Skapa en anpassad layout
För att skapa en anpassad vy av WKWebView, till exempel genom att ändra dess placering eller bakgrund, 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)
Inloggning
När du använder vårt iOS SDK kan du behöva felsöka eller analysera logginformation för olika ändamål. Loggarna som genereras av vårt SDK är taggade under "CMP", vilket gör att du enkelt kan filtrera och visa endast de relevanta loggarna. För mer information, se detta avsnitt i vår dokumentation.