Info
Innehåll

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:
  1. Kontrollera om användaren har fattat ett samtyckesbeslut
  2. Verifiera samtycke för den specifika leverantören/tjänsten
  3. Initiera endast tjänsten om båda villkoren är uppfyllda
  4. Om inget samtycke har beviljats ​​för en viss leverantör eller ett visst ändamål måste du:
    1. Hoppa över initialiseringen av den tjänsten (till exempel Google AdMob);
    2. Använd integritetsvänliga alternativ, om sådana finns tillgängliga;
    3. 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;

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?

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:
  1. 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)
  2. Samtyckeskontroll: föregående steg avgör automatiskt om samtycke behövs eller inte, så att användaren kan fatta ett välgrundat samtyckesbeslut. 
  3. 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:
  1. Kontrollera eventuella bevarade samtyckesdata från tidigare sessioner (du kommer att använda getUserStatus() som i det föregående exemplet för det)
  2. Om ett tidigare samtycke finns, fortsätt normalt
  3. 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:

  1. Initiera CMP-konfigurationen som vanligt
  2. Låt CMP avgöra om samtyckeslagret ska visas med hjälp av checkAndOpen()
  3. Om samtycke inte krävs returnerar användarstatusen ”choiceExists” och leverantörer och syften sätts till ”beviljade”.
  4. Initiera alla tjänster normalt

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:

Ö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

Felsökning

Vanliga problem och lösningar

Problem: Tjänster initieras även när samtycke nekas

Bakomliggande orsakerna:
Lösningar:
  • 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):
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.

 

Tillbaka till toppen