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. Więcej informacji o trybie uzyskiwania zgody znajdziesz w artykule Omówienie trybu uzyskiwania zgody.

Google Analytics oferuje 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 podstawowym i zaawansowanym trybie uzyskiwania zgody oraz zapoznaj się z wytycznymi obowiązującymi w Twojej firmie.

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, aby uzyskać zgodę użytkownika;

Aby skonfigurować tryb uzyskiwania zgody:

  1. Ustawianie domyślnego stanu zgody użytkownika

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 AndroidManifest.xml aplikacji.
  2. Dodaj pary klucz-wartość trybu zgody. Klucz określa typ zgody, a wartość – stan zgody. Wartości mogą być true, co oznacza, że zgoda została udzielona, lub false, co oznacza, że zgoda została odrzucona.

    Zgodnie z aktualizacjami dotyczącymi trybu uzyskiwania zgody w przypadku ruchu w Europejskim Obszarze Gospodarczym (EOG) można ustawić wartość eu_consent_policy dla ad_user_dataad_personalization, co oznacza, że zgoda jest odmawiana tylko użytkownikom w regionach podlegających polityce w zakresie zgody użytkownika z UE.

    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 wprowadź mechanizm aktualizowania wartości zgody.

Aby np. ustawić domyślne ustawienia uzyskiwania zgody wszystkich parametrów w przypadku wszystkich parametrów:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

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

Wartość ustawiona przez metodę setConsent zastępuje ustawienie domyślne i jest niezmiennie trwała w przypadku różnych uruchomień aplikacji. Wartość pozostaje w tym stanie, dopóki funkcja setConsent nie zostanie wywołana ponownie, 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 udzieloną zgodę na korzystanie z Analytics lub funkcji przechowywania danych na potrzeby reklam, Google Analytics usunie wszystkie właściwości użytkownika, w tym zgodę dotyczącą ad_personalization. Aby zachować wybór użytkownika dotyczący personalizacji reklam, przywróć poprzednią wartość personalizacji reklam za pomocą setConsent (Kotlin+KTX | Java) .

Ten przykład pokazuje metodę setConsent, która aktualizuje różne wartości zgody na granted:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}

Jeśli użytkownik zdecyduje się wycofać zgodę, zaktualizuj odpowiednie oświadczenia dotyczące zgody

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.

Oprócz miejsca na dane na reklamy i analizy użytkownicy trybu uzyskiwania zgody muszą wysyłać 2 nowe parametry:

  1. Zaktualizuj plik AndroidManifest.xml aplikacji, aby uwzględnić:

    <meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
    <meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />
    ```
    
  2. Zaktualizuj wywołania zgody, aby uwzględnić parametry dotyczące danych użytkownika i personalizacji reklam:

    Java

    // Set consent types.
    Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
    consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);
    
    mFirebaseAnalytics.setConsent(consentMap);
    

    Kotlin

    Firebase.analytics.setConsent {
      analyticsStorage(ConsentStatus.GRANTED)
      adStorage(ConsentStatus.GRANTED)
      adUserData(ConsentStatus.GRANTED)
      adPersonalization(ConsentStatus.GRANTED)
    }
    

Aby sprawdzić, czy ustawienia zgody działają zgodnie z oczekiwaniami, możesz wyświetlić wiadomości z dziennika dotyczące Twojej aplikacji.

Aby to zrobić:

  1. Włącz logowanie szczegółowe na urządzeniu.
  2. W dzienniku Androida Studio znajdź komunikat dziennika zaczynający się od Setting consent. Jeśli na przykład włączona jest pamięć reklam, zobaczysz ten komunikat:

    Setting consent, ... AD_STORAGE=granted