Bir reklam alıcısı (TTP'ler ve reklamverenler) olarak, bir reklamı reklamverenin sitesinde tanımladığınız ilgi alanı grubuna hedeflemek için yayıncı sitesinde Protected Audience reklam açık artırmasına katılmak isteyebilirsiniz. Protected Audience açık artırmasına katılarak tanımlanmış müşterilerinize diğer sitelerde gizliliği koruyacak şekilde ulaşabilirsiniz.
Protected Audience açık artırmasında, teklifin oluşturulması için gereken mantığı sağlarsınız ve tarayıcı bu mantığı kullanarak teklifi hesaplar. Bu, teklifi mantığı sağlamak yerine doğrudan gönderdiğiniz diğer açık artırma mimarilerinin aksinedir.
Teklif oluşturma mantığınızı generateBid()
JavaScript işlevinde sağlarsınız ve dosya sunucunuzda barındırılır. Bir ilgi alanı grubuna kullanıcı eklediğinizde, bu dosyanın konumu ilgi alanı grubu yapılandırmasına biddingLogicUrl
olarak aktarılır.
Açık artırma sırasında tarayıcı, biddingLogicUrl
alanında belirtilen teklif verme mantığınızı getirir ve her ilgi alanı grubu için generateBid()
işlevinizi, dış bağlamla iletişimi sınırlı olan güvenli izole bir ortamda yürütür. generateBid()
yürütüldüğünde tarayıcı, sinyalleri bağımsız değişken olarak işleve aktarır. Bu sinyaller; yayıncının birinci taraf verileri, satıcı verileri ve gerçek zamanlı veriler gibi farklı kaynaklardan gelen çeşitli bilgileri içerir. Teklifi hesaplamak için bu sinyalleri kullanabilirsiniz. Değer, generateBid()
çağrısından döndürülür. Teklifler gönderildikten sonra, tarayıcı satıcının istenirlik puanını hesaplamak için her teklifte satıcının puanlama mantığını yürütür.
generateBid()
Aşağıda, generateBid()
işlevinin bağımsız değişkenleri ve işlevden döndürülen teklifin yapısı açıklanmaktadır:
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals, directFromSellerSignals) {
return {
ad: adObject,
adCost: optionalAdCost,
bid: bidValue,
bidCurrency: 'USD',
render: {
url: renderURL,
width: renderWidth,
height: renderHeight
},
adComponents: [
{url: adComponent1, width: componentWidth1, height: componentHeight1},
{url: adComponent2, width: componentWidth2, height: componentHeight2},
// ...
],
allowComponentAuction: false,
modelingSignals: 123 // 0-4095 integer (12-bits)
};
}
Bağımsız değişkenler
generateBid()
, şu bağımsız değişkenleri alır:
Argüman | Rol |
---|---|
|
Reklam alıcısı tarafından geçirilen bir nesne. İlgi alanı grubu dailyUpdateUrl ile güncellenebilir. |
|
Satıcı tarafından navigator.runAdAuction() hizmetine iletilen açık artırma yapılandırması bağımsız değişkeninin özelliği. Bu, sayfa bağlamı (reklam boyutu ve yayıncı kimliği gibi), açık artırma türü (ilk fiyat veya ikinci fiyat) ve diğer meta veriler hakkında bilgi sağlar. |
|
Satıcı tarafından iletilen açık artırma yapılandırması bağımsız değişkeninin bir özelliği. Satıcı, alıcı sunucularına gerçek zamanlı teklif çağrısı gerçekleştiren ve yanıtı geri ileten bir SSP ise ya da yayıncı sayfası doğrudan alıcının sunucusuyla iletişim kuruyorsa, bu işlem alıcının sunucusundan sayfayla ilgili içerik sinyalleri sağlayabilir. Bu durumda alıcı, değişikliklere karşı koruma olarak generateBid() içindeki bu sinyallerin kriptografik imzasını kontrol etmek isteyebilir. |
|
Anahtarları ilgi alanı grubu için trustedBiddingSignalsKeys olan ve değerleri, trustedBiddingSignals isteğinde döndürülen bir nesne. |
|
Tarayıcı tarafından oluşturulmuş bir nesne. Bu nesne, sayfa bağlamı hakkında bilgiler (satıcının başka bir şekilde taklit edebileceği geçerli sayfanın hostname bölümü gibi) ve ilgi alanı grubunun kendisine ait verileri (ör. cihaz üzerinde sıklık sınırına izin vermek için grubun daha önce açık artırmayı ne zaman kazandığının kaydı) içerebilir. |
|
runAdAuction kapsamındaki her katılımcıdan gelebilecek auctionSignals ve sellerSignals öğelerinin aksine, belirli bir satıcıdan gelmesi garanti edilen sinyaller. |
Tarayıcı sinyalleri
browserSignals
nesnesi aşağıdaki özelliklere sahiptir:
{
topWindowHostname: 'publisher.example',
seller: 'https://ssp.example',
topLevelSeller: 'https://www.top-level-ssp.com',
requestedSize: {width: 100, height: 200}, /* if specified in auction config */
joinCount: 3,
recency: 3600000,
bidCount: 17,
prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
wasmHelper: ...
dataVersion: 1,
adComponentsLimit: 40
}
Özellik | Açıklama |
---|---|
|
runAdAuction() aramasının yapıldığı ana makinenin adı. |
|
Teklifin gönderildiği satıcı. Bir bileşen açık artırmasında bu değer, bileşen satıcısıdır. |
|
Bileşen açık artırmasında üst düzey satıcıdır ve yalnızca bileşen açık artırmasında yer alır. |
|
requestedSize özelliği, açık artırma için bir çerçeve boyutu önerir. İstenen boyutu, açık artırma yapılandırmasında satıcı belirler. Bu da değer, generateBid() içindeki teklif verenler tarafından kullanılabilir hale gelir. Açık artırmadaki teklif verenler, reklam için farklı bir içerik boyutu seçebilir. Bu boyut, öğenin kapsayıcı boyutuna sığacak şekilde görsel olarak ölçeklendirilir. |
|
joinCount alanı, ilgi alanı grubunun sürekli olarak depolandığı süre zarfında bu cihazın, son 30 gün içinde bu ilgi alanı grubuna katılma sayısıdır (diğer bir deyişle, ayrılması veya üyeliğin sona ermesi nedeniyle cihazdaki ilgi alanı grubunun depolama alanında boşluk olmaması). |
|
recency alanı, bu cihazın bu ilgi alanı grubuna katıldığı andan şimdiye kadar geçen süredir (dakika cinsinden) |
|
Bu ilgi alanı grubunun teklif gönderme sayısı. |
|
prevWinMs alanında, ilgi alanı grubunun kazanan reklamları ve önceki kazanmalarından bu yana geçen süre (milisaniye cinsinden) yer alır. Buradaki reklam nesnesinin yalnızca renderURL ve meta veri alanlarını içerdiğini unutmayın. |
|
İlgi alanı grubunun biddingWasmHelperURL öğesine dayalı bir WebAssembly.Module nesnesi. |
|
Alıcının Anahtar/Değer hizmeti yanıtlarındaki Veri Sürümü değeri. |
|
generateBid() ürününün döndürebileceği maksimum reklam bileşeni sayısı |
Teklif hesaplama
generateBid()
içindeki kod, bir teklif değerini hesaplamak için işlev parametrelerinin özelliklerini kullanabilir.
Örneğin:
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
Teklif döndürme
generateBid()
, aşağıdaki özelliklere sahip bir nesneyi döndürür:
Özellik | Rol |
---|---|
ad |
Reklamla ilgili rastgele meta veriler (ör. satıcının bu teklif veya reklam öğesi hakkında öğrenmeyi beklediği bilgiler). Satıcı, bu bilgileri açık artırma ve karar mantığında kullanır. |
adCost |
Raporlanan reklamveren tıklama veya dönüşüm maliyetini generateBid'dan reportWin'e geçirmek için kullanılan sayısal değer. Bu sayının hassasiyeti 8 bitlik mantis ve 8 bitlik üs ile sınırlıdır. Yuvarlama sürek olarak gerçekleştirilir. |
adComponents |
Birden çok parçadan oluşan reklamlar için en fazla 20 bileşen içeren isteğe bağlı bir liste. Bu liste, navigator.joinAdInterestGroup() öğesine iletilen ilgi alanı grubu bağımsız değişkeninin adComponents özelliğinden alınır. |
allowComponentAuction |
Bu teklifin, bileşen açık artırmasında kullanılıp kullanılamayacağını gösteren boole değeridir. Varsayılan olarak "false" (yanlış) değerine ayarlanır belirtilmezse. |
bid |
Açık artırmaya sokacak sayısal bir teklif. Satıcı, farklı alıcıların tekliflerini karşılaştırabilecek bir konumda olmalıdır. Bu nedenle, teklifler satıcı tarafından seçilen bir birimde (ör. "Bin başına ABD doları") olmalıdır. Teklif sıfır veya negatif ise, bu ilgi alanı grubu satıcının açık artırmasına hiç katılmaz. Bu mekanizma sayesinde alıcı, reklamlarının görüntülenip görünmeyeceğini belirleyen reklamveren kurallarını uygulayabilir. |
bidCurrency |
Teklif için currency-checking için kullanılan para birimi. |
render |
Bu teklifin açık artırmayı kazanması durumunda oluşturulması gereken reklam öğesini açıklayan sözlük. Bunlardan bazıları:
|
|
Gürültü oluşturma ve paketleme şemasında açıklandığı gibi, gürültüyle birlikte reportWin() hizmetine 0-4095 tam sayı (12 bit) iletilir. Negatif, sonsuz ve NaN değerleri gibi geçersiz değerler yok sayılır ve aktarılmaz. Yalnızca en düşük 12 bit aktarılır. . . Alıcı, makine öğrenimi modeli eğitimini mümkün kılmak için generateBid() işlevinde bulunan sinyalleri (userBiddingSignals tarihinde ilgi alanı grubunun oluşturulma zamanında elde edilen birinci taraf alıcı verileri dahil) kullanarak alıcının kazanma raporu işlevine aktarılan bir değeri elde edebilir. |