Reklam oluşturma

Protected Audience açık artırması bir reklam adayı döndürdüğünde bu aday, iframe içinde bir reklam oluşturmak için kullanılan opak bir URN olarak veya reklamı sınırlı çerçevede oluşturmak için kullanılan bir FencedFrameConfig olarak döndürülebilir.

Bu kılavuzda, sınırlı çerçevelerin ne olduğu ve neden gerekli olduğu ile her iki yöntemi kullanarak reklamın nasıl oluşturulacağı açıklanmaktadır. Sınırlı çerçeveler hakkında daha ayrıntılı bilgi için bu kılavuzu veya öneriyi inceleyin.

Sınırlı çerçeveler nedir?

Sınırlı çerçeve (<fencedframe>), yerleştirilmiş içerik için kullanılan bir HTML öğesidir ve iframe öğesine benzer. iframe'den farklı olarak, sınırlı çerçeve, çerçeveye farklı sitelerden gelen verilere erişme izni vermek için yerleştirme bağlamıyla iletişimi kısıtlar. Bu sayede, veriler yerleştirme bağlamıyla paylaşılmaz. Benzer şekilde, yerleştirme bağlamındaki birinci taraf verileri de sınırlı çerçeveyle paylaşılamaz.

Örneğin, news.example (yerleştirme bağlamı), shoes.example'nin bir reklamını sınırlı çerçeveye yerleştiriyor. news.example, shoes.example reklamından veri sızdıramaz ve shoes.example, news.example reklamından birinci taraf verileri öğrenemez.

Sınırlı çerçevelerin işleyiş şekli

Sınırlı çerçeveler, gezinme için FencedFrameConfig nesnesini kullanır. Bu nesne, Protected Audience açık artırmasından döndürülebilir. Ardından, yapılandırma nesnesi, sınırlı çerçeve öğesindeki config özelliği olarak ayarlanır. Bu, iframe özelliğine bir URL veya opak URN'nin atandığısrc durumdan farklıdır. FencedFrameConfig nesnesinin salt okunur url özelliği vardır. Ancak mevcut kullanım alanları, dahili kaynağın gerçek URL'sinin gizlenmesini gerektirdiğinden bu özellik okunduğunda opak dizesini döndürür.

Bir fenced frame, yerleştiricisiyle iletişim kurmak için postMessage kullanamaz. Ancak, sınırlı çerçeve, sınırlı çerçeve içindeki iframe'ler ile postMessage kullanabilir.

Sınırlı kapsamlı çerçeveler, yayıncıdan başka şekillerde de yalıtılır. Yayıncı, sınırlı çerçeve içindeki DOM'a erişemez ve sınırlı çerçeve, yayıncının DOM'una erişemez. Ayrıca, yayıncı tarafından herhangi bir değere ayarlanabilen ve gözlemlenebilen name gibi özellikler, sınırlı çerçevelerde kullanılamaz.

Sınırlı çerçeveler, üst düzey gezinme bağlamı (ör. tarayıcı sekmesi) gibi davranır. Belirli kullanım alanlarında (ör. opaque-ads) bir fenced frame siteler arası veriler (ör. Protected Audience API ilgi alanı grubu) içerebilse de çerçeve, bölümlenmemiş depolama alanına veya çerezlere erişemez. Bir opaque-ads fenced frame, benzersiz, nonce tabanlı bir çereze ve depolama bölümüne erişebilir.

Fenced frame'lerin özellikleri açıklayıcı belgede daha ayrıntılı olarak açıklanmıştır.

Reklamı sınırlı bir çerçevede oluşturma

FencedFrameConfig AuctionConfig'nin resolveToConfig parametresi doğru olarak ayarlanmışsa Protected Audience açık artırmasından döndürülür:

const frameConfig = await navigator.runAdAuction({
  // ...auction configuration
  resolveToConfig: true
});

Yapılandırmayı aldıktan sonra, çerçeveyi yapılandırmayla temsil edilen kaynağa yönlendirmek için bunu sınırlı bir çerçevenin config özelliğine atayabilirsiniz. Chrome'un önceki sürümleri resolveToConfig özelliğini desteklemediğinden gezinmeden önce sözün FencedFrameConfig olarak çözümlendiğini onaylamanız gerekir:

if (window.FencedFrameConfig && frameConfig instanceof FencedFrameConfig) {
  const frame = document.createElement('fencedframe');
  frame.config = frameConfig;
}

Bir reklamı iframe'de oluşturma

AuctionConfig, resolveToConfig değerini açıkça ayarlamazsa veya yanlış olarak ayarlanırsa runAdAuction() opak bir URN döndürür. Bu URN, reklamın oluşturulması için iframe'nın src olarak ayarlanabilir.