یک مزایده تبلیغاتی را در صفحه ناشر راه اندازی کنید

با نحوه پیکربندی حراج API مخاطب محافظت شده آشنا شوید.

حراج های روی دستگاه که توسط فروشندگان اجرا می شود

حراج مخاطب محافظت‌شده روی دستگاه در سایتی اجرا می‌شود که فضاهای تبلیغاتی را می‌فروشد، و ما به طرفی که حراج را اجرا می‌کند، فروشنده می‌گوییم. بسیاری از طرف‌ها ممکن است به عنوان فروشنده عمل کنند: یک سایت ممکن است حراج تبلیغاتی خود را اجرا کند، یا ممکن است شامل یک اسکریپت شخص ثالث برای اجرای حراج برای آن باشد، یا ممکن است از SSP استفاده کند که اجرای حراج روی دستگاه را با سایر تبلیغات سمت سرور ترکیب می‌کند. فعالیت های حراج فروشندگان سه شغل اساسی در حراج تبلیغات روی دستگاه دارند:

  1. فروشندگان تصمیم می‌گیرند (الف) کدام خریداران می‌توانند شرکت کنند، و (ب) کدام یک از پیشنهادهای گروه‌های ذینفع آن خریداران واجد شرایط ورود به حراج هستند. این به فروشنده اجازه می‌دهد قوانین سایت را برای نمایش تبلیغات در صفحه اجرا کند.
  2. فروشندگان مسئول منطق تجاری حراج هستند: کد جاوا اسکریپت که قیمت و ابرداده هر پیشنهاد را در نظر می گیرد و امتیاز "مطلوب بودن" را محاسبه می کند. پیشنهادی که بالاترین امتیاز مطلوبیت را داشته باشد برنده مزایده می شود.
  3. فروشندگان در مورد نتیجه حراج گزارش می دهند، از جمله اطلاعات مربوط به قیمت تسویه حساب و سایر پرداخت ها. خریداران برنده و بازنده نیز باید گزارش خود را انجام دهند.

این سند نحوه پیکربندی و راه اندازی یک مزایده روی دستگاه را توضیح می دهد.

حراج تبلیغات API مخاطب محافظت شده را پیکربندی کنید

برای اجرای حراج تبلیغات API مخاطب محافظت شده، اولین قدم پیکربندی حراج است. این کار با ایجاد یک شی auctionConfig انجام می شود. در اینجا مثالی از یکی از این تنظیمات آورده شده است:

const auctionConfig = {
  seller: 'https://seller.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://buyer-1.example': {...},
    'https://buyer-2.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://buyer-1.example': 50,
    'https://buyer-2.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://component-seller.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ],
  resolveToConfig: [true|false],
};

ویژگی های AuctionConfig

خواص مورد نیاز

تنها ویژگی های مورد نیاز برای auctionConfigs seller ، decisionLogicUrl ، و interestGroupBuyers هستند.

ویژگی مثال نقش
فروشنده https://seller.example منشاء فروشنده.
vendimLogicUrl https://seller.example/decision-logic.js URL برای کارنامه منطق تصمیم گیری جاوا اسکریپت حراج. این فیلد باید منشأ مشابه فیلد فروشنده داشته باشد.
InterestGroupBuyers [https://buyer-1.example،
https://buyer-2.example،
...]
خاستگاه همه صاحبان گروه های ذینفع درخواست شده است که در حراج پیشنهاد دهند

خواص اختیاری

خواص باقی مانده برای auctionConfigs اختیاری هستند.

ویژگی مثال نقش
trustedScoringSignalsUrl https://seller.example/scoring-signals URL سرور کلید/مقدار فروشنده. این در طول فرآیند امتیازدهی تبلیغات با استفاده از URL رندر خلاقیت به عنوان کلید مورد پرسش قرار می گیرد. این فیلد باید منشأ مشابه فیلد فروشنده داشته باشد.
سیگنال های حراج {"category":"اخبار"} شیء قابل سریال سازی JSON نشان دهنده سیگنال های موجود برای همه خریداران و فروشندگان شرکت کننده در حراج است.
سیگنال های فروشنده {...} شیء قابل سریال سازی JSON نشان دهنده سیگنال هایی است که فقط برای فروشندگان در دسترس است.
perBuyerSignals {https://dsp.example: {...}،
https://another-buyer.example: {...}،
...}
سیگنال های موجود برای خریدار خاص سیگنال ها می توانند از طرف فروشندگان و همچنین توسط خود خریداران ارسال شوند.
perBuyerTimeouts {https://www.example-dsp.com: 50،
https://www.another-buyer.com: 200،
*: 150،
...}،
حداکثر زمان اجرا بر حسب میلی ثانیه از اسکریپت ()genereBid یک خریدار خاص. برای هر خریداری که مهلت زمانی مشخصی تعریف نشده است، یک علامت عام اعمال خواهد شد.
sellerTimeout 100 حداکثر زمان اجرا بر حسب میلی ثانیه از اسکریپت ()scoreAd فروشنده.
مزایده اجزا [{فروشنده: https://www.some-other-ssp.com، vendimLogicUrl: ...، ...}، ...] تنظیمات اضافی برای حراج قطعات.
solveToConfig درست | نادرست یک بولی که وعده را از runAdAuction() هدایت می‌کند تا در صورت درست بودن به یک FencedFrameConfig (برای استفاده در <fencedframe>)، یا در صورت نادرست به یک URL مات urn:uuid (برای استفاده در <iframe>) حل شود. پیش فرض به نادرست.

سیگنال ها را به صورت ناهمزمان ارائه دهید

مقادیر برخی سیگنال‌ها (آنهایی که توسط فیلدهای auctionSignals ، sellerSignals ، perBuyerSignals و perBuyerTimeouts پیکربندی شده‌اند) می‌توانند به صورت اختیاری نه به عنوان مقادیر مشخص، بلکه به عنوان Promises ارائه شوند. این به برخی از بخش‌های حراج، مانند بارگیری اسکریپت‌ها و سیگنال‌های قابل اعتماد، و راه‌اندازی فرآیندهای Worklet مجزا، اجازه می‌دهد تا با محاسبه (یا بازیابی شبکه) این مقادیر همپوشانی داشته باشند. اسکریپت های Worklet فقط مقادیر حل شده را می بینند. اگر چنین قولی رد شود، حراج لغو می شود مگر اینکه قبلاً شکست بخورد یا به روش های دیگر سقط شود.

حراجی را با چند فروشنده پیکربندی کنید

در برخی موارد، ممکن است چندین فروشنده بخواهند در یک حراجی شرکت کنند و برندگان حراج های جداگانه به حراج دیگری که توسط فروشنده دیگری اداره می شود، منتقل می شوند. این حراج های جداگانه ای که به تصویب می رسند، حراج اجزا نامیده می شوند. برای تسهیل این حراج‌های مؤلفه، شیء componentAuctions می‌تواند شامل تنظیمات حراج اضافی برای حراج اجزای هر فروشنده باشد. پیشنهاد برنده هر یک از این حراجی ها به حراج "سطح بالا" که تعیین نهایی حراج را انجام می دهد منتقل می شود. auctionConfig حراج‌های مؤلفه ممکن است componentAuctions خود را نداشته باشد. هنگامی که componentAuctions خالی نیست، interestGroupBuyers باید خالی باشد. یعنی برای هر حراج مخاطب محافظت شده خاص، یا یک فروشنده وجود دارد و هیچ مزایده مولفه ای وجود ندارد، یا اینکه همه پیشنهادات از حراج قطعات ارائه می شود و حراج سطح بالا فقط می تواند از بین برندگان حراج قطعات یکی را انتخاب کند.

حراج را اجرا کنید

فروشنده با فراخوانی navigator.runAdAuction() از مرورگر کاربر درخواست می کند تا حراج تبلیغاتی را شروع کند.

try {
  const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
  // Handle error.
}

فراخوانی runAdAuction() یک Promise را برمی گرداند که به تبلیغ حل می شود. هیچ کدی در صفحه ناشر نمی‌تواند آگهی برنده را بررسی کند یا از نتایج runAdAuction() در مورد محتوای آن مطلع شود. اگر پرچم resolveToConfig در AuctionConfig روی true تنظیم شده باشد، یک شی FencedFrameConfig برگردانده می شود که فقط در یک قاب محصور شده قابل ارائه است. اگر پرچم روی false تنظیم شده بود، یک URN مات برگردانده می شود که می تواند در یک iframe ارائه شود. این امکان وجود دارد که runAdAuction یک مقدار تهی را برگرداند که نشان می دهد هیچ تبلیغی انتخاب نشده است. در این مورد ممکن است فروشنده انتخاب کند که یک تبلیغ هدفمند متنی ارائه دهد.