[iOS] 3. API-Dokumentation
initialisieren
Die Initialisierungsfunktion initialisiert die Einwilligungsschicht und prüft automatisch, ob der Benutzer eine Einwilligung benötigt oder nicht. Diese Funktion öffnet schließlich die Einwilligungsebene und interagiert mit der Apple Tracking Transparency API, um den Benutzer um seine Einwilligung zu bitten
Return
CMPConsentTool
Beispiel
let cmpConfig : CmpConfig = CmpConfig.shared.setup(withId: config.appId, domain: config.domain, appName: config.appName, language: config.language);
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig).initialize()
withCloseListener
Fügt einen Close-Listener hinzu, um Benachrichtigungen zu erhalten, wenn die Einwilligungsebene geschlossen wird.
Parameter
Name | Art | Beschreibung |
closeListener | Funktion | Rückruf, der aufgerufen wird, wenn die Einwilligungsschicht geschlossen wird. |
Return
CMPConsentTool
Beispiel
func onClose() -> Void {
NSLog("APP:CLOSED");
// add custom business logic here
}
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onClose)
mitOpenListener
Fügt einen offenen Listener hinzu, um Benachrichtigungen zu empfangen, wenn die Einwilligungsebene geöffnet wird.
Parameter
Name | Art | Beschreibung |
openListener | Funktion | Rückruf, der aufgerufen wird, wenn die Zustimmungsebene geöffnet wird |
Return
CMPConsentTool
Beispiel
func onOpen() -> Void {
NSLog("APP:CLOSED");
// add custom business logic here
}
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onOpen)
withErrorListener
Fügt einen Fehler-Listener hinzu, um Benachrichtigungen zu empfangen, wenn ein Fehler aufgetreten ist
Parameter
Name | Art | Beschreibung |
errorListener | Funktion | Rückruf zum Hinzufügen einer Aktion, wenn ein Fehler aufgetreten ist. |
Return
CMPConsentTool
Beispiel
func onCMPError(type: CmpErrorType, message: String?) -> Void {
switch type {
case .networkError:
print(message)
print("error network")
break
case .timeoutError:
print(message)
print("error timeout")
break
case .consentDataReadWriteError:
print(message)
print("error consent read/write")
break
case .unknownError:
print(message)
print("error unknown")
break
@unknown default:
print(message)
print("error network")
break
}
}
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withErrorListener(onCMPError)
withOnCMPNotOpenedListener
Fügt einen Rückruf „Cmp nicht geöffnet“ hinzu, um eine Benachrichtigung zu erhalten, wenn die Einwilligungsebene nicht geöffnet wird
Parameter
Name | Art | Beschreibung |
openListener | Funktion | Rückruf, der aufgerufen wird, wenn die Zustimmungsschicht „nicht geöffnet“ ist. Der häufigste Grund ist, dass der Benutzer bereits seine Einwilligung gegeben hat |
Return
CMPConsentTool
Beispiel
func onCMPNotOpened() -> Void {
NSLog("APP:CLOSED");
// add custom business logic here
}
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCMPNotOpenedListener(onCMPNotOpened)
withOnCmpButtonClickedCallback
Legt einen Rückruf fest, um Benachrichtigungen zu erhalten, wenn der Benutzer auf eine Schaltfläche klickt, um die Einwilligungsebene zu schließen.
Parameter
Name | Art | Beschreibung |
openListener | Funktion | Rückruf, der mit dem „CmpButtonEvent“ aufgerufen wird, das angibt, welche Taste gedrückt wurde |
Return
CMPConsentTool
Beispiel
func onButtonClickedEvent(event: CmpButtonEvent) -> Void {
switch event {
case .acceptAll:
print("user accepted all")
break
case .rejectAll:
print("user accepted all")
break
case .save:
print("user saved custom settings")
break
case .close:
print("user closed consent layer without giving consent")
break
@unknown default:
print("unknown button event")
}
}
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
withCmpViewControllerConfigurationBlock
Passen Sie den Consentlayer UIViewController an
Parameter
Name | Art | Beschreibung |
Konfigurationsblock |
CmpViewControllerConfigurationBlock |
Passen Sie den Einwilligungslayer an
UIViewController |
Return
CMPConsentTool
Beispiel
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewControllerConfigurationBlock({ viewController in
viewController?.modalPresentationStyle = .formSheet
})
withCmpViewConfigurationBlock
Passen Sie die UiView des ConsentLayers an
Parameter
Name | Art | Beschreibung |
Konfigurationsblock |
CmpUIViewConfigurationBlock |
Passen Sie den Einwilligungslayer an
UiView |
Return
CMPConsentTool
Beispiel
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)
})
mitUpdateGoogleConsent
Rufen Sie den Google Consentmode-Status ab
Parameter
Name | Art | Beschreibung |
Einwilligungskarte |
[Schnur: Schnur]? |
Einwilligungsstatus |
Return
CMPConsentTool
Beispiel
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
}
func onCmpUpdateGoogleConsent(consentMap: [String: String]?) -> Void {
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
}
}
checkAndOpenConsentLayer
Einwilligungsschicht prüfen und öffnen
Return
Kein Rückgabewert
Beispiel
cmpConsentTool.checkAndOpenConsentLayer()
openCmpConsentToolView
Öffnet die Ansicht der CMP-Zustimmungsebene
Return
Kein Rückgabewert
Beispiel
cmpConsentTool.openView()
aus der Ferne überprüfen
Shau
Parameter
Name | Art | Beschreibung |
onCmpLayerOpen | Funktion | Rückruf, wenn die Zustimmungsschicht geöffnet sein muss. |
ist zwischengespeichert | Boolean | Wenn das BOOL-Flag TRUE ist, wird die Anfrage zwischengespeichert und die Antwort gespeichert |
Return
Kein Rückgabewert
Beispiel
cmpConsentTool?.check(
{
print("Layer wants to open")
// self.cmpConsentTool?.openView()
},
isCached: true,
onCmpLayerNotOpen: {
print("Layer does not want to open")
}
)
hatZustimmung
Prüft, ob der Benutzer seine Einwilligung gegeben hat. Die Einwilligungsebene kann die Option haben, die Ebene einfach zu schließen. In diesem Fall liegt keine Einwilligung des Nutzers vor.
Return
true, wenn der Benutzer seine Einwilligung gegeben hat.
Beispiel
cmpConsentTool.hasConsent()
getAllPurposes
Ruft eine durch Kommas getrennte Zeichenfolge der deaktivierten „Zweck“-IDs ab
Return
Zeichenfolge aller „Zweck“-IDs
Beispiel
cmpConsentTool.getAllPurposes()
getAllPurposeList
Ruft eine Liste aller „Zweck“-IDs für den angegebenen Cmp ab.
Return
Eine „Liste“, die alle „Zweck“-IDs enthält.
Beispiel
cmpConsentTool.getAllPurposeList()
getEnabledPurposes
Ruft eine durch Kommas getrennte Zeichenfolge der aktivierten „Zweck“-IDs ab
Return
„String“ der aktivierten „Zweck“-IDs
Beispiel
cmpConsentTool.getEnabledPurposes()
getEnabledPurposeList
Erhalten Sie eine vereinbarte Zweckliste
Return
Beispiel
cmpConsentTool?.getEnabledPurposeList()
getDisabledPurposes
Erhalten Sie deaktivierte Zwecke
Return
Beispiel
cmpConsentTool?.getDisabledPurposes()
getAllVendors
Holen Sie sich alle Anbieter
Return
Beispiel
cmpConsentTool?.getAllVendors()
getAllVendorsList
Holen Sie sich die Liste aller Anbieter
Return
Beispiel
cmpConsentTool?.getAllVendorsList()
getEnabledVendors
Erhalten Sie aktivierte Anbieter
Return
Beispiel
cmpConsentTool?.getEnabledVendors()
getEnabledVendorList
Rufen Sie die Liste der aktivierten Anbieter ab
Return
Beispiel
cmpConsentTool?.getEnabledVendorList()
getDisabledVendors
Holen Sie sich deaktivierte Anbieter
Return
Beispiel
cmpConsentTool?.getDisabledVendors()
enableVendorList
Aktiviert eine Liste von Anbietern und aktualisiert die gegebene Einwilligung
Parameter
Name | Art | Beschreibung |
Anbieter | Feld | Liste der zu aktivierenden Anbieter-IDs. |
onFinish | Funktion | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() -> Void {
NSLog("Notification, that new consent is received");
}
let vendors = ["1","2"]
cmpConsentTool?.enableVendorList(vendors, onFinish: onFinish)
disableVendorList
Deaktiviert eine Liste von Anbietern und aktualisiert die erteilte Einwilligung
Parameter
Name | Art | Beschreibung |
Anbieter | Feld | Liste der zu deaktivierenden Anbieter-IDs. |
onFinish | Funktion | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() -> Void {
NSLog("Notification, that new consent is received");
}
let vendors = ["1","2"]
cmpConsentTool?.disableVendorList(vendors, onFinish: onFinish)
enablePurposeList
Aktiviert eine Liste von Zwecken und aktualisiert die erteilte Einwilligung
Parameter
Name | Art | Beschreibung |
Zwecke | Feld | Liste der zu aktivierenden Zweck-IDs. |
onFinish | Funktion (optional) | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() -> Void {
NSLog("Notification, that new consent is received");
}
let vendors = ["1","2"]
cmpConsentTool?.enablePurposeList(vendors, onFinish: onFinish)
// or without callback
cmpConsentTool?.enablePurposeList(vendors)
Zweckliste deaktivieren
Deaktiviert eine Liste von Zwecken und aktualisiert die erteilte Einwilligung
Parameter
Name | Art | Beschreibung |
Zwecke | Feld | Liste der zu deaktivierenden Zweck-IDs. |
onFinish | Funktion (optional) | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() -> Void {
NSLog("Notification, that new consent is received");
}
let vendors = ["1","2"]
cmpConsentTool?.disablePurposeList(vendors, onFinish: onFinish)
// or without callback
cmpConsentTool?.disablePurposeList(vendors)
Alles ablehnen
Lehnt die Zustimmungsschicht ab und verhält sich genauso, wenn der Benutzer die Zustimmung „nicht akzeptiert“ hat
Parameter
Name | Art | Beschreibung |
onFinish | Funktion | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() -> Void {
NSLog("Notification, that new consent is received");
}
cmpConsentTool.rejectAll(onFinish)
akzeptiere alle
Akzeptiert die Zustimmungsschicht und verhält sich genauso, wenn der Benutzer die Zustimmung „akzeptiert“.
Parameter
Name | Art | Beschreibung |
onFinish | Funktion | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() -> Void {
NSLog("Notification, that new consent is received");
}
cmpConsentTool.acceptAll(onFinish)
getUSPrivacyString
Holen Sie sich die US-Datenschutzzeichenfolge
Return
„String“ Der US-Datenschutzstring, der von festgelegt wurde consentmanager
Beispiel
cmpConsentTool.getUSPrivacyString()
hasVendorConsent
Hat die Zustimmung des Anbieters
Parameter
Name | Art | Beschreibung |
Hersteller-ID | Schnur | Hersteller-ID |
VendorIsV1orV2 | BOOl | wenn die Lieferanten-ID ein IAB-Anbieter ist. (veraltet: Das Flag wird nicht mehr benötigt) |
Return
TRUE, wenn der Benutzer dem angegebenen Anbieter seine Zustimmung gegeben hat, andernfalls FALSE.
Beispiel
cmpConsentTool.hasVendorConsent("vendorID")
hasPurposeConsent
Überprüft, ob die Zweck-ID basierend auf der Benutzereinwilligung aktiviert ist.
Parameter
Name | Art | Beschreibung |
ZweckId | Schnur | Zweck-ID |
VendorIsV1orV2 | BOOl | wenn die Lieferanten-ID ein IAB-Anbieter ist. (veraltet: Das Flag wird nicht mehr benötigt) |
Return
Beispiel
cmpConsentTool.hasPurposeConsent("purposeID")
getGoogleACString
Ruft die Google-Add-ID-Zeichenfolge („addtlConsent“) ab, die von festgelegt wurde consent manager.
Return
Google AC-String
Beispiel
cmpConsentTool.getGoogleACString()
getConsentstring
Holen Sie sich die letzte Einwilligungszeichenfolge
Return
gespeicherte Einwilligungszeichenfolge
Beispiel
getConsentstring()
exportCmpString
Exportiert den CmpData-String
Return
Der CmpData-String base64-codiert
Beispiel
CMPConsentTool.exportCmpString()
ZustimmungRequestedToday
Überprüft, ob die Zustimmungsschicht heute angefordert wurde
Return
TRUE, wenn der CMPConsent Manager Server wurde heute angefordert, sonst FALSE
Beispiel
cmpConsentTool.consentRequestedToday()
isConsentRequired
Prüft, ob der Benutzer eine Akzeptanz benötigt
Return
TRUE, wenn der Benutzer eine Einwilligung geben muss.
Beispiel
cmpConsentTool.isConsentRequired()
zurückstellen
Setzt alle vom „CMPConsentTool“ festgelegten Datensätze zurück
Return
Kein Rückgabewert
Beispiel
CMPConsentTool.reset()