Introduzione
Questa API fornisce strumenti per interagire con i messaggi offerti dall'Informativa sulla privacy e nella scheda Messaggi. che ti consente di:
- elimina i messaggi per un determinato utente
- interroga lo stato di blocco degli annunci di un utente
- consentire a un utente di revocare il consenso (se applicabile)
Puoi utilizzare questi strumenti anche per raccogliere il consenso degli utenti utilizzando alcuni standard di settore protocolli:
- Consenso al GDPR utilizzando la specifica della versione 2 del TCF di IAB
- Disattivazione del CPRA utilizzando la specifica CPRA GPP di IAB
In questi casi, lo stato del consenso viene comunicato tramite queste API.
Puoi implementare questa funzionalità di messaggistica per gli utenti sul tuo sito in un paio di modi:
- Nella maggior parte dei casi non è necessario ricodificare perché il tuo account Google Editore Tag o Implementazione del tag AdSense i messaggi per gli utenti dopo che sono stati pubblicati nel prodotto pertinente.
- Se utilizzi il messaggio di risposta al blocco degli annunci, devi aggiungere l'annuncio che bloccano esplicitamente il tag alla tua pagina. Vedi Annuncio Gestore e Tagging di AdSense istruzioni per ulteriori informazioni.
googlefc
è lo spazio dei nomi globale utilizzato dalla funzionalità di messaggistica per gli utenti
per la sua API nel file JavaScript Window
.
Riepiloghi campi
Nome | Tipo | Definizione |
---|---|---|
googlefc.controlledMessagingFunction
|
funzione(!Oggetto) | Una funzione che determina se procedere con qualsiasi messaggio. Questa funzionalità è supportata per tutti i tipi di messaggi. |
googlefc.callbackQueue
|
!Array<!Oggetto<stringa, funzione()>> | !Array<function()> | !googlefc.CallbackQueue | Riferimento alla coda di callback per l'esecuzione asincrona delle query di messaggistica per gli utenti. |
googlefc.CallbackQueue
|
!Object | Il tipo di oggetto coda di callback. |
googlefc.AdBlockerStatusEnum
|
!Object<stringa, number> | Un'enumerazione per rappresentare lo stato di blocco degli annunci dell'utente. |
googlefc.AllowAdsStatusEnum
|
!Object<stringa, number> | Un'enumerazione che rappresenta lo stato di autorizzazione degli annunci dell'utente. |
googlefc.ccpa.InitialCcpaStatusEnum
|
!Object<stringa, number> | Un'enumerazione per rappresentare lo stato CPRA iniziale dell'utente. |
googlefc.ccpa.overrideDnsLink
|
non definito|booleano | Un valore booleano che può essere impostato su true per utilizzare un link personalizzato Non vendere. |
Riepiloghi dei metodi
Nome | Tipo restituito | Definizione |
---|---|---|
googlefc.showRevocationMessage()
|
non definito |
Cancella il record per il consenso e ricarica lo script googlefc per mostrare il messaggio per il consenso applicabile all'utente.
|
googlefc.getAdBlockerStatus()
|
numero |
Restituisce un valore nell'attributo AdBlockerStatusEnum in base allo stato di blocco degli annunci dell'utente.
|
googlefc.getAllowAdsStatus()
|
numero |
Restituisce un valore nell'attributo AllowAdsStatusEnum in base allo stato di autorizzazione degli annunci dell'utente.
|
googlefc.ccpa.getInitialCcpaStatus()
|
numero |
Restituisce un valore nell'attributo InitialCcpaStatusEnum a seconda dello stato CPRA iniziale dell'utente.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
|
non definito | Apre la finestra di dialogo di conferma CPRA se viene eseguito l'override del link predefinito Non vendere. |
Test e debug sul tuo sito
Privacy e Messaggistica fornisce funzionalità di debug e test che consentono di vedere come appaiono messaggi specifici (o combinazioni di messaggi) nel tuo sito effettivo.
Prerequisiti:
- I messaggi di cui vuoi visualizzare l'anteprima devono essere pubblicati nel sito test
Puoi visualizzare un'anteprima in tempo reale sul tuo sito utilizzando il seguente URL di debug parametri:
Parametro di debug | Valori consentiti |
---|---|
fc |
alwaysshow (per attivare la modalità di debug/anteprima) |
fctype |
ab (messaggi per il blocco degli annunci), ccpa (messaggi di disattivazione CPRA), gdpr (messaggi per il consenso GDPR), monetization (messaggi di Offerwall) |
Alcuni esempi di come utilizzare questa funzionalità per visualizzare l'anteprima sul tuo sito (foo.com):
- Testa il messaggio CPRA -
http://foo.com/?fc=alwaysshow&fctype=ccpa
- Testa il messaggio GDPR -
http://foo.com/?fc=alwaysshow&fctype=gdpr
Campi: spiegazioni ed esempi
googlefc.controlledMessagingFunction {function(!Object)}
Una funzione che determina se i messaggi devono essere visualizzati o meno. È possibile utilizzata per limitare il rendering dei messaggi in condizioni specificate dal publisher, ad esempio stato dell'abbonato o URL della pagina.
Quando definisci googlefc.controlledMessagingFunction
nella finestra prima di
vengono caricati altri script, i messaggi non vengono visualizzati finché non chiami
message.proceed(boolean)
. La chiamata a message.proceed(true)
consente di inviare messaggi a
procedere come al solito, mentre la chiamata al numero message.proceed(false)
impedisce qualsiasi messaggio
non vengano mostrati per la visualizzazione di pagina.
Esempio: supponiamo che nella pagina ci sia questo script che definisce uno script
funzione determineIfUserIsSubscriber()
che controlla se l'utente che ha eseguito l'accesso è un
sottoscrittore.
<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>
Ecco un esempio di come potresti utilizzare
googlefc.controlledMessagingFunction
per mostrare il messaggio solo a
non iscritti.
<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>
C'è anche un'estensione di questa funzione che consente ai publisher la versione beta chiusa della Offerwall per specificare che deve essere in modo soppresso. Gli altri tipi di messaggi non sono interessati quando questa funzionalità è attiva.
I messaggi controllati specifici della Offerwall si ottengono trasmettendo un'ulteriore
parametro message.proceed()
, un Array
di tipo googlefc.MessageTypeEnum
.
Esempio: questo è un esempio di utilizzo di googlefc.controlledMessagingFunction
per
Elimina la pubblicazione della Offerwall solo per gli abbonati, senza eliminare altri
tipi di messaggi:
<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>
Riferimento alla coda globale di callback per l'esecuzione asincrona di
per chiamate correlate alla messaggistica. L'unico modo supportato per richiamare una funzione è
aggiungendolo a callbackQueue
.
Poiché tipi di dati diversi diventano disponibili in momenti diversi, una funzione deve essere aggiunta come mappa, con una delle seguenti stringhe come chiave e funzione da eseguire come valore.
Tasti supportati:
Nome chiave | Utilizzo | Latenza relativa |
---|---|---|
CONSENT_API_READY
|
Le funzioni inviate alla coda di callback con la chiave CONSENT_API_READY vengono eseguite quando le API per i framework di consenso supportati sono definite e richiamabili. Da questo momento in poi, l'esecuzione di qualsiasi funzione con chiave CONSENT_API_READY aggiunta successivamente è sincrona. Per dettagli specifici sui framework, consulta le sezioni sui framework IAB.
|
Bassa |
CONSENT_DATA_READY
|
Le funzioni inviate alla coda di callback con la chiave CONSENT_DATA_READY vengono eseguite quando il consenso dell'utente raccolto in un framework per il consenso supportato è noto (da un'esecuzione precedente o dopo che l'utente ha interagito con il messaggio per il consenso). Da questo momento in poi, l'esecuzione di qualsiasi funzione con chiave CONSENT_DATA_READY aggiunta successivamente è sincrona.
|
Alta |
AD_BLOCK_DATA_READY
|
Le funzioni trasferite alla coda di callback con la chiave AD_BLOCK_DATA_READY vengono eseguite quando i dati sul blocco degli annunci diventano disponibili nel flusso. Da questo momento in poi, l'esecuzione di qualsiasi funzione con chiave AD_BLOCK_DATA_READY aggiunta successivamente è sincrona.
|
Alta |
INITIAL_CCPA_DATA_READY
|
Le funzioni inviate alla coda di callback con INITIAL_CCPA_DATA_READY vengono eseguite quando i dati CPRA diventano disponibili nel flusso. Tieni presente che qualsiasi richiesta successiva di dati CPRA deve essere ottenuta chiamando direttamente l'API US Privacy (__uspapi ).
|
Medio |
googlefc.CallbackQueue {!Object}
Riepilogo del metodo:
Nome | Tipo | Parametro | Tipo restituito | Ruolo |
---|---|---|---|---|
push(data)
|
numero |
data : una coppia chiave-valore con la chiave come uno dei dati
i tipi di disponibilità e il valore da eseguire come funzione JavaScript.
Le chiavi accettabili per la disponibilità dei dati sono CONSENT_API_READY ,
CONSENT_DATA_READY , AD_BLOCK_DATA_READY e
INITIAL_CCPA_DATA_READY .
|
Il numero di comandi aggiunti finora. Restituisce la lunghezza corrente dell'array. | Esegue la funzione passata, nell'ordine in cui i dati diventano disponibili, quindi in base all'ordine in cui queste funzioni vengono aggiunte in coda. |
Esempio:
<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>}
Rappresenta i diversi stati di blocco degli annunci dell'utente. I diversi stati sono:
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>}
Rappresenta i diversi stati di autorizzazione degli annunci per il blocco degli annunci dell'utente. Le diverse sono:
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>}
Rappresenta i diversi stati di autorizzazione degli annunci per il blocco degli annunci dell'utente. Le diverse sono:
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}
Imposta questo campo su true per nascondere il link predefinito Non vendere e utilizzare un personalizzato Non vendere.
Esempio:
<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>
Metodi: spiegazioni ed esempi
googlefc.getConsentStatus(): {number}
googlefc.getConsentedProviderIds(): {!Array<string>}
- In questo modo viene sempre restituito un elenco vuoto quando viene eseguita la chiamata.
googlefc.showRevocationMessage(): {undefined}
Cancella il record relativo al consenso corrente e mostra il messaggio per il consenso visualizzato
applicabile a questo utente. La chiave che deve essere specificata per questa funzione è
CONSENT_DATA_READY
.
Esempio:
<button type="button" onclick="googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => googlefc.showRevocationMessage()});">
Click here to revoke
</button>
googlefc.getAdBlockerStatus(): {number}
Restituisce un valore in AdBlockerStatusEnum in base allo stato di blocco degli annunci
dell'utente. La chiave che deve essere specificata per questa funzione è
AD_BLOCK_DATA_READY
.
Esempio:
<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}
Restituisce un valore nell'attributo AllowAdsStatusEnum
in base allo stato di autorizzazione degli annunci di
per l'utente. La chiave che deve essere specificata per questa funzione è
AD_BLOCK_DATA_READY
.
Esempio:
<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}
Restituisce un valore nell'intervallo InitialCcpaStatusEnum
a seconda dello stato CPRA di
per l'utente. La chiave che deve essere specificata per questa funzione è
INITIAL_CCPA_DATA_READY
. Tieni presente che qualsiasi richiesta successiva di dati CPRA deve
ottenibile chiamando direttamente l'API US Privacy (__uspapi
).
Esempio:
<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}
Apre la finestra di dialogo di conferma CPRA se il link predefinito Non vendere è
con override. Una volta che l'utente interagisce con la finestra di dialogo di conferma, lo strumento fornito
la funzione di callback viene chiamata con true
se l'utente decide di disattivarla e
false
negli altri casi.
Esempio:
<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>
Utilizzare le soluzioni di gestione del consenso di Google con la versione 2 del TCF di IAB per il GDPR
Se utilizzi soluzioni di gestione del consenso di Google per raccogliere il consenso GDPR Nell'ambito della versione 2 del TCF di IAB, devi utilizzare la versione 2 del TCF di IAB tramite Google Cloud.
Puoi utilizzare la CONSENT_API_READY
per garantire che i callback corrispondenti vengano richiamati solo quando
l'API della versione 2 del TCF di IAB è definita nella pagina. Da utilizzare insieme
con
'addEventListener'
dell'API della versione 2 del TCF di IAB.
Esempio:
<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>
Puoi utilizzare lo strumento CONSENT_DATA_READY
tasto coda di callback per assicurarsi che vengano richiamati i callback corrispondenti
solo quando il consenso dell'utente viene raccolto e accessibile tramite l'API della versione 2 del TCF di IAB.
Questa opzione può essere utilizzata in combinazione
'addEventListener'
: i dati forniti nella prima chiamata del callback fornito
conterrà le selezioni relative al consenso dell'utente (purché la versione 2 del TCF si applichi a questo
dell'utente). Tieni presente che con il rilascio della versione 2.2 del TCF,
'getTCData'
è deprecato.
Esempio:
<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>
Utilizzare le soluzioni di Google per la gestione del consenso con il framework GPP di IAB per il CPRA
Se utilizzi soluzioni di Google per la gestione del consenso per raccogliere la disattivazione del CPRA nell'ambito del framework GPP di IAB, devi utilizzare la GPP di IAB tramite Google Cloud.
Data la natura di disattivazione del regolamento CPRA, puoi utilizzare
CONSENT_API_READY
oppure
Chiamata di CONSENT_DATA_READY
chiave di coda per garantire che l'API GPP di IAB sia richiamabile e che restituisca i dati relativi al consenso
nel momento in cui vengono richiamati i callback.
<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>
Utilizzo delle soluzioni di gestione del consenso di Google con il framework GPP di IAB per il CPRA con un link Non vendere personalizzato
Se utilizzi soluzioni di Google per la gestione del consenso per raccogliere la disattivazione del CPRA
nel framework GPP di IAB, è possibile fornire un link Non vendere personalizzato
impostando il flag googlefc.ccpa.overrideDnsLink
su 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>
In questo modo ti assicuri che il link predefinito Non vendere non venga visualizzato. Tieni presente che responsabili di eseguire il rendering del tuo link Non vendere per garantire con il CPRA. Poi devi gestire l'interazione dell'utente con il prompt personalizzato di Non Link per la vendita richiamando la finestra di dialogo di conferma del 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>