Informacje
Treść

Wytyczne dotyczące zarządzania zgodami w aplikacjach mobilnych

Omówienie

Niniejszy dokument zawiera kompleksowe wytyczne dotyczące wdrażania zarządzania zgodami w aplikacjach mobilnych, zapewniające zgodność z przepisami o ochronie danych, w tym z RODO, LGPD oraz wymogami IAB Transparency & Consent Framework (TCF). Dokument dotyczy prawidłowego przetwarzania zgód użytkowników w przypadku usług stron trzecich, w tym sieci reklamowych, platform analitycznych i innych usług śledzenia.

Wymagania wdrożeniowe

1. Nie inicjuj usług stron trzecich bez weryfikacji zgody

Kroki wdrożenia:
  1. Sprawdź, czy użytkownik podjął decyzję o wyrażeniu zgody
  2. Zweryfikuj zgodę na konkretnego dostawcę/usługę
  3. Zainicjuj usługę tylko wtedy, gdy spełnione są oba warunki
  4. Jeżeli nie udzielono zgody na rzecz danego sprzedawcy lub celu, należy:
    1. Pomiń inicjalizację tej usługi (na przykład Google AdMob);
    2. Jeżeli są dostępne, korzystaj z alternatyw przyjaznych dla prywatności;
    3. Ogranicz dostępne funkcjonalności zgodnie ze strategią przychodów z produktu. Przykład: w przypadku całkowicie bezpłatnej aplikacji, której jedynym źródłem dochodu są reklamy, możesz wyświetlić przyjazny komunikat informujący, że aplikacja nie będzie działać lub będzie dostępna tylko częściowo, jeśli nie zostanie wyrażona zgoda na jej wykorzystanie w celach marketingowych;

Zawsze wdrażaj obie kontrole zgodnie z wymogami artykułu 7(1) RODO i specyfikacjami IAB TCF:

Faza 1: Czy użytkownik podjął decyzję?

  • Sprawdź, czy użytkownik wszedł w interakcję z warstwą zgody
  • Jeżeli nie podjęto żadnej decyzji, nie przetwarzaj danych osobowych

Faza 2: Czy użytkownik wyraża zgodę na określony cel?

Scenariusze przepływu pracy użytkownika

Scenariusz 1: Normalny przepływ pracy użytkownika

Przepływ: Użytkownik otwiera aplikację → SDK wyświetla warstwę zgody (jeśli jest to konieczne) → Użytkownik dokonuje wyboru → Aplikacja kontynuuje działanie z odpowiednimi usługami

Ważne: nawigacja za pomocą przycisku Wstecz oraz gesty są wyłączone w naszych mobilnych zestawach SDK, więc użytkownik nie może odrzucić warstwy zgody bez uzyskania odpowiedniej zgody.

Kroki wdrożenia:
  1. Uruchomienie aplikacji: Zainicjuj platformę zarządzania zgodami. W tym celu użyj metody checkAndOpen(). Sprawdź przykłady w naszej dokumentacji pomocy (iOS, Android)
  2. Weryfikacja zgody: poprzedni krok pozwoli ustalić, czy zgoda jest potrzebna automatycznie, czy nie, dzięki czemu użytkownik może podjąć decyzję o wyrażeniu zgody. 
  3. Inicjalizacja usługi: Inicjalizacja usług na podstawie wyborów wyrażonych przez użytkownika
Przykład implementacji:
// 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"
    }
}

Scenariusz 2: Brak połączenia z Internetem

Przepływ: Użytkownik otwiera aplikację bez dostępu do Internetu → CMP nie może załadować warstwy zgody → Aplikacja musi obsługiwać ją prawidłowo

Krytyczne uwagi:
  • Nasz mobilny zestaw SDK nie może pobrać konfiguracji z serwerów
  • Poprzednie decyzje o wyrażeniu zgody mogą być nadal ważne (zgodnie z artykułem 7(3) RODO w sprawie wycofania zgody)
  • Aplikacja musi działać w trybie obniżonym, bez przetwarzania danych osobowych, jeśli nie wyrażono jeszcze zgody
Strategia wdrażania:
  1. Sprawdź możliwe trwałe dane dotyczące zgody z poprzednich sesji (będziesz ich używać getUserStatus() jak w poprzednim przykładzie)
  2. Jeżeli istnieje wcześniejsza zgoda, postępuj normalnie
  3. Jeśli nie ma trwałej zgody i nie ma Internetu:
    • Zablokuj wszystkie nieistotne usługi stron trzecich
    • Pokaż przyjazną użytkownikowi wiadomość wyjaśniającą sytuację
    • Skonfiguruj odbiornik łączności, aby ponawiał próbę po przywróceniu połączenia i wyświetlał warstwę zgody, gdy tak się stanie
    • Zezwól na podstawową funkcjonalność aplikacji, która nie wymaga przetwarzania danych osobowych
Zagadnienia dotyczące doświadczenia użytkownika:
  • Wyświetl wyraźny komunikat o ograniczonej funkcjonalności
  • Wprowadź opcję ponawiania próby, gdy połączenie będzie dostępne
  • Wyjaśnij, że żadne dane osobowe nie zostaną udostępnione do momentu podjęcia decyzji o ochronie prywatności
  • Udostępnij opcję kontynuowania w trybie ograniczonym

Scenariusz 3: Zgoda nie jest wymagana

Sytuacja: Użytkownik znajduje się poza UE, a CMP jest skonfigurowany tak, aby wyświetlać się tylko w UE → Brak wyświetlonej warstwy zgody

Strategia wdrażania:

  1. Zainicjuj konfigurację CMP jak zwykle
  2. Zezwól CMP na określenie, czy warstwa zgody powinna zostać wyświetlona za pomocą checkAndOpen()
  3. Jeśli zgoda nie jest wymagana, status użytkownika zwróci „choiceExists”, a dostawcy i cele zostaną ustawione na „przyznano”
  4. Zainicjuj wszystkie usługi normalnie

checkAndOpen() Metoda będzie reagować na wszystkie te sytuacje. Zaimplementuj nasłuchiwacz, który będzie śledził zmiany w zgody. Możesz użyć didReceiveConsent wywołanie zwrotne dla tego (iOS oraz Android). Jeśli w dowolnym momencie dany dostawca lub cel zostanie odrzucony, należy natychmiast podjąć działania i zablokować usługi.

Lista kontrolna testowania

Testy funkcjonalne

Testowanie przepływu normalnego:

  • Aplikacja uruchamia się poprawnie i wyświetla warstwę zgody, gdy jest to potrzebne
  • Wybory wyrażane przez użytkownika są prawidłowo rejestrowane i respektowane
  • Usługi są inicjowane tylko po uzyskaniu odpowiedniej zgody
  • Aplikacja działa poprawnie po wyrażeniu zgody

Testowanie przepływu odrzutowego:

  • Odrzucenie użytkownika prawidłowo blokuje usługi stron trzecich
  • Aplikacja pozostaje funkcjonalna lub przechodzi w tryb obniżonej wydajności w zależności od Twojej strategii przychodowej

Testowanie offline:

  • Aplikacja bez problemu radzi sobie z brakiem połączenia internetowego
  • Dane dotyczące zgody przechowywane w pamięci podręcznej są wykorzystywane prawidłowo
  • Tryb prywatności aktywuje się w razie potrzeby
  • Przywrócenie połączenia uruchamia odpowiednią logikę ponawiania prób

Testowanie przekroczenia limitu czasu:

Testy zgodności

Weryfikacja przetwarzania danych:

  • Dane śledzące nie są wysyłane przed podjęciem przez użytkownika decyzji o wyrażeniu zgody
  • Identyfikatory dostawców są poprawnie mapowane na rzeczywiste usługi
  • Blokowanie poszczególnych usług działa zgodnie z przeznaczeniem
  • Prawidłowo wdrożona szczegółowość zgody

Rozwiązywanie problemów

Typowe problemy i rozwiązania

Problem: Usługi są inicjowane nawet po odmowie zgody

Podstawowe przyczyny:
Solutions:
  • Nieprawidłowa konfiguracja CMP (błędny identyfikator, domena itp.)
  • Problemy z połączeniem sieciowym
  • Użytkownik znajduje się poza docelowym regionem geograficznym
  • Problemy z integracją aplikacji
Kroki debugowania:
  • Sprawdź, czy konfiguracja CMP jest zgodna z ustawieniami konta
  • Przetestuj łączność sieciową i dostępność serwera CMP
  • Sprawdź logi konsoli pod kątem komunikatów o błędach
  • Przetestuj warstwę zgody z wymuszonym otwarciem w celu weryfikacji integracji
  • Potwierdź ustawienia kierowania geograficznego w panelu CMP

Lista kontrolna priorytetów wdrożenia

Wysoki priorytet (należy ukończyć przed uruchomieniem):
Ciągłe ulepszenia:
  • Przeprowadź analizę następczą na pulpicie CMP, aby sprawdzić wskaźniki powodzenia zgód
  • Testowanie A/B w celu optymalizacji warstwy zgody
  • Integracja z dodatkowymi ramami zgodności
  • Lepsza edukacja użytkowników na temat wyborów dotyczących prywatności

Pamiętaj: W obliczu niepewności co do wymogów dotyczących zgody zawsze wybieraj podejście bardziej chroniące prywatność. Lepiej zachować nadmierną ostrożność niż naruszać prywatność użytkownika lub wymogi regulacyjne.

 

Powrót do góry