Wprowadzenie
Udostępnia on narzędzia do interakcji z wiadomościami oferowanymi w na karcie „Wiadomości”. Dzięki niemu możesz:
- ukrywaj wiadomości dla każdego użytkownika
- zapytanie o stan blokowania reklam na koncie użytkownika
- umożliwiać użytkownikowi wycofanie zgody (w odpowiednich przypadkach);
Za pomocą tych narzędzi możesz też uzyskiwać zgodę użytkowników na wykorzystanie danych, korzystając ze standardów branżowych protokoły:
- zgoda na wykorzystanie danych zgodnie z RODO zgodnie ze specyfikacją zasad TCF firmy IAB w wersji 2.
- Rezygnacja z CPRA na podstawie specyfikacji IAB GPP CPRA
W takich przypadkach stan zgody użytkownika jest przekazywany przez te interfejsy API.
Możesz wdrożyć tę funkcję wiadomości dla użytkowników w swojej witrynie za kilka sposoby:
- W większości przypadków nie ma potrzeby ponownego tagowania – istniejące tagi Google Wydawca Tag lub Wdrożenie tagu AdSense wiadomości dla użytkowników po opublikowaniu wiadomości w odpowiedniej usłudze.
- Jeśli używasz wiadomości dla użytkowników blokujących reklamy, musisz dodać taką reklamę tag blokujący dostęp do strony. Zobacz reklamę Menedżer i Tagowanie AdSense instrukcje, by dowiedzieć się więcej.
googlefc
to globalna przestrzeń nazw używana przez funkcję przesyłania wiadomości do użytkowników
dla swojego interfejsu API w Window
JavaScriptu.
Podsumowania pól
Nazwa | Typ | Definicja |
---|---|---|
googlefc.controlledMessagingFunction
|
function(!Object) | Funkcja, która określa, czy kontynuować z przesyłanym komunikatem. Ta funkcja jest obsługiwana w przypadku wszystkich typów wiadomości. |
googlefc.callbackQueue
|
!tablica<!Object<ciąg, function()>> | !Array<function()> | !googlefc.CallbackQueue | Odwołanie do kolejki wywołań zwrotnych służącej do asynchronicznego wykonywania zapytań dotyczących wiadomości użytkownika. |
googlefc.CallbackQueue
|
!Object | Typ obiektu kolejki wywołań zwrotnych. |
googlefc.AdBlockerStatusEnum
|
!Object<ciąg, liczba> | Enum reprezentujące stan blokady reklam użytkownika. |
googlefc.AllowAdsStatusEnum
|
!Object<ciąg, liczba> | Wyliczenie reprezentujące stan zezwolenia na wyświetlanie reklam u użytkownika. |
googlefc.ccpa.InitialCcpaStatusEnum
|
!Object<ciąg, liczba> | Wyliczenie reprezentujące początkowy stan użytkownika zgodnie z CPRA. |
googlefc.ccpa.overrideDnsLink
|
niezdefiniowana|wartość logiczna | Wartość logiczna, którą można ustawić na wartość Prawda, aby użyć niestandardowego linku typu „Nie sprzedawaj”. |
Podsumowania metod
Nazwa | Zwracany typ | Definicja |
---|---|---|
googlefc.showRevocationMessage()
|
nie zdefiniowano |
Czyści rekord z prośbą o zgodę na wykorzystanie danych i ponownie wczytuje skrypt googlefc , aby wyświetlić wiadomość z prośbą o zgodę na wykorzystanie danych użytkownika.
|
googlefc.getAdBlockerStatus()
|
liczba |
Zwraca wartość w elemencie AdBlockerStatusEnum w zależności od stanu blokowania reklam u użytkownika.
|
googlefc.getAllowAdsStatus()
|
liczba |
Zwraca wartość w elemencie AllowAdsStatusEnum w zależności od tego, czy użytkownik zezwala na wyświetlanie reklam.
|
googlefc.ccpa.getInitialCcpaStatus()
|
liczba |
Zwraca wartość w kolumnie InitialCcpaStatusEnum w zależności od początkowego stanu CPRA użytkownika.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
|
nie zdefiniowano | Otwiera okno potwierdzenia zgodności z ustawą CPRA, jeśli domyślny link „Nie zgadzam się na sprzedaż” zostanie zastąpiony. |
Testowanie i debugowanie w witrynie
Prywatność i zasady Komunikator ten oferuje funkcje debugowania i testowania, zobaczyć, jak wyglądają określone wiadomości (lub ich kombinacje) na witryna.
Wymagania wstępne:
- Wiadomości, których podgląd chcesz wyświetlić, muszą być opublikowane w witrynie, której podgląd chcesz wyświetlić testujemy pod kątem
Aby zobaczyć w swojej witrynie podgląd na żywo, skorzystaj z tego adresu URL do debugowania parametry:
Parametr debugowania | Dozwolone wartości |
---|---|
fc |
alwaysshow (aby aktywować tryb debugowania/podglądu) |
fctype |
ab (Wiadomości dotyczące blokowania reklam), ccpa (wiadomości umożliwiające wycofanie zgody na wykorzystanie danych zgodnie z ustawą CPRA), gdpr (wiadomości z prośbą o zgodę na wykorzystanie danych zgodnie z RODO), monetization (wiadomości typu Offerwall) |
Oto kilka przykładów wykorzystania do wyświetlenia podglądu w witrynie (foo.com):
- Testowanie wiadomości zgodnych z CPRA –
http://foo.com/?fc=alwaysshow&fctype=ccpa
- Testowanie wiadomości zgodnej z RODO –
http://foo.com/?fc=alwaysshow&fctype=gdpr
Pola: wyjaśnienia i przykłady
googlefc.controlledMessagingFunction {function(!Object)}
Funkcja określająca, czy wiadomości mają być wyświetlane. Jest taka możliwość służy do blokowania renderowania wiadomości według warunków określonych przez wydawcę, takich jak subskrybenta lub adresu URL strony.
Jeśli określisz właściwość googlefc.controlledMessagingFunction
w oknie przed
wczytywane są inne skrypty, wiadomości nie są wyświetlane, dopóki nie zadzwonisz
message.proceed(boolean)
Połączenie z numerem message.proceed(true)
umożliwia wysyłanie wiadomości do:
będzie przebiegać w zwykły sposób, a wywołanie message.proceed(false)
uniemożliwi wysyłanie wiadomości
przed wyświetleniem strony.
Przykład: załóżmy, że masz na stronie skrypt, który definiuje tag asynchroniczny
funkcja determineIfUserIsSubscriber()
, która sprawdza, czy zalogowany użytkownik jest
subskrybent.
<head>
<script>
window.isSubscriber = undefined;
function determineIfUserIsSubscriber() {
if (isSubscriber !== undefined) {
return isSubscriber;
}
return new Promise(resolve => {
setTimeout(() => {
// Change this to true if you want to test what subscribers would see.
window.isSubscriber = false;
resolve(window.isSubscriber);
}, 1000);
});
}
</script>
</head>
To przykład wykorzystania funkcji
googlefc.controlledMessagingFunction
, aby wyświetlać wiadomość tylko dla:
osób bez subskrypcji.
<head>
<script>
// Define googlefc and the controlled messaging function on the Window.
window.googlefc = window.googlefc || {};
googlefc.controlledMessagingFunction = async (message) => {
// Determine if the user is a subscriber asynchronously.
const isSubscriber = await determineIfUserIsSubscriber();
if (isSubscriber) {
// If the user is a subscriber, don't show any messages.
message.proceed(false);
} else {
// Otherwise, show messages as usual.
message.proceed(true);
}
}
</script>
</head>
Istnieje też rozszerzenie tej funkcji, które umożliwia wydawcom w zamkniętej wersji beta wiadomości typu Offerwall, aby określić, że tylko wiadomość typu Offerwall powinna być pominięte. Ta funkcja nie ma wpływu na inne typy wiadomości.
Kontrolowaną komunikację w ramach wiadomości typu Offerwall uzyskuje się przez przekazanie dodatkowego parametru
do message.proceed()
, typu Array
typu googlefc.MessageTypeEnum
.
Przykład: to jest przykład użycia funkcji googlefc.controlledMessagingFunction
do
blokować wyświetlanie wiadomości typu Offerwall w przypadku subskrybentów, bez blokowania innych
typy wiadomości:
<head>
<script>
// Define googlefc and the controlled messaging function on the Window.
window.googlefc = window.googlefc || {};
googlefc.controlledMessagingFunction = async (message) => {
// Determine if the Offerwall should display or not.
const shouldDisplayOfferwall = await determineIfUserIsSubscriber();
const applicableMessageTypes = [];
if (!shouldDisplayOfferwall) {
// Do not show the Offerwall, but allow other message types to display.
applicableMessageTypes.push(window.googlefc.MessageTypeEnum.OFFERWALL);
message.proceed(false, applicableMessageTypes);
} else {
// Otherwise, show messages as usual.
message.proceed(true);
}
}
</script>
</head>
Odniesienie do globalnej kolejki wywołań zwrotnych dla asynchronicznego wykonania
i połączenia z wiadomościami. Jedynym obsługiwanym sposobem wywołania funkcji jest
Dodaję go do callbackQueue
.
Ponieważ różne typy danych są dostępne w różnym czasie, funkcja należy dodać jako mapę, z jednym z następujących ciągów jako kluczem, funkcja do wykonania jako wartość.
Obsługiwane klucze:
Nazwa klucza | Wykorzystanie | Względny czas oczekiwania |
---|---|---|
CONSENT_API_READY
|
Funkcje przekazywane do kolejki wywołań zwrotnych za pomocą klucza CONSENT_API_READY są wykonywane, gdy interfejsy API obsługiwanych platform do uzyskiwania zgody są zdefiniowane i możliwe do wywołania. Od tego momentu wykonywanie wszystkich dodanych później funkcji z kluczem CONSENT_API_READY będzie synchroniczne. Szczegółowe informacje na ten temat znajdziesz w sekcjach na temat zasad IAB.
|
Niski |
CONSENT_DATA_READY
|
Funkcje przekazywane do kolejki wywołań zwrotnych za pomocą klucza CONSENT_DATA_READY są wykonywane, gdy znana jest zgoda użytkownika uzyskana w ramach obsługiwanego procesu uzyskiwania zgody (w ramach wcześniejszego wykonania lub po interakcji użytkownika z wiadomością z prośbą o zgodę na wykorzystanie danych). Od tego momentu wykonywanie wszystkich dodanych później funkcji z kluczem CONSENT_DATA_READY będzie synchroniczne.
|
Wysoki |
AD_BLOCK_DATA_READY
|
Funkcje przekazywane do kolejki wywołań zwrotnych za pomocą klucza AD_BLOCK_DATA_READY są wykonywane, gdy dane blokowania reklam stają się dostępne w procesie. Od tego momentu wykonywanie wszystkich dodanych później funkcji z kluczem AD_BLOCK_DATA_READY będzie synchroniczne.
|
Wysoki |
INITIAL_CCPA_DATA_READY
|
Funkcje przekazane do kolejki wywołań zwrotnych za pomocą identyfikatora INITIAL_CCPA_DATA_READY są wykonywane po udostępnieniu danych CPRA w procesie. Pamiętaj, że kolejne prośby o dostęp do danych zgodnych z CPRA należy uzyskiwać przez bezpośrednie wywołanie interfejsu US Privacy API (__uspapi ).
|
Średni |
googlefc.CallbackQueue {!Object}
Podsumowanie metod:
Nazwa | Typ | Parametr | Zwracany typ | Rola |
---|---|---|---|---|
push(data)
|
liczba |
data : para klucz-wartość, w której klucz jest jednym z danych.
dostępności i wartości w postaci funkcji JavaScript do wykonania.
Akceptowane klucze dostępności danych to CONSENT_API_READY ,
CONSENT_DATA_READY , AD_BLOCK_DATA_READY i
INITIAL_CCPA_DATA_READY
|
Liczba poleceń dodanych do tej pory. Zwraca bieżącą długość tablicy. | Wykonuje funkcję przekazywaną w kolejności, w której dane są udostępniane zgodnie z kolejnością ich dodawania do funkcji kolejkę. |
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'AD_BLOCK_DATA_READY':
() => {
if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
// Handle a non-ad blocking user.
}
}
});
</script>
googlefc.AdBlockerStatusEnum {!Object<string, number>}
Reprezentuje różne stany blokowania reklam przez użytkownika. Różne stany to:
googlefc.AdBlockerStatusEnum = {
// Something failed, in an unknown state.
UNKNOWN: 0,
// The user was running an extension level ad blocker.
EXTENSION_AD_BLOCKER: 1,
// The user was running a network level ad blocker.
NETWORK_LEVEL_AD_BLOCKER: 2,
// The user was not blocking ads.
NO_AD_BLOCKER: 3,
};
googlefc.AllowAdsStatusEnum {!Object<string, number>}
Reprezentuje różne stany użytkownika, w którym użytkownik zezwala na blokowanie reklam. Różne wartości stany to:
googlefc.AllowAdsStatusEnum = {
// Something failed, in an unknown state.
UNKNOWN: 0,
// User is currently using an ad blocker, was never using an ad blocker, or
// allowed ads, but not because they saw the Privacy & messaging message.
ADS_NOT_ALLOWED: 1,
// User is no longer using an ad blocker after seeing the ad blocking message.
ADS_ALLOWED: 2,
};
googlefc.ccpa.InitialCcpaStatusEnum{!Object<string, number>}
Reprezentuje różne stany użytkownika, w którym użytkownik zezwala na blokowanie reklam. Różne wartości stany to:
googlefc.ccpa.InitialCcpaStatusEnum = {
// Something failed, in an unknown state.
UNKNOWN: 0,
// CPRA does not apply to this user.
CCPA_DOES_NOT_APPLY: 1,
// CPPA applies to this user, and the user has not opted out yet.
NOT_OPTED_OUT: 2,
// CPPA applies to this user, and the user has opted out.
OPTED_OUT: 3,
};
googlefc.ccpa.overrideDnsLink{undefined|boolean}
Aby ukryć domyślny link „Nie zgadzam się na sprzedaż” i używać tagu „Nie sprzedawaj”, ustaw to pole na wartość „true” (prawda), niestandardowy link „Nie sprzedawaj”.
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
// Signals that the default DNS link will be overridden.
googlefc.ccpa.overrideDnsLink = true;
</script>
Metody: wyjaśnienia i przykłady
googlefc.getConsentStatus(): {number}
googlefc.getConsentedProviderIds(): {!Array<string>}
- ,
- Teraz po wywołaniu zawsze zwracana jest pusta lista.
googlefc.showRevocationMessage(): {undefined}
Usuwa bieżący rekord z prośbą o zgodę na wykorzystanie danych i wyświetla wiadomość z prośbą o zgodę na wykorzystanie danych, która jest
dotyczące tego użytkownika. Klucz, który należy określić dla tej funkcji, to
CONSENT_DATA_READY
Przykład:
<button type="button" onclick="googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => googlefc.showRevocationMessage()});">
Click here to revoke
</button>
googlefc.getAdBlockerStatus(): {number}
Zwraca wartość w parametrze AdBlockerStatusEnum w zależności od stanu blokowania reklam
użytkownika. Klucz, który należy określić dla tej funkcji, to
AD_BLOCK_DATA_READY
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'AD_BLOCK_DATA_READY':
() => {
switch (googlefc.getAdBlockerStatus()) {
case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
// Insert handling for cases where the user is blocking ads.
break;
case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
// Insert handling for cases where the user is not blocking ads.
break;
case googlefc.AdBlockerStatusEnum.UNKNOWN:
// Insert handling for unknown cases.
break;
}
}
});
</script>
googlefc.getAllowAdsStatus(): {number}
Zwraca wartość w elemencie AllowAdsStatusEnum
w zależności od stanu allow-ads:
użytkownika. Klucz, który należy określić dla tej funkcji, to
AD_BLOCK_DATA_READY
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'AD_BLOCK_DATA_READY':
() => {
switch (googlefc.getAllowAdsStatus()) {
case googlefc.AllowAdsStatusEnum.ADS_NOT_ALLOWED:
// Insert handling for cases where the user has not allowed ads.
// The user may have never been an ad blocker.
break;
case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
// Insert handling for cases where the user saw the ad blocking
// message and allowed ads on the site.
break;
case googlefc.AllowAdsStatusEnum.UNKNOWN:
// Insert handling for unknown cases.
break;
}
}
});
</script>
googlefc.ccpa.getInitialCcpaStatus(): {number}
Zwraca wartość w polu InitialCcpaStatusEnum
w zależności od stanu w ustawie CPRA:
użytkownika. Klucz, który należy określić dla tej funkcji, to
INITIAL_CCPA_DATA_READY
Pamiętaj, że każda kolejna prośba o udostępnienie danych zgodną z CPRA
można uzyskać, bezpośrednio wywołując US Privacy API (__uspapi
).
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'INITIAL_CCPA_DATA_READY':
() => {
switch (googlefc.ccpa.getInitialCcpaStatus()) {
case googlefc.ccpa.InitialCcpaStatusEnum.CCPA_DOES_NOT_APPLY:
// Insert handling for cases where the user is not CPRA eligible.
break;
case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
// Insert handling for cases where the user is CPRA eligible and has
// not opted out.
break;
case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
// Insert handling for cases where the user is CPRA eligible and has
// opted out.
break;
}
}
});
</script>
googlefc.ccpa.openConfirmationDialog(function(boolean)): {undefined}
Otwiera okno potwierdzenia zgodności z ustawą CPRA, jeśli domyślny link „Nie sprzedawaj” to
zastąpiono. Gdy użytkownik wejdzie w interakcję z oknem potwierdzenia, raportowany
funkcja wywołania zwrotnego jest wywoływana z funkcją true
, jeśli użytkownik zdecyduje się na rezygnację;
W przeciwnym razie: false
.
Przykład:
<script>
// This callback will be called with the user CPRA decision.
const ccpaCompletionCallback = (userOptedOut) => {
// Insert handling for user opt-out status here.
}
// Invoke the CPRA confirmation dialog when the user clicks the link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
"click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>
Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników zgodnie z Zasadami IAB dotyczącymi przejrzystości i uzyskiwania zgody na przetwarzanie danych w wersji 2 w związku z RODO
Jeśli do uzyskiwania zgody użytkowników na wykorzystanie danych zgodnie z RODO korzystasz z rozwiązań Google do zarządzania zgodą użytkowników zgodnie z opracowanymi przez IAB zasadami TCF w wersji 2.0, należy korzystać z zasad TCF IAB w wersji 2 API.
CONSENT_API_READY
klucz kolejki wywołań zwrotnych, aby zapewnić, że odpowiednie wywołania zwrotne będą wywoływane tylko wtedy,
interfejs API IAB TCF w wersji 2.0 jest zdefiniowany na stronie. Należy go używać w połączeniu
z
'addEventListener'
w ramach interfejsu API IAB TCF w wersji 2.
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback using the CONSENT_API_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_API_READY':
() => __tcfapi('addEventListener', 2.2, (data, success) => {
// Do something with consent data value; this callback may be invoked
// multiple times as user completes consent flow.
})
});
</script>
CONSENT_DATA_READY
klucz kolejki wywołań zwrotnych, aby zapewnić wywoływanie odpowiednich wywołań zwrotnych.
tylko wtedy, gdy zgoda użytkownika zostanie zebrana i udostępniona za pomocą interfejsu IAB TCF w wersji 2.
Można tego używać w połączeniu z parametrami
'addEventListener'
Command – dane podane podczas pierwszego wywołania podanego wywołania zwrotnego
będą zawierać wybory użytkownika dotyczące zgody (o ile
zasada Zasad dotyczących przejrzystości i uzyskiwania zgody na przetwarzanie danych w wersji 2
użytkownika). Pamiętaj, że po wprowadzeniu Zasad dotyczących przejrzystości i uzyskiwania zgody na przetwarzanie danych w wersji 2.2
'getTCData'
jest wycofane.
Przykład:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback using the CONSENT_DATA_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY':
() => __tcfapi('addEventListener', 2.2, (data, success) => {
// Do something with consent data value; this callback may be invoked
// multiple times if user consent selections change.
})
});
</script>
Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników wraz z zasadami GPP IAB dotyczącymi ustawy CPRA
Jeśli używasz rozwiązań Google do zarządzania zgodą użytkowników, aby uzyskać informacje o rezygnacji z ustawy CPRA w ramach zasad GPP IAB, należy korzystać z GPP IAB API.
Ze względu na to, że rozporządzenie CPRA umożliwia rezygnację z korzystania z niej, możesz korzystać z
CONSENT_API_READY
lub
CONSENT_DATA_READY
oddzwonienie
klucza kolejki, aby zapewnić możliwość wywoływania interfejsu GPP API GPP IAB i zwracania danych dotyczących zgody
w momencie wywołania wywołań zwrotnych.
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY':
() => __uspapi('getUSPData', 1, (data, success) => {
// Do something with consent data value.
})
});
</script>
Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników w połączeniu z zasadami IAB GPP w zakresie ustawy CPRA z wykorzystaniem niestandardowego linku typu „Do Not Sell”
Jeśli używasz rozwiązań Google do zarządzania zgodą użytkowników, aby uzyskać informacje o rezygnacji z ustawy CPRA
zgodnie z zasadami GPP IAB, można podać niestandardowy link do not sprzedaży
ustawiając flagę googlefc.ccpa.overrideDnsLink
na true
.
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Signals that the default DNS link will be overridden.
window.googlefc.ccpa.overrideDnsLink = true;
// Register the callback for the initial CPRA data.
window.googlefc.callbackQueue.push({
'INITIAL_CCPA_DATA_READY': () => {
if (googlefc.ccpa.getInitialCcpaStatus() ===
googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT) {
// TODO: Display custom CPRA Do Not Sell link here.
}
}
});
</script>
Dzięki temu domyślny link „Nie sprzedawaj” nie będzie wyświetlany. Pamiętaj, że są odpowiedzialne za renderowanie własnego linku „Nie sprzedawaj” w celu zapewnienia zgodności ustawę CPRA. Następnie musisz obsługiwać interakcję użytkownika ze swoim niestandardowym ustawieniem „Do Not” Aby sprzedawać link, wywołaj okno potwierdzenia zgodności z ustawą CPRA.
<script>
// This callback will be called with the user CPRA decision.
const ccpaCompletionCallback = (userOptedOut) => {
if (userOptedOut) {
// TODO: Hide custom CPRA Do Not Sell link here.
}
}
// Invoke the CPRA confirmation dialog when the user clicks the link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
"click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>