Übersicht
Dieses Dokument enthält umfassende Richtlinien für die Implementierung des Einwilligungsmanagements in mobilen Anwendungen und gewährleistet die Einhaltung von Datenschutzbestimmungen, einschließlich der Anforderungen der DSGVO, der LGPD und des IAB Transparency & Consent Framework (TCF). Es behandelt den ordnungsgemäßen Umgang mit der Einwilligung der Nutzer für Dienste von Drittanbietern, darunter Werbenetzwerke, Analyseplattformen und andere Tracking-Dienste.
Implementierungsanforderungen
1. Aktivieren Sie keine Dienste von Drittanbietern ohne Überprüfung der Einwilligung
Umsetzungsschritte:
- Prüfen Sie, ob der Nutzer eine Einwilligungsentscheidung getroffen hat
- Überprüfen Sie die Einwilligung für den jeweiligen Anbieter/Dienst
- Starten Sie den Dienst nur, wenn beide Bedingungen erfüllt sind
- Wenn für einen bestimmten Anbieter oder Zweck keine Einwilligung erteilt wurde, müssen Sie:
2. Zweistufige Einwilligungsprüfung
Führen Sie stets beide Prüfungen durch, wie sie gemäß Artikel 7 Absatz 1 der DSGVO und den IAB-TCF-Spezifikationen vorgeschrieben sind:
Phase 1: Hat der Nutzer eine Entscheidung getroffen?
- Prüfen Sie, ob der Nutzer mit der Einwilligungsschicht interagiert hat
- Wenn keine Entscheidung getroffen wurde, dürfen keine personenbezogenen Daten verarbeitet werden
Phase 2: Stimmt der Nutzer einem bestimmten Zweck zu?
- Prüfen Sie, ob für den jeweiligen Drittanbieter-Dienst eine Einwilligung erteilt wurde
- Jeder Anbieter/Dienst erfordert eine individuelle Einwilligungsüberprüfung
Szenarien für den Benutzer-Workflow
Szenario 1: Normaler Benutzer-Workflow
Ablauf: Nutzer öffnet App → SDK zeigt Einwilligungsmaske an (falls erforderlich) → Nutzer trifft eine Auswahl → App fährt mit den entsprechenden Diensten fort
Wichtig: Die Navigation über den Zurück-Button oder Gesten ist in unseren mobilen SDKs deaktiviert, sodass der Nutzer die Einwilligungsmaske nicht ohne ordnungsgemäße Einwilligung schließen kann.
Umsetzungsschritte:
- App-Start: Initialisiere die Einwilligungsmanagement-Plattform. Dazu verwendest du die Methode checkAndOpen(). Sieh dir die Beispiele in unseren Hilfe-Dokumenten an (iOS, Android)
- Einwilligungsprüfung: Der vorherige Schritt ermittelt automatisch, ob eine Einwilligung erforderlich ist oder nicht, damit der Nutzer eine fundierte Entscheidung treffen kann.
- Initialisierung von Diensten: Initialisieren Sie Dienste auf der Grundlage der vom Nutzer getroffenen Einwilligungsentscheidungen
Anwendungsbeispiel:
// This hypothetical example assumes you have implemented:
// - OneSignal (s1448)
// - Google Ads/AdMob (s1)
// - Google Analytics (s26)
class yourGreatApp {
void function onAppLaunch() {
if shouldInitializeService("s148") {
OneSignal.initialize("your-token")
}
if shouldInitializeService("s1") {
AdMobService.initialize()
}
if shouldInitializeService("s26") {
FirebaseAnalytics.initializeApp("your-token")
}
}
boolean private function shouldInitializeService(string: purposeId):
// Phase 1: Check if user has made any decision
consentStatus = CMPManager.getUserStatus()
if consentStatus.status = "choiceDoesntExist"
return false // Consent Layer was not yet displayed to this client
return CMPManager.shared.getStatusForPurpose(id: purposeId) == "granted"
}
}
Szenario 2: Keine Internetverbindung
Ablauf: Nutzer öffnet App ohne Internetverbindung → CMP kann Einwilligungslayer nicht laden → App muss dies elegant
handhaben Kritische Anmerkungen:
- Unser mobiles SDK kann keine Konfigurationsdaten von Servern abrufen
- Frühere Einwilligungserklärungen können weiterhin gültig sein (gemäß Artikel 7 Absatz 3 der DSGVO zum Widerruf der Einwilligung).
- Die App muss im eingeschränkten Modus funktionieren, ohne personenbezogene Daten zu verarbeiten, falls noch keine Einwilligung erteilt wurde
Umsetzungsstrategie:
- Prüfen Sie auf eventuell noch vorhandene Einwilligungsdaten aus früheren Sitzungen (Sie verwenden
getUserStatus()dafür wie im vorherigen Beispiel) - Wenn bereits eine Einwilligung vorliegt, fahren Sie wie gewohnt fort
- Wenn keine dauerhafte Einwilligung und kein Internet:
-
- Blockieren Sie alle nicht unbedingt notwendigen Dienste von Drittanbietern
- Zeige eine benutzerfreundliche Meldung an, die die Situation erklärt
- Richte einen Konnektivitäts-Listener ein, um es erneut zu versuchen, sobald die Verbindung wiederhergestellt ist, und zeige die Einwilligungsseite an, wenn dies geschieht
- Erlaube grundlegende App-Funktionen, die keine Verarbeitung personenbezogener Daten erfordern
Überlegungen zur Benutzererfahrung:
- Zeigen Sie eine klare Meldung über eingeschränkte Funktionalität an
- Implementiere eine Option zum erneuten Versuch, sobald eine Verbindung verfügbar ist
- Erklären Sie, dass keine personenbezogenen Daten weitergegeben werden, bis Entscheidungen zum Datenschutz getroffen wurden
- Biete die Option an, im eingeschränkten Modus fortzufahren
Szenario 3: Keine Einwilligung erforderlich
Situation: Der Nutzer befindet sich außerhalb der EU und CMP ist so konfiguriert, dass es nur in der EU angezeigt wird → Es wird kein Einwilligungsfenster angezeigt
. Umsetzungsstrategie:
- Initialisieren Sie die CMP-Konfiguration wie gewohnt
- Lassen Sie CMP entscheiden, ob die Einwilligungsschicht angezeigt werden soll, indem Sie
checkAndOpen() - Wenn keine Einwilligung erforderlich ist, gibt der Benutzerstatus „choiceExists“ zurück und Anbieter sowie Zwecke werden auf „gewährt“ gesetzt.
- Initialisieren Sie alle Dienste wie gewohnt
Reagieren Sie auf Änderungen bei der Einwilligung
Änderungen der Einwilligungserklärung können in verschiedenen Szenarien auftreten:
- Der Nutzer öffnet die Einwilligungseinstellungen und ändert seine Präferenzen
- Die Einwilligung läuft ab und muss erneuert werden (diese Einstellung finden Sie unter „Legal“ in Ihrem CMP-Dashboard)
- Änderungen der gesetzlichen Anforderungen, die eine erneute Einholung der Einwilligung erfordern
- Benutzer beantragt Löschung der Daten
Die checkAndOpen() Methode reagiert auf all diese Situationen. Implementiere einen Listener, der Änderungen der Einwilligung verfolgt. Du kannst den didReceiveConsent Callback verwenden (iOS und Android). Wenn ein bestimmter Anbieter oder Zweck zu irgendeinem Zeitpunkt abgelehnt wird, ergreife sofort Maßnahmen und sperre die Dienste entsprechend.
Checkliste für das Testen
Funktionstests
Test des normalen Ablaufs:
- Die App startet korrekt und zeigt bei Bedarf die Einwilligungsmaske an
- Die Einwilligungsentscheidungen der Nutzer werden ordnungsgemäß erfasst und respektiert
- Die Dienste werden nur mit entsprechender Einwilligung initialisiert
- Die App funktioniert nach der Einwilligungsentscheidung einwandfrei
Testen des Ablehnungsablaufs:
- Die Ablehnung durch den Nutzer blockiert Drittanbieter-Dienste ordnungsgemäß
- Die App bleibt funktionsfähig oder wechselt in den eingeschränkten Modus, je nach Ihrer Umsatzstrategie
Offline-Test:
- Die App geht elegant mit fehlender Internetverbindung um
- Zwischengespeicherte Einwilligungsdaten werden angemessen verwendet
- Der datenschutzfreundliche Modus wird bei Bedarf aktiviert
- Die Wiederherstellung der Verbindung löst die richtige Wiederholungslogik aus
Timeout-Test:
- Das Zeitlimit der Einwilligungsschicht löst einen entsprechenden Fallback aus
- Die App friert nicht ein und stürzt während des Timeouts nicht ab
- Der Fallback-Modus blockiert die Datenverarbeitung ordnungsgemäß
- Der Nutzer erhält klare Informationen zum Status
Konformitätsprüfung
Überprüfung der Datenverarbeitung:
- Es werden keine Tracking-Daten gesendet, bevor der Nutzer seine Einwilligung erteilt hat
- Anbieter-IDs korrekt den tatsächlichen Diensten zugeordnet
- Die Sperrung einzelner Dienste funktioniert wie vorgesehen
- Einwilligungsgranularität korrekt umgesetzt
Überprüfung der rechtlichen Anforderungen:
- Der Widerruf der Einwilligung führt zur sofortigen Einstellung der Datenverarbeitung
- Die Rechte der betroffenen Personen können über die App ausgeübt werden
- Ordnungsgemäßer Prüfpfad für Einwilligungsentscheidungen
- Rechtsgrundlage für alle Datenverarbeitungen dokumentiert
Fehlerbehebung
Häufige Probleme und Lösungen
Problem: Dienste werden auch dann initialisiert, wenn die Einwilligung verweigert
wird. Ursachen:
- Fehlende Einwilligungsprüfung vor der Initialisierung des Dienstes
- Falsche Zuordnung der Anbieter-ID
Lösungen:
- Fügen Sie vor der Initialisierung ALLER Dienste von Drittanbietern eine explizite Einwilligungsabfrage ein
- Überprüfen Sie, ob die Anbieter-IDs mit denen in der globalen Anbietersliste übereinstimmen
- Sorgen Sie für eine ordnungsgemäße Abstimmung zwischen Einwilligung und Inbetriebnahme des Dienstes
- Klare Servicebeispiele für den Fall, dass die Einwilligung widerrufen wird
Problem: Die Einwilligungsschicht wird nie angezeigt
Mögliche Ursachen:
- Falsche CMP-Konfiguration (falsche ID, Domain usw.)
- Probleme mit der Netzwerkverbindung
- Der Nutzer befindet sich außerhalb der geografischen Zielregion
- Probleme bei der App-Integration
Schritte zur Fehlerbehebung:
- Überprüfen Sie, ob die CMP-Konfiguration mit den Kontoeinstellungen übereinstimmt
- Testen Sie die Netzwerkverbindung und die Erreichbarkeit des CMP-Servers
- Überprüfen Sie die Konsolenprotokolle auf Fehlermeldungen
- Testen Sie die Integration mit einer automatisch angezeigten Einwilligungsabfrage.
- Überprüfen Sie die Einstellungen für die geografische Ausrichtung im CMP-Dashboard
Checkliste für die Priorisierung der Umsetzung
Hohe Priorität (muss vor dem Launch fertiggestellt werden):
- Einwilligungsprüfung vor der Initialisierung ALLER Dienste von Drittanbietern
- Korrekte Fehlerbehandlung bei Timeout-, Netzwerk- und Konfigurationsproblemen
- Grundlegende App-Funktionalität bleibt erhalten, wenn die Einwilligung nicht festgestellt werden kann
- Alle Anbieter-IDs wurden überprüft und korrekt den tatsächlichen Diensten zugeordnet
Laufende Verbesserungen:
- Verfolgen Sie die Analysedaten auf Ihrem CMP-Dashboard, um die Erfolgsquote bei der Einwilligungserteilung zu ermitteln
- A/B-Tests zur Optimierung der Einwilligungsschicht
- Integration mit zusätzlichen Compliance-Rahmenwerken
- Verbesserte Aufklärung der Nutzer über Datenschutzoptionen
Denken Sie daran: Wenn Sie sich hinsichtlich der Einwilligungsanforderungen unsicher sind, wählen Sie immer den Ansatz, der den Datenschutz am besten schützt. Es ist besser, übervorsichtig zu sein, als die Privatsphäre der Nutzer oder gesetzliche Vorschriften zu verletzen.