به عنوان یک خریدار تبلیغات (DSP ها و تبلیغ کنندگان)، ممکن است علاقه مند به شرکت در یک حراج تبلیغات مخاطب محافظت شده در سایت ناشر باشید تا یک تبلیغ را به گروه مورد علاقه ای که در سایت تبلیغ کننده تعریف کرده اید هدف قرار دهید. با شرکت در حراج مخاطبان محافظت شده، می توانید با حفظ حریم خصوصی به مشتریان شناسایی شده خود در سایت های دیگر دسترسی پیدا کنید.
در حراج مخاطب محافظت شده، شما منطقی را برای تولید پیشنهاد ارائه میدهید و مرورگر با استفاده از آن منطق، قیمت پیشنهادی را محاسبه میکند. این برخلاف دیگر معماریهای حراج است که در آن شما پیشنهاد را مستقیماً به جای ارائه منطق ارائه میکنید.
شما منطق تولید پیشنهاد خود را در generateBid()
جاوا اسکریپت عرضه می کنید و فایل بر روی سرور شما میزبانی می شود. هنگامی که کاربر را به یک گروه علاقه اضافه می کنید ، مکان این فایل به عنوان biddingLogicUrl
به پیکربندی گروه علاقه ارسال می شود.
در طول حراج، مرورگر منطق پیشنهادی شما را که در فیلد biddingLogicUrl
مشخص شده است، واکشی می کند و تابع generateBid()
شما را برای هر گروه ذینفع در یک محیط ایزوله ایمن که در ارتباط با زمینه بیرونی محدود است، اجرا می کند. هنگامی که generateBid()
اجرا می شود، مرورگر سیگنال هایی را به عنوان آرگومان به تابع ارسال می کند. این سیگنالها حاوی اطلاعات مختلفی از منابع مختلف هستند، مانند دادههای شخص اول ناشر، دادههای فروشنده، دادههای زمان واقعی و غیره. می توانید از این سیگنال ها برای محاسبه bid استفاده کنید و مقدار از فراخوانی generateBid()
برگردانده می شود. پس از ارسال پیشنهادها، مرورگر منطق امتیازدهی فروشنده را در هر پیشنهاد برای محاسبه امتیاز مطلوبیت فروشنده اجرا می کند.
generateBid()
در زیر آرگومان های تابع generateBid()
و ساختار bid برگردانده شده از تابع را توضیح می دهد:
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)
};
}
استدلال ها
generateBid()
آرگومان های زیر را می گیرد:
استدلال | نقش |
---|---|
| شیئی که توسط خریدار آگهی به آن ارسال شده است. ممکن است گروه علاقه مند با dailyUpdateUrl به روز شود. |
| یک ویژگی آرگومان پیکربندی مزایده توسط فروشنده به navigator.runAdAuction() ارسال شده است. این اطلاعات در مورد زمینه صفحه (مانند اندازه آگهی و شناسه ناشر)، نوع حراج (قیمت اول یا قیمت دوم) و سایر ابرداده ها ارائه می کند. |
| ویژگی آرگومان پیکربندی حراج که توسط فروشنده ارسال می شود. این میتواند سیگنالهای متنی را از سرور خریدار در مورد صفحه ارائه دهد، اگر فروشنده یک SSP باشد که یک تماس پیشنهادی بیدرنگ با سرورهای خریدار انجام میدهد و پاسخ را ارسال میکند، یا اگر صفحه ناشر مستقیماً با سرور خریدار تماس بگیرد. اگر چنین است، خریدار ممکن است بخواهد یک امضای رمزنگاری از آن سیگنالها را در داخل generateBid() به عنوان محافظت در برابر دستکاری بررسی کند. |
| شیئی که کلیدهای آن trustedBiddingSignalsKeys برای گروه علاقه مند هستند و مقادیر آن در درخواست trustedBiddingSignals برگردانده می شوند. |
| یک شی ساخته شده توسط مرورگر، که ممکن است شامل اطلاعاتی در مورد زمینه صفحه (مانند hostname صفحه فعلی، که فروشنده در غیر این صورت می تواند جعل کند) و داده هایی برای خود گروه علاقه مند (مانند سابقه زمانی که گروه قبلاً برنده شده است) باشد. حراج، اجازه می دهد تا محدودیت فرکانس در دستگاه). |
| سیگنالهایی که تضمین میشوند از یک فروشنده خاص میآیند، برخلاف auctionSignals و sellerSignals که میتوانند از هر شرکتکنندهای که در زمینه محل اجرای runAdAuction حضور دارد، بیاید. |
سیگنال های مرورگر
شی browserSignals
دارای ویژگی های زیر است:
{
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
}
اموال | توضیحات |
---|---|
| نام میزبان جایی که فراخوانی runAdAuction() انجام شده است. |
| فروشنده ای که پیشنهاد به آن تسلیم می شود. در حراج قطعات، این مقدار فروشنده جزء است. |
| فروشنده سطح بالا در یک حراج قطعات، و فقط در یک حراج قطعات حضور دارد. |
| ویژگی requestedSize اندازه فریم را برای حراج توصیه می کند. فروشنده اندازه درخواستی را در پیکربندی حراج تنظیم میکند و مقدار در generateBid() در دسترس پیشنهاد دهندگان قرار میگیرد. پیشنهاد دهندگان داخل حراج ممکن است اندازه محتوای متفاوتی را برای آگهی انتخاب کنند و آن اندازه بهدستآمده به صورت بصری برای قرار گرفتن در اندازه ظرف عنصر تغییر میکند. |
| فیلد joinCount تعداد دفعاتی است که این دستگاه در 30 روز گذشته به این گروه علاقه ملحق شده است، در حالی که گروه علاقه به طور مداوم ذخیره شده است (یعنی هیچ شکافی در ذخیره سازی گروه علاقه مندی در دستگاه به دلیل خروج یا خروج وجود ندارد. منقضی شدن عضویت). |
| قسمت recency مدت زمان (بر حسب دقیقه) از زمانی است که این دستگاه به این گروه علاقه مند پیوسته است |
| تعداد دفعاتی که آن گروه ذینفع پیشنهادی را ارائه کرده است. |
| فیلد prevWinMs حاوی تبلیغات برنده گروه مورد علاقه و زمان پس از پیروزی قبلی آنها بر حسب میلی ثانیه است. توجه داشته باشید که شیء تبلیغ در اینجا فقط حاوی فیلدهای renderURL و ابرداده است. |
| یک شی WebAssembly.Module بر اساس biddingWasmHelperURL گروه ذینفع. |
| مقدار داده-نسخه از پاسخ(های) خدمات کلید/مقدار خریدار. |
| حداکثر تعداد مؤلفههای آگهی generateBid() ممکن است برگردد |
یک پیشنهاد را محاسبه کنید
برای محاسبه مقدار bid، کد موجود در generateBid()
می تواند از ویژگی های پارامترهای تابع استفاده کند.
به عنوان مثال:
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
پیشنهادی را برگردانید
generateBid()
یک شی با ویژگی های زیر برمی گرداند:
اموال | نقش |
---|---|
ad | فراداده های خودسرانه درباره آگهی، مانند اطلاعاتی که فروشنده انتظار دارد درباره این پیشنهاد یا آگهی خلاقانه یاد بگیرد. فروشنده از این اطلاعات در منطق حراج و تصمیم گیری خود استفاده می کند. |
adCost | یک مقدار عددی که برای ارسال گزارش کلیک تبلیغکننده یا هزینه تبدیل ازgeneBid به reportWin استفاده میشود. دقت این عدد به یک مانتیس 8 بیتی و توان 8 بیتی محدود می شود و هر گرد کردنی به صورت تصادفی انجام می شود. |
adComponents | فهرستی اختیاری از حداکثر 20 مؤلفه برای تبلیغات متشکل از چندین قطعه ، که از ویژگی adComponents آرگومان گروه علاقهای که به navigator.joinAdInterestGroup() منتقل شده است، گرفته شده است. |
allowComponentAuction | یک مقدار بولی که نشان میدهد آیا این پیشنهاد میتواند در یک حراج مؤلفه استفاده شود یا خیر. اگر مشخص نشده باشد، پیشفرض به «نادرست» میرسد. |
bid | پیشنهاد عددی که وارد مزایده می شود. فروشنده باید در موقعیتی باشد که بتواند پیشنهادات خریداران مختلف را با هم مقایسه کند، بنابراین پیشنهادها باید در یک واحد انتخاب شده توسط فروشنده باشد (مانند "USD در هزار"). اگر پیشنهاد صفر یا منفی باشد، این گروه ذینفع به هیچ وجه در مزایده فروشنده شرکت نمی کند. با استفاده از این مکانیسم، خریدار میتواند قوانین تبلیغکننده را برای مکانهایی که ممکن است آگهیهایشان ظاهر شود یا نشوند، اجرا کند. |
bidCurrency | واحد پول پیشنهادی که برای بررسی ارز استفاده می شود. |
render | فرهنگ لغت توصیف خلاقیتی که در صورت برنده شدن این پیشنهاد در حراج باید ارائه شود. این شامل:
|
| یک عدد صحیح 0-4095 (12 بیتی) به reportWin() ارسال شد، با نویز، همانطور که در طرح نویز و سطل توضیح داده شد. مقادیر نامعتبر مانند مقادیر منفی، بینهایت و NaN نادیده گرفته می شوند و عبور نمی کنند. فقط 12 بیت کمتر ارسال می شود.خریدار میتواند از سیگنالهای موجود در داخل generateBid() ، از جمله دادههای دادههای خریدار شخص اول که در زمان ایجاد Interest Group در userBiddingSignals گرفته شده است، استفاده کند تا مقداری را استخراج کند که برای فعال کردن آموزش مدل ML به تابع گزارش برنده خریدار منتقل میشود. |