Führen Sie ein Shared Storage-Worklet aus, um eine URL auszuwählen und in einem Fenced Frame zu rendern.
Die Shared Storage API ist ein Privacy Sandbox-Vorschlag für die allgemeine, websiteübergreifende Speicherung, der viele mögliche Anwendungsfälle unterstützt. Ein Beispiel ist die Häufigkeitssteuerung, die in Chrome Beta 104.0.5086.0 und höher getestet werden kann.
Ein Worklet-Script ausführen, um anhand der gespeicherten Daten eine URL aus einer bereitgestellten Liste auszuwählen und diese URL dann in einem Fenced Frame zu rendern. Damit können neue Anzeigen oder andere Inhalte ausgewählt werden, wenn das Häufigkeitslimit erreicht wurde.
Creative-Auswahl nach Häufigkeit testen
Wenn Sie die Auswahl von Creatives nach Häufigkeit mit Shared Storage und Fenced Frames testen möchten, müssen Sie Chrome 104.0.5086.0 oder höher verwenden. Aktivieren Sie alle APIs zum Datenschutz bei Werbung unter chrome://settings/adPrivacy.
Sie können Shared Storage auch mit dem Flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames in der Befehlszeile aktivieren.
Mit Codebeispielen experimentieren
Um eine undurchsichtige URL auszuwählen und zu erstellen, registrieren Sie ein Worklet-Modul zum Lesen von Daten aus dem Shared Storage. Die Worklet-Klasse empfängt eine Liste mit bis zu acht URLs und gibt dann den Index der ausgewählten URL zurück.
Wenn der Client sharedStorage.selectURL() aufruft, wird das Worklet ausgeführt und gibt eine undurchsichtige URL zurück, die in einem eingezäunten Frame gerendert werden soll.
Angenommen, Sie möchten eine andere Anzeige oder einen anderen Inhalt rendern, je nachdem, wie oft ein Nutzer sie bereits gesehen hat. Sie können zählen, wie oft ein Nutzer Inhalte gesehen hat, und diesen Wert im gemeinsamen Speicher speichern. Sobald der Wert im gemeinsamen Speicher gespeichert ist, ist er für Sie über verschiedene Ursprünge hinweg verfügbar.
Anschließend werden die Werte im gemeinsamen Speicher gelesen und der Zähler wird mit jeder zusätzlichen Ansicht erhöht. Wenn die Anzahl das vordefinierte Limit noch nicht erreicht hat, wird der Inhalt zurückgegeben, den Sie rendern möchten (Index 1). Andernfalls wird die Standard-URL zurückgegeben (Index 0).
In diesem Fall gilt Folgendes:
creative-selection-by-frequencyjswird über das iFrame des Content-Erstellers oder Werbetreibenden geladen und ist dafür verantwortlich, das Shared Storage-Worklet zu laden und die zurückgegebene undurchsichtige Quelle in einem Fenced Frame zu rendern.creative-selection-by-frequency-worklet.jsist das Shared Storage-Worklet, das die Häufigkeitszählung liest, um zu ermitteln, welche URL für ein Inhalts- oder Anzeigen-Creative zurückgegeben wird.
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);
Anwendungsfälle
In diesem Abschnitt finden Sie alle verfügbaren Anwendungsfälle für die Select URL API. Wir werden weitere Beispiele hinzufügen, sobald wir Feedback erhalten und neue Testfälle entdecken.
- Anzeigen-Creatives rotieren: Speichern Sie Daten wie die Creative-ID und Nutzerinteraktionen, um zu ermitteln, welches Creative Nutzer auf verschiedenen Websites sehen.
- Anzeigen-Creatives nach Häufigkeit auswählen: Anhand der Daten zur Wiedergabeanzahl können Sie ermitteln, welches Creative Nutzern auf verschiedenen Websites präsentiert wird.
- A/B-Tests ausführen: Sie können einen Nutzer einer Testgruppe zuweisen und diese Gruppe dann in Shared Storage speichern, damit auf sie websiteübergreifend zugegriffen werden kann.
- Angebote für bekannte Kunden anpassen: Sie können benutzerdefinierte Inhalte und Calls-to-Action basierend auf dem Registrierungsstatus oder anderen Nutzerstatus teilen.
Feedback geben
Der Vorschlag für die Select URL API befindet sich in der aktiven Diskussion und Entwicklung und kann sich daher ändern.
Wir freuen uns auf Ihr Feedback zur Select URL API.
- Angebot: Detailliertes Angebot ansehen.
- Diskussion: Nehmen Sie an der laufenden Diskussion teil, um Fragen zu stellen und Ihre Erkenntnisse mitzuteilen.