Riktlinje för samtyckeshantering för mobilappar
Översikt
Detta dokument ger omfattande riktlinjer för implementering av samtyckeshantering i mobilapplikationer, vilket säkerställer efterlevnad av dataskyddsföreskrifter, inklusive GDPR, LGPD och IAB:s krav på transparens- och samtyckesramverk (TCF). Det behandlar korrekt hantering av användares samtycke för tredjepartstjänster, inklusive annonsnätverk, analysplattformar och andra spårningstjänster.
Implementeringskrav
1. Initiera inte tredjepartstjänster utan samtyckesverifiering
Implementeringssteg:
- Kontrollera om användaren har fattat ett samtyckesbeslut
- Verifiera samtycke för den specifika leverantören/tjänsten
- Initiera endast tjänsten om båda villkoren är uppfyllda
- Om inget samtycke har beviljats för en viss leverantör eller ett visst ändamål måste du:
- Hoppa över initialiseringen av den tjänsten (till exempel Google AdMob);
- Använd integritetsvänliga alternativ, om sådana finns tillgängliga;
- Begränsa de tillgängliga funktionerna enligt din produktintäktsstrategi. Exempel: på en helt gratis app som är beroende av visning av annonser som enda intäktskälla kan du visa ett vänligt meddelande som anger att appen inte kommer att fungera eller bara vara delvis tillgänglig om inte samtycke ges för marknadsföringsändamål;
2. Samtyckeskontroll i två faser
Implementera alltid båda kontrollerna enligt kraven i GDPR artikel 7(1) och IAB TCF-specifikationerna:
Fas 1: Har användaren fattat ett beslut?
- Kontrollera om användaren har interagerat med samtyckeslagret
- Om inget beslut har fattats, behandla inte personuppgifter
Fas 2: Samtycker användaren till ett specifikt syfte?
- Kontrollera om samtycke har beviljats för den specifika tredjepartstjänsten
- Varje leverantör/tjänst kräver individuell samtyckesverifiering
Scenarier för användararbetsflöden
Scenario 1: Normalt användararbetsflöde
Flöde: Användaren öppnar appen → SDK visar samtyckeslager (om det behövs) → Användaren gör val → Appen fortsätter med lämpliga tjänster
Viktigt: Navigering med bakåtknappen eller gester är inaktiverade på våra mobila SDK:er, så användaren kan inte stänga samtyckeslagret utan korrekt samtycke.
Implementeringssteg:
- Appstart: Initiera plattformen för samtyckeshantering. Du kommer att använda metoden checkAndOpen() för det. Se exemplen i våra hjälpdokument (iOS, Android)
- Samtyckeskontroll: föregående steg avgör automatiskt om samtycke behövs eller inte, så att användaren kan fatta ett välgrundat samtyckesbeslut.
- Tjänstinitialisering: Initiera tjänster baserat på användarnas samtyckesval
Implementeringsexempel:
// 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"
}
}
Scenario 2: Ingen internetanslutning
Flöde: Användaren öppnar appen utan internet → CMP kan inte ladda samtyckeslagret → Appen måste hanteras korrekt
Kritiska observationer:
- Vårt mobila SDK kan inte hämta konfiguration från servrar
- Tidigare samtyckesbeslut kan fortfarande vara giltiga (enligt GDPR artikel 7(3) om återkallande av samtycke)
- Appen måste fungera i degraderat läge utan att behandla personuppgifter om inget samtycke ännu har givits.
Implementeringsstrategi:
- Kontrollera eventuella bevarade samtyckesdata från tidigare sessioner (du kommer att använda
getUserStatus()som i det föregående exemplet för det) - Om ett tidigare samtycke finns, fortsätt normalt
- Om inget bestående samtycke och inget internet:
-
- Blockera alla icke-nödvändiga tredjepartstjänster
- Visa ett användarvänligt meddelande som förklarar situationen
- Konfigurera anslutningslyssnaren för att försöka igen när anslutningen återställs och visa samtyckeslagret när detta händer
- Tillåt grundläggande appfunktioner som inte kräver behandling av personuppgifter
Överväganden om användarupplevelse:
- Visa tydligt meddelande om begränsad funktionalitet
- Implementera alternativet för återförsök när anslutningen är tillgänglig
- Förklara att inga personuppgifter kommer att delas förrän sekretessval har gjorts
- Erbjud möjlighet att fortsätta i begränsat läge
Scenario 3: Inget samtycke krävs
Situation: Användaren befinner sig utanför EU och CMP är konfigurerad för att endast visas i EU → Inget samtyckeslager visas
Implementeringsstrategi:
- Initiera CMP-konfigurationen som vanligt
- Låt CMP avgöra om samtyckeslagret ska visas med hjälp av
checkAndOpen() - Om samtycke inte krävs returnerar användarstatusen ”choiceExists” och leverantörer och syften sätts till ”beviljade”.
- Initiera alla tjänster normalt
Reagera på samtyckesändringar
Samtyckesändringar kan ske i flera scenarier:
- Användaren öppnar samtyckesinställningar och ändrar inställningar
- Samtycket upphör att gälla och behöver förnyas (denna inställning finns under Juridisk information på din CMP-instrumentpanel)
- Ändringar i lagkraven som tvingar fram återkallelse av samtycke
- Användaren begär radering av data
Ocuco-landskapet checkAndOpen() Metoden kommer att reagera på alla dessa situationer. Implementera en lyssnare som spårar samtyckesändringar. Du kan använda didReceiveConsent återuppringning för det (iOS och AndroidOm en given leverantör eller ett given syfte avvisas, vidta åtgärder omedelbart och blockera tjänsterna i enlighet därmed.
Testchecklista
funktions~~POS=TRUNC
Normalt flödestestning:
- Appen startar korrekt och visar samtyckeslagret vid behov
- Användarens samtyckesval registreras och respekteras korrekt
- Tjänster initieras endast med lämpligt samtycke
- Appen fungerar korrekt efter samtyckesbeslut
Testning av avstötningsflöde:
- Användaravvisning blockerar korrekt tredjepartstjänster
- Appen förblir funktionell eller går in i försämrat läge beroende på din intäktsstrategi
Offline-testning:
- Appen hanterar ingen internetanslutning utan problem
- Cachelagrade samtyckesdata används på lämpligt sätt
- Sekretessvänligt läge aktiveras vid behov
- Återställning av anslutning utlöser korrekt logik för återförsök
Timeout-testning:
- Timeout för samtyckeslagret utlöser lämplig reservfunktion
- Appen fryser eller kraschar inte under timeout
- Reservläge blockerar korrekt databehandling
- Användaren får tydlig kommunikation om status
Överensstämmelsetestning
Verifiering av databehandling:
- Ingen spårningsdata skickas innan användaren har fattat sitt samtyckesbeslut
- Leverantörs-ID:n är korrekt mappade till faktiska tjänster
- Blockering av individuella tjänster fungerar som avsett
- Samtyckesgranularitet korrekt implementerad
Verifiering av juridiska krav:
- Återkallande av samtycke avbryter databehandlingen omedelbart
- Den registrerades rättigheter kan utövas via appen
- Korrekt revisionslogg upprätthålls för samtyckesbeslut
- Rättslig grund dokumenterad för all databehandling
Felsökning
Vanliga problem och lösningar
Problem: Tjänster initieras även när samtycke nekas
Bakomliggande orsakerna:
- Samtyckeskontroll saknas före tjänstinitiering
- Felaktig mappning av leverantörs-ID
Lösningar:
- Lägg till kontroll av uttryckligt samtycke innan ALLA tredjepartstjänster initialiseras
- Verifiera att leverantörs-ID:n matchar de i den globala leverantörslistan
- Implementera korrekt synkronisering mellan samtycke och tjänstinitiering
- Rensa tjänsteinstanser när samtycke återkallas
Problem: Samtyckeslagret visas aldrig
Möjliga orsaker:
- Felaktig CMP-konfiguration (fel ID, domän osv.)
- Problem med nätverksanslutning
- Användaren befinner sig utanför målgeografisk region
- Problem med appintegration
Felsökningssteg:
- Verifiera att CMP-konfigurationen matchar kontoinställningarna
- Testa nätverksanslutning och CMP-servertillgänglighet
- Kontrollera konsolloggarna för felmeddelanden
- Testa med forcerat samtyckeslager för att verifiera integrationen
- Bekräfta inställningar för geografisk inriktning i CMP-instrumentpanelen
Checklista för implementeringsprioritet
Hög prioritet (måste slutföras före lansering):
- Samtyckesverifiering implementerad innan ALLA tredjepartstjänster initialiseras
- Korrekt felhantering för timeout-, nätverks- och konfigurationsproblem
- Grundläggande appfunktioner bevaras när samtycke inte kan fastställas
- Alla leverantörs-ID:n har verifierats och är korrekt kopplade till faktiska tjänster
Pågående förbättringar:
- Följ upp analyser på din CMP-instrumentpanel för att se andelen framgångsrika samtycken
- A/B-testning för optimering av samtyckeslager
- Integrering med ytterligare regelverk för efterlevnad
- Förbättrad användarutbildning om sekretessval
Kom ihåg: När du är osäker på samtyckeskrav, välj alltid den mest integritetsskyddande metoden. Det är bättre att vara alltför försiktig än att bryta mot användarnas integritet eller lagstadgade krav.







