Quando un'asta Protected Audience restituisce un candidato di annuncio, può essere
restituito come URN opaco, utilizzato per eseguire il rendering di un annuncio in un iframe
, oppure
FencedFrameConfig
utilizzato per eseguire il rendering dell'annuncio in un frame recintato.
Questa guida spiega che cos'è un frame recintato e perché è necessario. come eseguire il rendering di un annuncio con uno dei due metodi. Per un'analisi più approfondita della recinzione, puoi trovare ulteriori informazioni in questa guida o nella proposta.
Cosa sono i frame recintati?
Un frame recintato (<fencedframe>
) è un elemento HTML per contenuti incorporati,
simile a iframe
. A differenza degli elementi iframe
, un frame recintato limita la comunicazione
con il suo contesto di incorporamento per consentire al frame di accedere ai dati cross-site senza
condividendolo con il contesto di incorporamento. Allo stesso modo, tutti i dati proprietari presenti
il contesto di incorporamento non può essere condiviso con il frame recintato.
Ad esempio, supponiamo che news.example
(il contesto di incorporamento) incorpora un annuncio da
shoes.example
in un frame recintato. news.example
non può esfiltrare i dati da
l'annuncio shoes.example
e shoes.example
non può apprendere i dati proprietari
news.example
.
Come funzionano i frame recintati?
I frame bloccati utilizzano l'oggetto FencedFrameConfig
per la navigazione. Questo oggetto può
da un'asta Protected Audience. Quindi, l'oggetto config viene impostato
Attributo config
sull'elemento frame recintato. È diverso da un iframe
dove un URL o un URN opaco è assegnato all'attributo src
. La
L'oggetto FencedFrameConfig
ha una proprietà url
di sola lettura; tuttavia, poiché
casi d'uso attuali richiedono che l'URL effettivo della risorsa interna sia nascosto,
questa proprietà restituisce la stringa opaca quando viene letta.
Un frame recintato non può utilizzare postMessage
per comunicare con l'incorporatore.
Tuttavia, un frame recintato può usare postMessage
con iframe
all'interno dell'elemento
un frame recintato.
I frame protetti verranno isolati dal publisher in altri modi. Il publisher
non avranno accesso al DOM all'interno di un frame recintato,
non possono accedere al DOM del publisher. Inoltre, attributi come name
, che possono
essere impostati su qualsiasi valore e osservato dal publisher, non sono disponibili in recinzioni
i frame.
I frame recintati si comportano come un contesto di navigazione di primo livello (come un browser
). Sebbene sia un frame recintato in alcuni casi d'uso (ad esempio opaque-ads
)
possono contenere dati cross-site (ad esempio un gruppo basato sugli interessi dell'API Protected Audience),
il frame non può accedere allo spazio di archiviazione non partizionato o ai cookie. opaque-ads
recintato
un frame può accedere a una partizione di archiviazione e cookie univoci nonce.
Le caratteristiche dei frame recintati sono descritte in dettaglio nella spiegazione.
Visualizzare un annuncio in un frame protetto
Viene restituito un FencedFrameConfig
da un'asta Protected Audience, a condizione
che il parametro resolveToConfig
di AuctionConfig
sia stato impostato su true:
const frameConfig = await navigator.runAdAuction({
// ...auction configuration
resolveToConfig: true
});
Una volta ottenuta la configurazione, puoi assegnarla all'elemento config
di un frame recintato
per indirizzare il frame alla risorsa rappresentata dalla configurazione.
Le versioni precedenti di Chrome non supportano la proprietà resolveToConfig
, quindi puoi
deve comunque confermare che la promessa è stata risolta a FencedFrameConfig
prima
navigazione:
if (window.FencedFrameConfig && frameConfig instanceof FencedFrameConfig) {
const frame = document.createElement('fencedframe');
frame.config = frameConfig;
}
Visualizzare un annuncio in un iframe
Se AuctionConfig
non imposta esplicitamente resolveToConfig
o se è impostato
a false, runAdAuction()
restituisce un URN opaco. Questo URN può essere impostato come
src
di iframe
per eseguire il rendering dell'annuncio.