Uruchom Worklet Shared Storage, aby wybrać adres URL i wyrenderować go w zabezpieczonej ramce.
Shared Storage API to interfejs Privacy, Propozycja piaskownicy do zwykłych obciążeń, pamięci w wielu witrynach, która obsługuje wiele możliwych zastosowań. Jednym z przykładów jest kontrola częstotliwości, z którego można korzystać do testów w Chrome Beta w wersji 104.0.5086.0 i nowszych.
Uruchom skrypt Worklet, aby wybrać adres URL z podanej listy na podstawie zapisanego a następnie wyrenderuj URL w ramce. Można tego użyć, aby wybrać nowych reklam lub innych treści po osiągnięciu limitu częstotliwości.
Testowanie wyboru kreacji według częstotliwości
Aby przetestować wybór kreacji według częstotliwości w przypadku pamięci współdzielonej i chronionych ramek, potwierdź, że:
korzystają z Chrome w wersji 104.0.5086.0 lub nowszej. Włącz wszystkie interfejsy Ad Privacy API w sekcji chrome://settings/adPrivacy
.
Możesz też włączyć pamięć współdzieloną, używając flagi --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
w wierszu poleceń.
Eksperyment z przykładowym kodem
Aby wybrać i utworzyć nieprzezroczysty adres URL, zarejestruj moduł Worklet do odczytu udostępnionego i przechowywanie danych. Klasa Worklet otrzymuje listę maksymalnie 8 adresów URL, a następnie zwraca indeks wybranego adresu URL.
Gdy klient wywoła funkcję sharedStorage.selectURL()
, worklet
uruchamia i zwraca nieprzejrzysty adres URL, który jest renderowany w chronionej ramce.
Załóżmy, że chcesz wybrać do renderowania inną reklamę lub treści w zależności od tego, ile razy dany użytkownik już widział te treści. Możesz zliczać wyświetlenia treści użytkownikowi i zapisywać tę wartość w pamięci współdzielonej. Po zapisaniu wartość w pamięci współdzielonej staje się dostępna w różnych źródłach.
Następnie Worklet pamięci współdzielonej odczytuje wartości w pamięci współdzielonej i zwiększa licznik z każdym dodatkowym widokiem. Jeśli licznik nie osiągnie wstępnie zdefiniowanego limitu, zwrócona zostanie treść do wyrenderowania (indeks 1
). W przeciwnym razie zwracany jest domyślny adres URL (indeks 0
).
W tym przykładzie:
- Plik
creative-selection-by-frequencyjs
jest wczytywany za pomocą elementu iframe producenta treści lub reklamodawcy i odpowiada za to do wczytania Workletu pamięci współdzielonej i renderowania zwróconego nieprzezroczystego i wyświetlaj ją w osłoniętej ramce. creative-selection-by-frequency-worklet.js
to Worklet pamięci współdzielonej, który odczytuje częstotliwości w celu określenia, który adres URL jest zwracany w przypadku treści lub kreacji.
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);
Przypadki użycia
W tej sekcji znajdziesz wszystkie dostępne przypadki użycia interfejsu Select URL API. Będziemy dodawać kolejne przykłady, gdy będziemy otrzymywać opinie i odkrywać nowe przypadki testowe.
- Rotacja kreacji reklamowych: przechowuj dane, takie jak identyfikator kreacji i interakcje użytkowników, aby określić, które kreacje wyświetlają się użytkownikom w różnych witrynach.
- Wybieranie kreacji reklamowych według częstotliwości wyświetleń: na podstawie danych o liczbie wyświetleń możesz określić, które kreacje wyświetlają się użytkownikom w różnych witrynach.
- Przeprowadzanie testów A/B: możesz przypisać użytkownika do grupy eksperymentalnej, a potem zapisać tę grupę w Shared Storage, aby umożliwić dostęp do niej w różnych witrynach.
- Dostosowywanie interfejsu dla znanych klientów: udostępniaj treści i wezwania do działania na podstawie stanu rejestracji lub innych stanów użytkownika.
Angażowanie użytkowników i przesyłanie opinii
Pamiętaj, że interfejs Select URL API jest obecnie przedmiotem dyskusji i jest w trakcie opracowywania, dlatego może ulec zmianie.
Chętnie poznamy Twoją opinię na temat interfejsu Select URL API.
- Proponowana oferta: zapoznaj się ze szczegółami oferty.
- Dyskusja: dołącz do trwającej dyskusji, aby zadawać pytania i dzielić się swoimi spostrzeżeniami.
Trzymaj rękę na pulsie
- Lista mailingowa: zasubskrybuj naszą listę mailingową, aby otrzymywać najnowsze informacje i komunikaty dotyczące interfejsów Select URL i Shared Storage API.
Potrzebujesz pomocy?
- Pomoc dla deweloperów: możesz kontaktować się z innymi deweloperami i uzyskiwać odpowiedzi na swoje pytania w repozytorium pomocy dla deweloperów Piaskownicy prywatności.