Lorsqu'une mise aux enchères Protected Audience renvoie une annonce candidate, elle peut être
renvoyée sous la forme d'un URN opaque, utilisé pour afficher une annonce dans un iframe
, ou un
FencedFrameConfig
, qui permet d'afficher l'annonce dans un cadre cloisonné.
Ce guide explique ce qu'est un cadre cloisonné et pourquoi il est nécessaire, ainsi que comment afficher une annonce à l'aide de l'une ou l'autre méthode. Pour en savoir plus sur l'utilisation cadres, vous trouverez plus d'informations dans ce guide ou dans la proposition.
Que sont les cadres cloisonnés ?
Un cadre cloisonné (<fencedframe>
) est un élément HTML destiné à du contenu intégré.
semblable à iframe
. Contrairement aux iframe
, une trame cloisonnée restreint la communication.
avec son contexte d'intégration pour permettre à la trame d'accéder à des données intersites
en le partageant dans le contexte de la représentation vectorielle continue. De même, toutes les données first party
le contexte de représentation vectorielle continue ne peut pas être partagé avec le frame cloisonné.
Par exemple, supposons que news.example
(le contexte d'intégration) intègre une annonce depuis
shoes.example
dans un cadre clôturé. news.example
ne peut pas exfiltrer de données depuis
l'annonce shoes.example
, et shoes.example
ne peut pas apprendre les données first party à partir des
news.example
Comment fonctionnent les cadres cloisonnés ?
Les cadres cloisonnés utilisent l'objet FencedFrameConfig
pour la navigation. Cet objet peut
être renvoyées par une mise aux enchères Protected Audience. Ensuite, l'objet de configuration est défini
L'attribut config
sur l'élément de cadre cloisonné. Cela diffère d'un iframe
où une URL ou un URN opaque est attribué à l'attribut src
. La
L'objet FencedFrameConfig
possède une propriété url
en lecture seule. Toutefois, étant donné que
les cas d'utilisation actuels nécessitent que l'URL réelle de la ressource interne soit masquée,
cette propriété renvoie la chaîne opaque lorsqu'elle est lue.
Une trame cloisonnée ne peut pas utiliser postMessage
pour communiquer avec son intégrateur.
Toutefois, un cadre cloisonné peut utiliser postMessage
avec des iframe
à l'intérieur de
cadre cloisonné.
Les cadres cloisonnés seront isolés de l'éditeur d'autres manières. L'éditeur
n'aura pas accès au DOM à l'intérieur d'un cadre cloisonné, et au cadre cloisonné
ne peut pas accéder au DOM de l'éditeur. De plus, des attributs tels que name
, qui peuvent
définies sur n'importe quelle valeur et observée par l'éditeur, ne sont pas disponibles dans
cadres.
Les cadres cloisonnés se comportent comme un contexte de navigation de premier niveau (comme un navigateur
. Bien qu'un frame cloisonné dans certains cas d'utilisation (comme opaque-ads
)
peut contenir des données intersites (comme un groupe de centres d'intérêt de l'API Protected Audience),
la trame ne peut pas accéder
au stockage non partitionné ou aux cookies. Un opaque-ads
clôturé
peut accéder à une partition de stockage et de cookie unique basée sur des nonce.
Les caractéristiques des cadres cloisonnés sont détaillées dans l'explication.
Afficher une annonce dans un cadre cloisonné
Un FencedFrameConfig
est renvoyé par une mise aux enchères Protected Audience, à condition que
que le paramètre resolveToConfig
de AuctionConfig
a été défini sur "true" :
const frameConfig = await navigator.runAdAuction({
// ...auction configuration
resolveToConfig: true
});
Une fois la configuration obtenue, vous pouvez l'attribuer au config
d'un frame cloisonné.
pour naviguer dans le frame jusqu'à la ressource représentée par la configuration.
Les versions antérieures de Chrome ne sont pas compatibles avec la propriété resolveToConfig
. Vous devez donc
doit quand même confirmer que la promesse a été résolue en FencedFrameConfig
avant
navigation:
if (window.FencedFrameConfig && frameConfig instanceof FencedFrameConfig) {
const frame = document.createElement('fencedframe');
frame.config = frameConfig;
}
Afficher une annonce dans un iFrame
Si AuctionConfig
ne définit pas explicitement resolveToConfig
ou s'il est défini
sur "false", runAdAuction()
renvoie un URN opaque. Cette URN peut être définie en tant que
src
de iframe
pour afficher l'annonce.