Tek satıcıyla tarayıcı tabanlı açık artırma yapma

Bu belgede, Protected Audience API'nin mevcut iterasyonunda kullanılan tek bir satıcı için Protected Audience verileriyle açık artırma yapmayla ilgili genel bir bakış bulabilirsiniz. Tek satıcılı bir açık artırma, birden fazla satıcının yer aldığı daha karmaşık bir açık artırmanın parçası olarak yürütülebilir. Bu durumda, tek satıcılı açık artırmaya "bileşen açık artırması" denir. Bu açık artırma, birden fazla satıcının katıldığı "üst düzey açık artırmaya" reklam adaylarını sağlayabilir.

Protected Audience API'nin yaşam döngüsünün tamamı için geliştirici kılavuzunu okuyun ve satıcıların cihaz üzerinde açık artırmaları nasıl çalıştırdığıyla ilgili ayrıntılı bir tartışma için Protected Audience API açıklamalı makalesine bakın.

Protected Audience API reklam açık artırmasının altı aşaması

Protected Audience API reklam açık artırmasının altı aşaması
Bu şemada, Protected Audience API reklam açık artırmasının her aşaması özetlenmiştir.
  1. Bir kullanıcı reklam gösteren bir siteyi ziyaret eder.
  2. Satıcının kodu navigator.runAdAuction()'ü yürütür. Bu, hangi reklam alanının satışta olduğunu ve kimlerin teklif verebileceğini belirtir. Satıcılar, her teklife puan veren bir komut dosyası (scoreAd()) da eklemelidir.
  3. Davet edilen alıcının kodu, teklif, alakalı bir reklam öğesi için URL ve diğer verileri oluşturmak üzere yürütülür. Teklif verme komut dosyası, alıcının anahtar/değer hizmetinden kalan reklam kampanyası bütçesi gibi gerçek zamanlı verileri sorgulayabilir.
  4. Satıcının kodu her teklife puan verir ve bir kazanan seçer. Bu mantık, teklif değerini ve teklifin arzu edilirliğini döndüren diğer verileri kullanır. Bağlama dayalı kazananı geçemeyen reklamlar reddedilir. Satıcı, gerçek zamanlı veriler için kendi anahtar/değer hizmetini kullanabilir.
  5. Kazanan reklam, çitli çerçeve içinde gösterilen opak bir değer olarak döndürülür. Hem satıcı hem de yayıncı bu değeri görüntüleyemez.
  6. Açık artırma, satıcıya ve kazanan alıcılara bildirilir.

Bir kullanıcı reklamın gösterildiği bir sayfaya gittiğinde açık artırma gerçekleşebilir. Reklam öğesi, reklam alanı görüntülendiğinde hazır olması için açık artırmalar önceden çalıştırılabilir.

Satıcılar reklam açık artırmasını başlatır, scoreAd() işlevi olarak sağlanan özel mantığı kullanarak aday reklamları puanlar ve açık artırma sonuçlarını hem kendilerine hem de kazanan alıcıya bildirmekten sorumludur. Satıcılar, scoreAd() işlevini kullanarak yayıncı kurallarını da uygulayabilir ve reklam kalitesine göre filtreleme yapabilir.

Satıcılar şunları referans alabilir:

  • Web sitesinde reklam içeriği barındırmak için kendi adına hareket eden içerik yayıncıları
  • Reklam yayıncısıyla çalışan ve diğer hizmetleri sağlayan arz tarafı platformları (STP'ler)
  • Yayıncıların reklam açık artırmalarına katılmasını sağlamak için yayıncı adına hareket eden üçüncü taraf komut dosyaları.

Açık artırma düzenlemek için ön koşullar

Satıcının açık artırma çalıştırması için tanımlanmış iki JavaScript işlevine ihtiyacı vardır:

  • scoreAd(), reklam adayını puanlar
  • reportResult(), açık artırmanın sonucunu satıcıya bildirme işlemini yürütür.

Bu komut dosyalarının, satıcının sahip olduğu tek bir uç noktadan sunulması gerekir.

scoreAd()

Satıcının, sahip olduğu bir uç noktadan sunulan bir scoreAd() işlevi tanımlaması gerekir. Uç nokta, açık artırma yapılandırmasında decisionLogicUrl olarak belirtilir. scoreAd() işlevinin imzası aşağıdaki gibidir:

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

scoreAd() parametreleri şunlardır:

  • adMetaData, müşteri tarafından sağlanan reklam öğesiyle ilgili keyfi meta verilerdir. Bu, satıcıların ve alıcıların yapıyı tanımlayıp üzerinde anlaşmaları gereken, serileştirilebilir bir JSON nesnesidir.
  • Teklifi temsil eden sayısal bir değer olan bid.
  • auctionConfig, açık artırmayı yürütmek için kullanılan açık artırma yapılandırmasıdır.
  • trustedScoringSignals, açık artırma sırasında satıcının anahtar/değer sunucusundan okunan sinyallerdir. Platform, bu arama için anahtar olarak aday reklamın renderUrl değerini kullanır.
  • browserSignals, tarayıcı tarafından oluşturulan bir nesnedir. Tarayıcı tarafından bilinen ve satıcının açık artırma komut dosyasının doğrulamak isteyebileceği bilgiler bu nesnede yer alır.
  • directFromSellerSignals, aşağıdaki alanları içerebilen bir nesnedir: ** sellerSignals: auctionConfig.sellerSignals gibidir ancak directFromSellerSignals mekanizması kullanılarak iletilir. ** auctionSignals: auctionConfig.auctionSignals gibidir ancak directFromSellerSignals mekanizması kullanılarak iletilir.

Aşağıda browserSignals örneği verilmiştir. Aday reklamın renderUrl değerinin şu sinyaller aracılığıyla kullanılabileceğini unutmayın:

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

Satıcının, sahip olduğu bir uç noktadan sunulan bir reportResult() işlevi tanımlaması gerekir. Uç nokta, açık artırma yapılandırmasında decisionLogicUrl olarak belirtilir. reportResult() işlevinin imzası aşağıdaki gibidir:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

reportResult() parametreleri şunlardır:

  • auctionConfig, açık artırmayı yürütmek için kullanılan açık artırma yapılandırmasıdır.
  • browserSignals, tarayıcı tarafından oluşturulan bir nesnedir. Tarayıcı tarafından bilinen ve satıcının açık artırma komut dosyasının doğrulamak isteyebileceği bilgiler bu nesnede yer alır. Bu, scoreAds() işlevine iletilen nesneyle aynıdır.

reportResult(), kazanan alıcının raporlama işlevine iletilen rastgele bir JSON nesnesi olan signalsForWinner değerini döndürür. Bu, satıcının açık artırma hakkında sağlayabileceği ve alıcının raporlama için ihtiyaç duyduğu tüm alakalı bilgileri içermelidir.

Protected Audience API açık artırması çalıştırma

Satıcının açık artırma yapmak için uygulaması gereken dört ana adım vardır. Bu adımların, satıcının daha önce bu kılavuzda belirtilen gerekli JavaScript'i döndürmek için ayarlanmış bir uç noktasına sahip olduğunu varsaydığını unutmayın.

  1. Açık artırmayı yapılandırın. Bu adımda bir auctionConfig nesnesi oluşturulur. Bu sayede satıcı, açık artırmaya hangi alıcıların katılması gerektiğini belirtebilir ve teklif oluşturma veya reklam puanlama sırasında alakalı olabilecek tüm sinyalleri sağlayabilir.
  2. Önceki adımda oluşturulan yapılandırmayı ileterek navigator.runAdAuction() işlevini çağırarak açık artırmayı yürütün. Bu işlem, teklif oluşturma ve ardından puanlama yapan alıcı zincirini başlatır. Bu adımın nihai sonucu, reklam göstermek için oluşturulabilen bir reklam adayıdır.
  3. Kazanan reklamı, korumalı bir çerçevede veya iFrame'de oluşturun.
  4. Açık artırmanın sonucunu raporlayın. Raporlamayı başlatan navigator.sendReportTo() işlevi vardır. Satıcı, açık artırma sonuçlarını içeren bir rapor alır. Yalnızca açık artırmayı kazanan alıcı rapor alır. Bu işlemde, satıcının sunucusuna rapor göndermek için bu kılavuzda daha önce açıklanan reportResult() kullanılır.