Esegui un worklet dello spazio di archiviazione condiviso per selezionare un URL e visualizzarlo in un frame isolato.
L'API Shared Storage è una proposta di Privacy Sandbox per l'archiviazione cross-site per uso generico, che supporta molti possibili casi d'uso. Un esempio è il controllo della frequenza, disponibile per il test in Chrome Beta 104.0.5086.0 e versioni successive.
Esegui uno script worklet per selezionare un URL da un elenco fornito, in base ai dati archiviati, quindi esegui il rendering dell'URL in un frame recintato. Questa opzione può essere utilizzata per selezionare nuovi annunci o altri contenuti quando è stato raggiunto il limite di frequenza.
Testare la selezione delle creatività in base alla frequenza
Per testare la selezione delle creatività in base alla frequenza con Shared Storage e Fenced Frame, verifica di utilizzare Chrome 104.0.5086.0 o versioni successive. Abilita tutte le API per la privacy degli annunci in chrome://settings/adPrivacy.
Puoi anche attivare Shared Storage con il flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames nella riga di comando.
Sperimenta con esempi di codice
Per selezionare e creare un URL opaco, registra un modulo worklet per leggere i dati di Shared Storage. La classe worklet riceve un elenco di massimo otto URL e poi restituisce l'indice dell'URL scelto.
Quando il client chiama sharedStorage.selectURL(), il worklet
viene eseguito e restituisce un URL opaco da visualizzare in un fenced frame.
Supponiamo che tu voglia selezionare un annuncio o un contenuto diverso da visualizzare in base alla frequenza con cui un utente lo ha visto in precedenza. Puoi contare quante volte un utente ha visto un contenuto e memorizzare questo valore nello spazio di archiviazione condiviso. Una volta memorizzato, il valore nello spazio di archiviazione condiviso diventa disponibile per te in diverse origini.
Successivamente, il worklet Shared Storage legge i valori in Shared Storage e incrementa il contatore a ogni visualizzazione aggiuntiva. Se il conteggio non ha raggiunto il limite predefinito, vengono restituiti i contenuti che vuoi visualizzare (indice 1). In caso contrario, viene restituito l'URL predefinito (indice 0).
In questo esempio:
creative-selection-by-frequencyjsviene caricato tramite l'iframe del produttore di contenuti o dell'inserzionista ed è responsabile del caricamento del worklet di Shared Storage e del rendering della sorgente opaca restituita in un frame isolato.creative-selection-by-frequency-worklet.jsè il worklet di archiviazione condivisa che legge il conteggio della frequenza per determinare quale URL viene restituito per una creatività pubblicitaria o di contenuti.
creative-selection-by-frequency.js
// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
{ url: `https://${contentProducerUrl}/default-content.html` },
{ url: `https://${contentProducerUrl}/example-content.html` },
];
async function injectAd() {
// Load the worklet module.
await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');
// Set the initial frequency count
window.sharedStorage.set('frequency-count', 0, {
ignoreIfPresent: true,
});
// Run the URL selection operation to choose an ad based on the frequency count in shared storage.
const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
resolveToConfig: true
});
// Render the opaque URL into a fenced frame
document.getElementById('content-slot').config = fencedFrameConfig;
}
injectAd();
creative-selection-by-frequency-worklet.js
const FREQUENCY_LIMIT = 5;
class CreativeSelectionByFrequencyOperation {
async run(urls, data) {
// Read the current frequency limit in shared storage
const count = parseInt(await sharedStorage.get('frequency-count'));
// Check if the frequency limit has been reached.
if (count === FREQUENCY_LIMIT) {
console.log('Frequency limit has been reached, and the default content will be rendered.');
return 0;
}
// Set the new frequency count in shared storage
await sharedStorage.set('frequency-count', count + 1);
return 1;
}
}
// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);
Casi d'uso
Tutti i casi d'uso disponibili per l'API Select URL sono disponibili in questa sezione. Continueremo ad aggiungere esempi man mano che riceviamo feedback e scopriamo nuovi casi di test.
- Ruota le creatività degli annunci: memorizza i dati, ad esempio l'ID creatività e l'interazione degli utenti, per determinare la creatività che gli utenti vedono su siti diversi.
- Seleziona le creatività degli annunci in base alla frequenza: utilizza i dati sul conteggio delle visualizzazioni per determinare quali creatività vengono visualizzate dagli utenti su siti diversi.
- Esegui test A/B: puoi assegnare un utente a un gruppo sperimentale, quindi archiviare il gruppo in Shared Storage per accedervi su più siti.
- Personalizza l'esperienza per i clienti noti: condividi contenuti personalizzati e inviti all'azione in base allo stato di registrazione o ad altri stati dell'utente.
Partecipare e condividere feedback
Tieni presente che la proposta dell'API Select URL è in fase di discussione e sviluppo ed è soggetta a modifiche.
Non vediamo l'ora di conoscere la tua opinione sull'API Select URL.
- Proposta: rivedi la proposta dettagliata.
- Discussione: partecipa alla discussione in corso per porre domande e condividere le tue informazioni.