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 Przegląd trybu uzyskiwania zgody.

Google Analytics udostępnia tryb uzyskiwania zgody, który pozwala dostosować 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 masz pewności, czy wdrożyć podstawowy czy zaawansowany tryb uzyskiwania zgody, dowiedz się więcej o różnicach między tymi trybami i zapoznaj się z wytycznymi swojej firmy.

Zanim zaczniesz

Zanim zaczniesz zarządzać zgodą użytkowników, musisz wdrożyć:

  • Pakiet SDK Google Analytics dla Firebase
  • baner z ustawieniami zgody na przetwarzanie danych, który umożliwia uzyskiwanie zgody użytkowników;

Aby skonfigurować tryb uzyskiwania zgody, musisz:

  1. Zanim użytkownik wyrazi zgodę: tymczasowo wyłącz zbieranie danych w Analytics.
  2. Ustaw domyślny stan zgody użytkownika
  3. Aktualizuj stan zgody użytkownika na podstawie interakcji z ustawieniami zgody.
  4. Ponowne włączenie zbierania danych przez Analytics

Tymczasowe wyłączanie zbierania danych przez Analytics

Podstawowa implementacja trybu uzyskiwania zgody polega na blokowaniu wczytywania pakietu SDK Google Analytics dla Firebase do czasu, aż użytkownik wyrazi zgodę.

Aby tymczasowo wyłączyć zbieranie danych w Analytics, ustaw w pliku Info.plist aplikacji wartość FIREBASE_ANALYTICS_COLLECTION_ENABLED na false (wartość logiczna). Na przykład 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 rodzaj zgody, a wartość wskazuje stan zgody użytkownika. Wartości mogą być równe true, co oznacza, że użytkownik wyraził zgodę, lub false, co oznacza, że użytkownik nie wyraził zgody.

    Zgodnie z aktualizacjami trybu uzyskiwania zgody w przypadku ruchu w Europejskim Obszarze Gospodarczym (EOG) można ustawić wartość eu_consent_policy dla parametrów ad_user_dataad_personalization, co oznacza, że zgoda jest odrzucana tylko w przypadku użytkowników z regionów objętych polityką w zakresie zgody użytkownika z UE.

    Ustaw te wartości:

    • 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 wdróż mechanizm aktualizowania wartości zgody.

Aby na przykład domyślnie ustawić stan „Przyznano” dla 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/>

Ponowne włączanie zbierania danych przez Analytics

Gdy użytkownik wyrazi zgodę, ponownie włącz zbieranie danych przez Analytics za pomocą metody instancji setAnalyticsCollectionEnabled()

Wartość ustawiona przez metodę setAnalyticsCollectionEnabled jest zachowywana podczas kolejnych uruchomień aplikacji i zastępuje wartość parametru firebase_analytics_collection_enabled w pliku Info.plist aplikacji. Gdy ustawisz wartość parametru setAnalyticsCollectionEnabled, zbieranie danych przez Analytics pozostanie w tym stanie do momentu ponownego wywołania parametru setAnalyticsCollectionEnabled, nawet jeśli użytkownik zamknie i ponownie otworzy aplikację.

Aby zaktualizować zbieranie danych w 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 zachowywana podczas wykonywania aplikacji. Wartość pozostaje w tym stanie do momentu ponownego wywołania funkcji setConsent, nawet jeśli użytkownik zamknie i ponownie otworzy aplikację. Funkcja setConsent aktualizuje tylko określone przez Ciebie parametry.

Jeśli użytkownik wycofa wcześniej udzieloną zgodę na przechowywanie danych Analytics lub danych reklamowych, Google Analytics usunie wszystkie właściwości użytkownika, w tym zgodę na ad_personalization. Aby zachować wybór użytkownika dotyczący zgody na personalizację reklam, przywróć poprzednią wartość personalizacji reklam za pomocą kodu 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ę wycofać zgodę, zaktualizuj odpowiednio stany zgody i ponownie wyłącz zbieranie danych przez Analytics za pomocą 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.

Użytkownicy trybu uzyskiwania zgody muszą wysyłać 2 nowe parametry oprócz parametrów dotyczących pamięci na potrzeby reklam i pamięci na potrzeby analityki:

  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 zgody, aby uwzględniały parametry danych użytkownika na potrzeby wyświetlania 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 uzyskiwania zgody działają zgodnie z oczekiwaniami, otwórz konsolę debugowania Xcode w swojej aplikacji.

Wykonaj te czynności:

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

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    Jeśli na przykład masz włączone przechowywanie danych reklamowych, zobaczysz ten komunikat:

    ad_storage is granted.