Konfigurowanie trybu uzyskiwania zgody w aplikacjach

Ta strona jest przeznaczona dla deweloperów, którzy używają w swojej aplikacji pakietu SDK Google Analytics dla Firebase i chcą zintegrować tryb uzyskiwania zgody. Wprowadzenie do trybu uzyskiwania zgody znajdziesz w omówieniu trybu uzyskiwania zgody.

Google Analytics udostępnia tryb uzyskiwania zgody, który pozwala dostosowywać działanie pakietu SDK na podstawie stanu zgody użytkowników. Tryb uzyskiwania zgody możesz wdrożyć w sposób podstawowy lub zaawansowany. Jeśli nie wiesz, czy wdrożyć podstawowy czy zaawansowany tryb uzyskiwania zgody, dowiedz się więcej o podstawowym i zaawansowanym trybie uzyskiwania zgody i zapoznaj się z wytycznymi obowiązującymi w Twojej firmie.

Zanim zaczniesz

Aby zarządzać zgodą użytkowników, musisz zaimplementować:

  • Pakiet SDK Google Analytics dla Firebase
  • Baner z ustawieniami uzyskiwania zgody użytkowników na przetwarzanie danych

Aby skonfigurować tryb uzyskiwania zgody:

  1. Zanim użytkownik udzieli zgody: tymczasowo wyłącz zbieranie danych przez Analytics.
  2. Ustaw domyślny stan zgody użytkownika.
  3. Zaktualizuj stan zgody użytkownika na podstawie interakcji użytkownika z Twoimi ustawieniami uzyskiwania zgody.
  4. Ponownie włącz zbieranie danych przez Analytics.

Tymczasowe wyłączenie zbierania danych przez Analytics

Podstawowa implementacja trybu uzyskiwania zgody oznacza zablokowanie wczytywania pakietu SDK Google Analytics dla Firebase do czasu udzielenia zgody przez użytkownika.

Aby tymczasowo wyłączyć gromadzenie danych przez Analytics, ustaw wartość FIREBASE_ANALYTICS_COLLECTION_ENABLED na false (wartość logiczna) w pliku Info.plist aplikacji. Na przykład wyświetlany w źródłowym pliku XML:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><false/>

Domyślnie nie są ustawione żadne wartości trybu uzyskiwania zgody. Aby ustawić domyślny stan zgody użytkownika w aplikacji:

  1. Otwórz plik info.plist aplikacji.
  2. Dodaj pary klucz-wartość trybu uzyskiwania zgody. Klucz opisuje typ zgody, a wartość wskazuje stan zgody. Wartościami mogą być true, co oznacza, że użytkownik wyraził zgodę, lub false, co oznacza, że użytkownik nie wyraził zgody. Ustaw te opcje:

    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE
    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE
    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA
    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS
  3. Zapisz zmiany. Następnie zaimplementuj mechanizm aktualizowania wartości dotyczących zgody użytkownika.

Aby na przykład skonfigurować domyślnie wszystkie prośby o zgodę na przetwarzanie danych dotyczące wszystkich parametrów:

<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>

Ponownie włącz zbieranie danych w Analytics

Gdy użytkownik udzieli zgody, ponownie włącz zbieranie danych w Analytics za pomocą metody instancji setAnalyticsCollectionEnabled().

Wartość ustawiona przez metodę setAnalyticsCollectionEnabled pozostaje bez zmian po wszystkich uruchomieniach aplikacji i zastępuje wartość firebase_analytics_collection_enabled w pliku Info.plist aplikacji. Gdy ustawisz wartość setAnalyticsCollectionEnabled, kolekcja Analytics pozostanie w tym stanie do momentu ponownego wywołania setAnalyticsCollectionEnabled, nawet jeśli użytkownik zamknie i ponownie otworzy Twoją aplikację.

Aby zaktualizować kolekcję Analytics:

Swift

swift Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

obj-c [FIRAnalytics setAnalyticsCollectionEnabled:YES];

Aby zaktualizować wartości zgody po uruchomieniu aplikacji, wywołaj metodę setConsent.

Wartość ustawiona przez metodę setConsent zastępuje ustawienie domyślne i jest stosowana przez wszystkie uruchomienia aplikacji. Wartość pozostaje w tym stanie do chwili ponownego wywołania funkcji setConsent, nawet jeśli użytkownik zamknie i ponownie otworzy aplikację. setConsent aktualizuje tylko określone przez Ciebie parametry.

Jeśli użytkownik wycofa wcześniej udzielone zgody na korzystanie z Analytics lub przechowywania danych w Google Ads, Google Analytics usunie wszystkie właściwości użytkownika, w tym zgodę na przetwarzanie danych ad_personalization. Aby zachować wybór użytkownika dotyczący zgody użytkownika na personalizację reklam, przywróć poprzednią wartość na potrzeby personalizacji reklam za pomocą polecenia setConsent (Swift | Obj-C) .

Poniższy przykład pokazuje, jak metoda setConsent aktualizuje różne wartości zgody na granted:

Swift

Analytics.setConsent([
  .analyticsStorage: .granted,
  .adStorage: .granted,
  .adUserData: .granted,
  .adPersonalization: .granted,
])

Objective-C

[FIRAnalytics setConsent:@{
FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
FIRConsentTypeAdStorage : FIRConsentStatusGranted,
FIRConsentTypeAdUserData : FIRConsentStatusGranted,
FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
}];

Jeśli użytkownik zdecyduje się cofnąć swoją zgodę, zaktualizuj odpowiednio stany zgody i ponownie wyłącz zbieranie danych przez Analytics za pomocą metody setAnalyticsCollectionEnabled().

W ramach stałego budowania ekosystemu reklamy cyfrowej zapewniającego ochronę prywatności zaostrzamy egzekwowanie polityki w zakresie zgody użytkownika z UE.

Dowiedz się więcej o aktualizacjach trybu uzyskiwania zgody w przypadku ruchu w Europejskim Obszarze Gospodarczym (EOG).

Oprócz przechowywania reklam i danych analitycznych użytkownicy trybu uzyskiwania zgody muszą wysyłać 2 nowe parametry:

  1. Zaktualizuj plik info.plist aplikacji, aby zawierał:

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. Zaktualizuj wywołania związane z prośbą o zgodę na wykorzystanie danych, aby zawierały parametry danych użytkowników reklam i personalizacji reklam:

    Swift

    Analytics.setConsent([
    .analyticsStorage: .granted,
    .adStorage: .granted,
    .adUserData: .granted,
    .adPersonalization: .granted,
    ])
    

    Objective-C

    [FIRAnalytics setConsent:@{
      FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdUserData : FIRConsentStatusGranted,
      FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
    }];
    

Aby sprawdzić, czy ustawienia dotyczące uzyskiwania zgody działają zgodnie z oczekiwaniami, wyświetl konsolę debugowania Xcode swojej aplikacji.

Aby to zrobić:

  1. Włącz szczegółowe logowanie na urządzeniu.
  2. W konsoli debugowania Xcode odszukaj:

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    Jeśli na przykład włączono Pamięć reklam, zobaczysz taki komunikat:

    ad_storage is granted.