Obsługa RODO IAB

Zgodnie z polityką Google w zakresie zgody użytkownika z UE musisz udzielać odpowiednich informacji użytkownikom z Europejskiego Obszaru Gospodarczego (EOG) oraz Wielkiej Brytanii i uzyskać ich zgodę na stosowanie plików cookie lub innych środków do lokalnego przechowywania danych, jeśli jest to wymagane prawnie, a także na wykorzystywanie danych osobowych (np. identyfikatora reklamy) do wyświetlania reklam. Polityka ta odzwierciedla wymagania UE zawarte w dyrektywie o prywatności i łączności elektronicznej oraz w Ogólnym rozporządzeniu o ochronie danych (RODO).

Ten przewodnik zawiera instrukcje obsługi wiadomości zgodnej z RODO i zasadami IAB TCF w wersji 2.0 w ramach pakietu SDK UMP. Ten przewodnik jest przeznaczony do korzystania z rozpoczęcia, który zawiera omówienie konfigurowania aplikacji z pakietem UMP SDK i podstawowe informacje o konfigurowaniu wiadomości. Poniższe wskazówki dotyczą wiadomości zgodnej z RODO i zasadami TCF IAB w wersji 2. Więcej informacji znajdziesz w artykule Jak wymagania IAB wpływają na konfigurację wiadomości z prośbą o zgodę na wykorzystanie danych (zgodnie z wytycznymi UE).

Wymagania wstępne

RODO wymaga, abywycofanie zgody było możliwe w dowolnym momencie. Aby umożliwić użytkownikom wycofanie zgody, zobacz opcje dotyczące prywatności.

Aby wskazać, czy użytkownik nie osiągnął wieku samodzielnego wyrażania zgody, ustaw parametr setTagForUnderAgeOfConsent (TFUA). Gdy ustawisz wartość TFUA na true, pakiet UMP SDK nie będzie prosił o zgodę użytkownika. Jeśli Twoja aplikacja jest przeznaczona dla różnych grup odbiorców, ustaw ten parametr w przypadku użytkowników będących dziećmi, aby nie prosić o zgodę.

W tym przykładzie wartość TFUA jest ustawiana na „PRAWDA” w przypadku żądania zgody w ramach UMP:

JavaKotlin
ConsentRequestParameters params = new ConsentRequestParameters
    .Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build();

consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    (OnConsentInfoUpdateSuccessListener) () -> {
      // ...
    },
    (OnConsentInfoUpdateFailureListener) requestConsentError -> {
      // ...
    });
val params = ConsentRequestParameters
    .Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build()

consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ConsentInformation.OnConsentInfoUpdateSuccessListener {
      // ...
    },
    ConsentInformation.OnConsentInfoUpdateFailureListener {
      requestConsentError ->
      // ...
    })

Mediacja

Aby dodać partnerów zapośredniczenia do listy partnerów reklamowych, wykonaj czynności opisane w artykule Dodawanie partnerów reklamowych do opublikowanych wiadomości zgodnych z RODO. Jeśli tego nie zrobisz, partnerzy mogą nie wyświetlać reklam w Twojej aplikacji.

Partnerzy zapośredniczenia mogą też udostępniać dodatkowe narzędzia, które ułatwiają zachowanie zgodności z RODO. Więcej informacji znajdziesz w przewodniku po integracji konkretnego partnera.

Po uzyskaniu zgody na przetwarzanie danych zgodnie z RODO możesz odczytać opcje zgody z lokalnego magazynu danych zgodnie z specyfikacją TCF w wersji 2. Klucz IABTCF_PurposeConsents wskazuje zgodę na każdy z celów TCF.

Ten fragment kodu pokazuje, jak sprawdzić zgodę na cel 1:

JavaKotlin
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
  String purposeOneString = purposeConsents.charAt(0).toString();
  boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}
val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (purposeConsents?.isEmpty() == false) {
  val purposeOneString = purposeConsents.first().toString()
  val hasConsentForPurposeOne = purposeOneString == "1"
}

Najczęstsze pytania

Co się stanie, jeśli nie podejmę żadnych działań, aby spełnić wymagania dotyczące platformy do zarządzania zgodą użytkowników w przypadku wyświetlania reklam w krajach Europejskiego Obszaru Gospodarczego i Wielkiej Brytanii?

Od 16 stycznia 2024 r., jeśli partner nie zacznie korzystać z platformy CMP certyfikowanej przez Google, w odpowiedzi na żądania z EOG i Wielkiej Brytanii będzie mógł wyświetlać reklamy tylko w ograniczonym zakresie.

16 stycznia 2024 r. wdrożymy nowe wymagania w przypadku niewielkiego odsetka ruchu pochodzącego z EOG i Wielkiej Brytanii. Następnie będziemy stopniowo rozszerzać wdrożenie, a pod koniec lutego 2024 r. nowe wymagania będą już egzekwowane w przypadku całego ruchu z tych lokalizacji. Aby uniknąć negatywnego wpływu nadchodzących zmian na Twoje zarobki, zacznij korzystać z certyfikowanej platformy CMP do 16 stycznia 2024 r.

Jak sprawdzić, czy użytkownik wyraził zgodę?

Zgoda nie jest reprezentowana przez pojedynczy bit, ale przez zestaw celów i dostawców określonych w specyfikacji zasad TCF IAB. Więcej informacji o kryteriach personalizacji Google Ads znajdziesz w artykule Polityka w zakresie zgody użytkownika: reklamy spersonalizowane i niespersonalizowane.

Dodatkowo dostawcy technologii reklamowych z listy dostawców technologii reklamowych Google, którzy nie są zarejestrowani na liście dostawców TCF, korzystają z specyfikacji technicznej trybu udzielenia dodatkowej zgody Google do zbierania zgody. Google publikuje listę dostawców technologii reklamowych niezarejestrowanych w ramach IAB oraz ich identyfikatory w tym miejscu: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.

Aby debugować pojedyncze żądanie reklamy, użyj funkcji Debugowanie ustawień prywatności w inspektorze reklam, aby wyświetlić te sygnały dotyczące prywatności przekazywane w ramach żądania reklamy w ramach integracji wydawcy z zasadami TCF IAB Europe:

Etykieta inspektora reklam Parametr zapytania żądania reklamy Znaczenie
RODO obowiązuje (IABTCF_gdprApplies) gdpr Czy do tego żądania reklamy ma zastosowanie RODO.
Ciąg tekstowy dotyczący przejrzystości i zgody (IABTCF_TCString) gdpr_consent Ciąg tekstowy dotyczący przejrzystości i zgody. IAB udostępnia narzędzie internetowe, za pomocą którego możesz ręcznie decode wartość.
Ciąg tekstowy dotyczący udzielenia dodatkowej zgody (IABTCF_AddtlConsent) addtl_consent Ciąg tekstowy dotyczący udzielenia dodatkowej zgody z specyfikacji technicznej Google o nazwie „Udzielenie dodatkowej zgody”.

Więcej informacji o czytaniu opcji zgody w programie znajdziesz w artykule Jak odczytywać opcje zgody.

Czy muszę używać pakietu UMP SDK Google, aby spełnić wymagania dotyczące platformy CMP?

Nie. Do wyświetlania reklam możesz używać dowolnej platformy CMP z listy platform CMP z certyfikatem Google.

Jak za pomocą pakietu SDK UMP wyświetlić ponownie formularz zgody, mimo że użytkownik już wyraził zgodę?

Jeśli użytkownik już wyraził zgodę, rozwiązanie Google do zarządzania zgodą nie będzie prosić o nowe wyrażenie zgody, dopóki ciąg tekstowy dotyczący przejrzystości i zgody nie wygaśnie lub nie stanie się nieważny.

RODO wymaga, aby użytkownicy mogli w dowolnym momencie wycofać zgodę. Zapoznaj się z opcjami dotyczącymi prywatności, aby umożliwić użytkownikom wycofanie zgody. Aby ponownie wyświetlić formularz zgody, zadzwoń pod numer showPrivacyOptionsForm().

Po integracji platformy CMP certyfikowanej przez Google nie widzę żadnych żądań reklam wysyłanych do partnerów pośredniczących, nawet od użytkowników, którzy wyrazili zgodę. Dlaczego tak się dzieje?

Zgodnie z zasadami TCF Google sprawdza, czy dostawcy technologii reklamowych i inne źródła ofert reklamowych objętych automatyzacją nie naruszają zasad Google i mają przynajmniej 1 podstawę prawną do przetwarzania danych przed ich uwzględnieniem w kaskadzie zapośredniczenia. Aby dowiedzieć się więcej, otwórz sekcję mediacja.

Niektórzy partnerzy pośredniczący z listy dostawców technologii reklamowych Google nie są zarejestrowani na liście dostawców TCF. Zamiast tego korzystają oni ze specyfikacji technicznej Google o nazwie „Udzielenie dodatkowej zgody”. Google publikuje listę dostawców technologii reklamowych niezarejestrowanych w IAB oraz ich identyfikatory w tym miejscu: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

Pakiet SDK UMP obsługuje przechowywanie ciągu znaków AC, co umożliwia dodawanie partnerów reklamowych do opublikowanych wiadomości zgodnych z RODO bez konieczności sprawdzania, czy partnerzy są zarejestrowani w TCF. Jeśli używasz zewnętrznej platformy CMP, wykonaj te czynności:

  1. Sprawdź, czy zewnętrzna platforma CMP obsługuje przechowywanie ciągu AC.
  2. Na liście dostawców technologii reklamowych, których zewnętrzna platforma CMP używa do uzyskiwania zgody, należy uwzględnić każdego partnera zapośredniczenia.
Czy mogę zmienić sposób działania aplikacji, jeśli użytkownicy nie wyrażą zgody? Czy jest to dozwolone przez obowiązujące zasady?

Wydawcy mogą odczytać ciąg tekstowy TCF IAB w swoich aplikacjach. Więcej informacji o czytaniu opcji zgody znajdziesz w artykule Jak odczytywać opcje zgody. Wydawcy powinni skonsultować się z prawnikami w sprawie swoich zobowiązań wynikających z obowiązujących przepisów.

Jeśli wybiorę Zarządzaj opcjami i wyrazę zgodę na wszystkie cele, nie widzę żadnych reklam. Dlaczego tak się dzieje?

Oprócz zgody na zbieranie danych musisz też uzyskać zgodę dostawcy. Aby dostawca, np. Google, mógł wyświetlać odpowiednie reklamy, wymagana jest zgoda na wykorzystanie danych w określonym celu oraz zgoda na wykorzystanie danych przez dostawcę.

Jak wdrożyć ciąg tekstowy dotyczący udzielenia dodatkowej zgody w wersji 2 w przypadku użytkowników, którzy wyrazili już zgodę w wersji 1?

Sprawdź klucz IABTCF_AddtlConsent w pamięci lokalnej zgodnie z specyfikacją techniczną Google dotyczącą dodatkowej zgody, aby określić, czy użytkownik wyraził zgodę na wersję ciągu znaków AC 2 i czy należy ponownie wyświetlić formularz zgody.

JavaKotlin
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "2~1.35.41.101~dv.9.21.81"
String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "");
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  String specACVersion = additionalConsent.charAt(0);
  boolean isACVersion2 = purposeOneString.equals("2");
}
val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "2~1.35.41.101~dv.9.21.81"
val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "")
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  val specACVersion = additionalConsent.first()
  val isACVersion2 = specACVersion == "2"
}