Uruchom worklet Shared Storage, aby wybrać adres URL i wyrenderować go w chronionej ramce.
Interfejs Shared Storage API to propozycja Piaskownicy prywatności do ogólnego użytku, przechowywania danych w różnych witrynach, która obsługuje wiele możliwych zastosowań. Jednym z przykładów jest kontrola częstotliwości, którą można przetestować w Chrome Beta w wersji 104.0.5086.0 i nowszych.
Uruchom skrypt workletu, aby wybrać adres URL z dostarczonej listy na podstawie zapisanych danych, a następnie wyrenderuj go w objętej ramce. W ten sposób możesz wybrać nowe reklamy lub inne treści po osiągnięciu limitu częstotliwości.
Przetestuj wybór kreacji według częstotliwości
Aby przetestować dobór kreacji według częstotliwości w przypadku pamięci współdzielonej i ramek ogrodzonych, potwierdź, że używasz Chrome w wersji 104.0.5086.0 lub nowszej. Następnie włącz flagę eksperymentu z interfejsami API reklam w Piaskownicy prywatności na stronie chrome://flags/#privacy-sandbox-ads-apis
.
Możesz też włączyć pamięć współdzieloną, używając flagi --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
w wierszu poleceń.
Eksperymentuj z przykładami kodu
Aby wybrać i utworzyć nieprzejrzysty URL, zarejestruj moduł workletu do odczytu danych pamięci współdzielonej. Klasa Worklet otrzymuje listę zawierającą maksymalnie 8 adresów URL, a następnie zwraca indeks wybranego adresu.
Gdy klient wywołuje sharedStorage.selectURL()
, worklet wykonuje i zwraca nieprzejrzysty adres URL, który ma zostać wyrenderowany w obramowanej ramce.
Załóżmy, że chcesz wybrać inną reklamę lub inne treści do renderowania w zależności od tego, ile razy użytkownik już je widział. Możesz policzyć, ile razy użytkownik zobaczył treści, i zapisać 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 z pamięci współdzielonej i zwiększa licznik z każdym dodatkowym widokiem. Jeśli liczba nie osiągnęła wstępnie zdefiniowanego limitu, zwracana jest treść, która ma być renderowana (indeks 1
). W przeciwnym razie zwracany jest domyślny adres URL (indeks 0
).
W tym przykładzie:
- Plik
creative-selection-by-frequencyjs
jest wczytywany przez element iframe producenta treści lub reklamodawcy i odpowiada za wczytywanie workletu pamięci współdzielonej oraz renderowanie zwróconego nieprzezroczystego źródła w ramce ogrodzonej. creative-selection-by-frequency-worklet.js
to worklet pamięci współdzielonej, który odczytuje liczbę częstotliwości, aby określić, który adres URL jest zwracany dla 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 this.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 this.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
To tylko niektóre z możliwych zastosowań pamięci współdzielonej. W miarę otrzymywania opinii i odkrywania nowych przypadków użycia będziemy dodawać kolejne przykłady.
Wybór treści
Wybieraj i wyświetlaj różne treści na różnych stronach w ogrodzonych ramkach na podstawie informacji zebranych w pamięci współdzielonej. Bramką wyjściową dla tych przypadków użycia jest wybór adresu URL.
- Rotacja kreacji: przechowuj dane, np. identyfikator kreacji, liczbę wyświetleń i interakcje użytkowników, aby określać, które kreacje widzą użytkownicy w różnych witrynach.
- Testy A/B: możesz przypisać użytkownika do grupy eksperymentalnej, a potem zapisać tę grupę w pamięci współdzielonej, aby mieć do niej dostęp w różnych witrynach.
- Niestandardowe wrażenia użytkowników: udostępniaj niestandardowe treści i wezwania do działania wybrane na podstawie stanu rejestracji użytkownika lub innych stanów użytkownika.
Generowanie raportów podsumowujących
Gromadzenie informacji w pamięci współdzielonej i generowanie szczegółowego raportu podsumowującego. Bramką wyjściową dla tych przypadków użycia jest Private Aggregation API.
- Pomiar zasięgu wśród unikalnych użytkowników: wielu producentów treści i reklamodawców chce wiedzieć, ilu unikalnych użytkowników zobaczyło ich treści. Korzystaj z pamięci współdzielonej, by rejestrować, kiedy użytkownik po raz pierwszy zobaczył Twoją reklamę, umieszczony film lub publikację, i zapobiec zduplikowaniu tego samego użytkownika w różnych witrynach. Następnie możesz użyć interfejsu Private Aggregation API, aby wygenerować raport podsumowujący dla Twojego zasięgu.
- Pomiar danych demograficznych: twórcy treści często chcą poznać dane demograficzne swoich odbiorców. Możesz wykorzystać pamięć współdzieloną, aby rejestrować dane demograficzne użytkowników w kontekście, w jakim są dostępne (np. w Twojej własnej witrynie), a potem generować raporty na ich temat obejmujące wiele innych witryn, na przykład treści umieszczone na innej stronie.
- Pomiar częstotliwości K+: czasami określany jako „efektywna częstotliwość” występuje często minimalna liczba wyświetleń, zanim użytkownik rozpozna lub zapamięta określone treści (często w kontekście wyświetleń reklamy). Możesz wykorzystać pamięć współdzieloną, aby tworzyć raporty o unikalnych użytkownikach, którzy widzieli treść co najmniej tyle razy.
Angażuj i dziel się opiniami
Oferta pamięci współdzielonej jest obecnie przedmiotem dyskusji i w przyszłości może ulec zmianie. Jeśli wypróbowujesz ten interfejs API i chcesz podzielić się opinią, chętnie poznamy Twoją opinię.
- GitHub przeczytaj ofertę, zadawaj pytania i bierz udział w dyskusji.
- Powiadomienia dotyczące interfejsu Shared Storage API: dołącz do naszej listy adresowej lub sprawdź wcześniejsze ogłoszenia.
- Pomoc dla deweloperów: zadawaj pytania i bierz udział w dyskusjach w repozytorium pomocy dla deweloperów Piaskownicy prywatności.