هندسة معمارية

التعرّف على بنية المزاد في "خدمات عروض الأسعار والمزادات"

نظرة عامة

توفّر خدمات عروض الأسعار والمزادات (B&A) مجموعة من الخدمات للمشترين والبائعين للإعلانات، وتعمل هذه الخدمات في بيئة تنفيذ موثوقة (TEE) لتسهيل إجراء مزاد Protected Audience (PA). توضّح هذه الصفحة إعدادات المزاد المختلفة التي يمكن استخدام ميزة "العطاءات والمزايدات" فيها في مزاد "اتفاقية الشراكة".

التعريفات

العبارة الوصف
مزاد يستخدم Protected Audience API مزاد إعلانات يتضمّن بيانات على مستوى المواقع الإلكترونية
المزاد السياقي هي مزاد إعلانات لا يتضمّن بيانات على مستوى المواقع الإلكترونية. يتّبع هذا المزاد مسار مزاد "عروض الأسعار في الوقت الفعلي" (RTB) الحالي.
طلب المزاد الموحّد طلب يرسله رمز JavaScript الخاص بالبائع من المتصفّح ويتضمّن الحمولة لكلّ من مزاد Protected Audience والمزاد السياقي.
خدمة الإعلانات للبائعين (SAS) الخدمة المسؤولة عن معالجة طلب المزاد الموحّد من المتصفّح قد يكون هذا خادم إعلانات حاليًا يستخدِمه البائع في نظام عروض الأسعار في الوقت الفعلي. تتولّى خدمة SAS تنسيق مزادات الإعلانات السياقية ومزادات Protected Audience.
خدمة الإعلانات للمشترين الخدمة المسؤولة عن إرسال عرض سعر في مزاد حسب السياق قد يكون هذا خادم إعلانات حاليًا للمشتري يستند إلى نظام عروض الأسعار في الوقت الفعلي (ORTB).

خدمات للمشترين والبائعين

تتألف خدمات B&A من أربع خدمات للمشترين والبائعين:

  • بالنسبة إلى المشترين، تتوفّر خدمة عروض الأسعار وخدمة واجهة المشتري (BFE) للاستخدام.
  • بالنسبة إلى البائعين، تتوفّر خدمة المزاد وخدمة الواجهة الأمامية للبائع (SFE) للاستخدام.
مُشارِك الخدمة الوصف
مشتري خدمة واجهة المشتري (BFE) تعالج الخدمة طلب GetBids من SFE البائع. وهي مسؤولة عن فك تشفير الحمولة، واسترداد إشارات المفتاح/القيمة، واستدعاء GenerateBids في خدمة عروض الأسعار.
خدمة عروض الأسعار تتعامل الخدمة مع طلب GenerateBids من BFE. وهي مسؤولة عن تنفيذ منطق عروض الأسعار الخاص بالمشتري وإنشاء عرض سعر.
البائع خدمة الواجهة الأمامية للبائع (SFE) تعالج الخدمة طلب SelectAd من خدمة إعلانات البائع. وهي مسؤولة عن فك تشفير الحمولة، واستدعاء عملية GetBids في BFE، وجلب إشارات K/V، واستدعاء عملية ScoreAd في خدمة المزاد، ثم عرض نتيجة مزاد B&A المشفرة على SAS.

عندما تكون الخدمة جزءًا من حزمة البائع الأعلى مستوى في مزاد متعدد البائعين يديره الخادم، تعالج الخدمة أيضًا طلب GetComponentAuctionCiphertexts من SAS.

خدمات المزاد تتعامل الخدمة مع طلب ScoreAd من SFE. وهي المسؤولة عن تنفيذ منطق تسجيل النقاط الخاص بالبائع وتقديم نتيجة مدى استحقاق عرض السعر.

بنية مزاد "اتفاقية الشراء الآلي" على الويب

يوضّح المخطّط البياني التالي مزاد Protected Audience الأساسي الذي يتضمّن "خدمات B&A" مع بائع واحد ومشترٍ واحد. تمثّل المربّعات ذات الخطوط الحمراء السميكة الخدمات التي تعمل في بيئة تنفيذ موثوقة (TEE):

يرسل رمز JavaScript من جهة العميل طلب المزاد الموحّد إلى منصّة العرض والطلب. يرسل نظام SAS طلبًا إلى نظام SFE، ويرسل نظام SFE طلبًا إلى نظام BFE للحصول على عرض سعر.
(مخطط بالحجم الكامل)
  1. ينشئ رمز JavaScript الخاص بمنصة SSP على صفحة الناشر بيانات مزاد إعلانات B&A المشفّرة من خلال استدعاء navigator.getInterestGroupAdAuctionData().
    • تحتوي حمولة البيانات المشفّرة هذه على بيانات المشتري ولا يمكن فك تشفيرها إلا داخل بيئة تنفيذ موثوقة (TEE) في بيئة تنفيذ آمنة (SFE).
  2. يرسل رمز JavaScript الخاص بمنصة العرض من جهة البائع طلب مزاد موحّد إلى "خدمة إعلانات البائع".
    • يحتوي طلب المزاد الموحّد على كلّ من حمولة المزاد السياقي بتنسيق OpenRTB العادي وحمولة مزاد B&A المشفّرة.
    • خدمة "خادم إعلانات الناشر" هي خادم الإعلانات الحالي، ولا يتم تشغيلها في بيئة تنفيذ موثوقة.
  3. تطلب "خدمة إعلانات البائع" خدمة "عرض الأسعار في الوقت الفعلي" (RTB) التابعة لمنصّة العرض من جهة الطلب (DSP) لطلب عرض سعر المزاد السياقي وأي إشارات من المعلِن ليتم تمريرها إلى مزاد "العرض الآلي" اللاحق.
    • يمكن أن تكون هذه خطوة يشير فيها المشتري إلى نيّته المشاركة في مزاد "العرض الأول".
  4. بعد اكتمال المزاد السياقي، يرسل SAS طلب SelectAd إلى خدمة SFE.
    • تتم إضافة عرض السعر الفائز في المزاد السياقي وإشارات المشتري إلى حمولة طلب SelectAd.
  5. تطلب خدمة SFE التابعة لمنصة SSP خدمة BFE التابعة لمنصة DSP باستخدام طلب GetBids.
  6. تُرسِل منصة عرض الطلب (DSP) طلب BFE إلى "خدمة عروض الأسعار" مع الطلب GenerateBids.
  7. بعد أن تتلقّى SFE عرض السعر، يتم إجراء طلب ScoreAd إلى "خدمة المزاد".
    • يتم إرجاع عرض السعر الذي حصل على أعلى درجة جاذبية إلى SAS، ثم يتم توجيهه إلى رمز JavaScript في الصفحة.
  8. يتمّ إنهاء المزاد في المتصفّح من خلال تمرير نتيجة مزاد "العرض والمزايدة" المشفّرة إلى طلب navigator.runAdAuction().

إعدادات المزادات

يمكن إعداد مزاد Protected Audience API مع "خدمات القياس والإحالة" بالطرق التالية:

  • مزاد البائع المنفرد مع مشتريي "العرض والمزايدة"
  • المزاد المختلط الذي يضمّ مشتريين على الأجهزة ومشتريين في "العطاءات والشراء"
  • مزاد يضمّ عدّة بائعين ويمكن أن يتم تنظيمه على الجهاز أو الخادم

مشارك

لوصف كل إعداد من إعدادات المزاد، يتم استخدام المشاركين التاليين في هذا الدليل:

مُشارِك الوصف
DSP-A المشتري على الجهاز
DSP-B المشتري على الجهاز
DSP-X B&A buyer
DSP-Y B&A buyer
SSP-TOP بائع من المستوى الأعلى
SSP-OD البائع الذي يستخدم الجهاز فقط
SSP-BA بائع يقدّم خدمات التقييم والاستشارات فقط
SSP-MIX البائع الذي يستخدم نموذجًا مختلطًا

هناك أربع منصات طلب:

  • تشارك "DSP-A" و"DSP-B" في المزادات على الجهاز فقط
  • يشارك كل من DSP-X وDSP-Y في مزادات على الجهاز ومزادات B&A

هناك أربعة وسطاء عرض مبيعات، ويستخدم كل بائع إعدادًا مختلفًا للمزاد:

  • تُجري SSP-OD مزادًا على الجهاز فقط
  • SSP-BA تجري مزادًا للعروض المزايدة فقط
  • SSP-MIX تُجري مزادًا في الوضع المختلط
  • تعرض SSP-TOP مزادًا متعدد البائعين:
    • SSP-OD/BA/MIX المشاركة كبائعين للمكوّنات في مزاد SSP-TOP المتعدد البائعين

مزاد B&A للبائع المنفرد

في عملية الإعداد الخاصة ببائع واحد، يُجري بائع واحد مزادًا يشارك فيه عدة مشترين. إذا كان البائع يُجري مزادًا في "العطاءات والمزادات"، يجب أن يستخدم المشترون حزمة خدمات "العطاءات والمزادات" الخاصة بالمشترين لإرسال عرض سعر إلى المزاد. ليس من الضروري أن يستخدم المشترون والبائعون مقدّم خدمة السحابة الإلكترونية نفسه.

بنية البائع المنفرد التي يتواصل فيها SFE واحد مع عدة BFE لتلقّي عروض الأسعار
(مخطط بالحجم الكامل)

في عملية الإعداد السابقة، تنفّذ SSP-BA مزادًا من نوع "العطاءات والشراء" تشارك فيه DSP-X وDSP-Y باستخدام حزمة المشترين في "خدمات العطاءات والشراء". تُجري "خدمة الإعلانات" التابعة للبائع مزادًا سياقيًا أولاً لـ DSP-X وDSP-Y، ثم تُجري مزادًا في Protected Audience عن طريق إرسال طلب SelectAd إلى "خدمة إطار البيع" التابعة للبائع. يتم تمرير عرض السعر الفائز في المزاد السياقي والإشارات لكل مشترٍ إلى طلب SelectAd. بعد ذلك، ترسل خدمة SFE طلبات GetBids إلى BFE الخاص بـ "DSP-X" و"DSP-Y"، والذي سيطلب من "خدمة عروض الأسعار" إنشاء عرض سعر.

يتم عرض نتيجة مزاد B&A المشفّرة للعميل، ويتم تمريرها إلى طلب runAdAuction(). يبدو إعداد مزاد البائع الفردي على النحو التالي:

await navigator.runAdAuction({
  seller: 'https://ssp-ba.example',
  requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
  serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
})

تأتي القيمة requestId من طلب getInterestGroupAdAuctionData() على جهاز العميل، وتأتي بيانات serverResponse من مزاد "العطاءات والشراء" من جهة الخادم.

المزاد المختلط

في إعداد الوضع المختلط، يمكن للمشترين المشاركة في مزاد البائع من الجهاز أو من خلال ميزة "العطاء والمزايدة". تمثّل الأسهم الزرقاء مسار المزاد على الجهاز، وتمثّل الأسهم الحمراء مسار مزاد "الشراء الآلي" و"العروض المباشرة":

بنية البائعين في الوضع المختلط حيث يمكن للمشترين إرسال عروض أسعارهم من الجهاز أو من "العطاءات والمقايضة"
(مخطط بالحجم الكامل)

في هذا الإعداد، DSP-A وDSP-B هما مشترِكان يقدّمان عروض أسعارهما على الجهاز، وDSP-X وDSP-Y هما مشترِكان يقدّمان عروض أسعارهما باستخدام "عروض الأسعار والمزادات". يشارك المشترون على الجهاز في مزاد "الجمهور المشابه" على الجهاز في المتصفّح، ويشارك المشترون في "المزايدة والعائد" في إعداد مزاد "المزايدة والعائد" الموضّح في قسم مزاد البائع الفردي.

يتم تنفيذ المزاد السياقي أولاً لجميع المشترين من أجل جمع عرض السعر الفائز في المزاد السياقي وإشارات المشترين. بعد ذلك، يتم عرض إعلان B&A، ويتم تمرير إشارات المشتري من المزاد السياقي إلى طلب SelectAd في SFE. يتم إعادة توجيه نتيجة مزاد B&A المشفّرة التي تم إرجاعها من SFE إلى المتصفّح. بعد انتهاء مزاد "العرض الأول"، يتم إدخال نتيجته في المزاد الذي يتم إجراؤه على الجهاز ويشارك فيه المشترون على الجهاز.

يبدو إعداد مزاد البائع الفردي في الوضع المختلط للجزء من المزاد الذي يتم إجراؤه على الجهاز مشابهًا لما يلي:

await navigator.runAdAuction({
  seller: 'https://ssp-mix.example',
  decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
  componentAuctions: [
    // B&A auction
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 14, ]
    },
    // On-device auction
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
    }
  ]
})

الموازاة بين المزادات على الأجهزة ومزادات "العطاءات والمقايضة"

بدون التوازي، يتم تنفيذ المزادات بالتسلسل، حيث يتم تشغيل المزاد السياقي، ثم مزاد "العطاءات والمزايدة"، وأخيرًا المزاد على الجهاز. بعد تنفيذ التوازي، يتم تشغيل المزاد السياقي أولاً مرة أخرى، ولكن يتم بث نتيجته وإشاراته مرة أخرى إلى العميل من أجل بدء المزاد على الجهاز بالتوازي قبل انتهاء مزاد "العطاءات والمزادات".

مخطّط بياني يوضّح كيفية إعادة بث عروض أسعار المزاد السياقي والإشارات ونتائج SelectAd إلى رمز JavaScript في المتصفّح
(مخطط بالحجم الكامل)

يرسل رمز JavaScript في العميل طلب المزاد الموحّد إلى SAS، ويبدأ SAS مزاد الاستهداف السياقي ومزاد "الجمهور المشابه" و"الجمهور المخصّص". عندما تتلقّى SAS ردًا من خادم عروض الأسعار في الوقت الفعلي الخاص بالمشتري، يمكن إعادة بث إشارة المشتري للمزاد على الجهاز إلى المتصفّح، بالإضافة إلى الفائز في المزاد السياقي بعد تلقّي جميع عروض الأسعار. تُستخدَم إشارات المشترين التي يتم بثّها لإنشاء عرض سعر على الجهاز، ويتم استخدام الفائز في المزاد السياقي كحدّ أدنى لعرض السعر عند تسجيل عروض الأسعار.

في SAS، ينشئ البائع UUID للمرة الواحدة يتم ضبطه في عنوان الاستجابة Ad-Auction-Result-Nonce عند بث بيانات المزاد السياقي إلى المتصفّح. يتم استخدام الرقم العشوائي نفسه في طلب SelectAd إلى SFE لمزاد B&A، ويتم تضمين هذا الرقم العشوائي في ردّ SelectAd الذي يتم إرجاعه من SFE. خلال مرحلة المزاد من جهة العميل، يتأكّد المتصفّح من أنّ الرقم العشوائي في عنوان الاستجابة Ad-Auction-Result-Nonce يطابق الرقم العشوائي في حمولة نتيجة المزاد المشفّرة.

اطّلِع على الشرح لمعرفة المزيد عن التوازي في الوضع المختلط.

مزاد البائعين المتعدّدين

تتوفّر طريقتان لإجراء مزاد متعدد البائعين في "البرنامج الآلي" باستخدام ميزة "العطاءات والشراء":

  1. المزاد الذي يتم تنظيمه على الجهاز، حيث يتم توجيه طلب إلى خدمة الإعلانات الخاصة بكل بائع مكونات من المتصفّح
  2. المزاد الذي يديره الخادم والذي يتم فيه توجيه طلب إلى خدمة الإعلانات الخاصة بكل بائع مكون من خدمة الإعلانات الخاصة بالبائع على أعلى مستوى

مزاد البائعين المتعدّدين الذي يتم تنظيمه على الجهاز

في مزاد متعدّد البائعين يتم تنظيمه على الجهاز، يمكن لكل بائع من البائعين المشاركين في المزاد إجراء مزاده بإعدادات يختارها. يمكن للبائعين على الأجهزة والبائعين في "المزايدة والشراء" والبائعين في الوضع المختلط المشاركة في المزاد ذي المستوى الأعلى.

مخطّط بياني يوضّح كيف يمكن للبائعين المتعدّدين الذين يستخدمون إعدادات مختلفة للمزاد إرسال نتائج المزاد إلى البائع الرئيسي.
(مخطّط بالحجم الكامل)
في هذا الإعداد، يدير "منصّة العرض والطلب العليا"، وهي البائع الأعلى مستوى، مزادًا متعدّد البائعين تشارك فيه "منصّة العرض والطلب على الجهاز فقط" و"منصّة العرض والطلب الأساسية" و"منصّة العرض والطلب المختلطة": * تقدّم "منصّة العرض والطلب على الجهاز فقط"، التي تدير مزادًا في "العرض الآلي" على الجهاز فقط، إعدادات مزاد "العرض الآلي" على الجهاز إلى البائع الأعلى مستوى. * يرسل `SSP-BA`، الذي يدير مزادًا على العرض الأول والعرض الثاني، طلب مزاد موحّدًا إلى"خدمة إعلانات البائع" ويُجري مزاداته الخاصة المستندة إلى السياق والمزاد على العرض الأول والعرض الثاني. يتم إرسال النتائج إلى البائع على أعلى مستوى. * `SSP-MIX`: يُجري هذا المورّد مزادًا مختلطًا، حيث ينفّذ أولاً مزاد العرض والسعر على الخادم، ثم يرسل نتيجة مزاد العرض والسعر وإعدادات المزاد على الجهاز. ### مزاد متعدّد البائعين منسَّق من الخادم في مزاد متعدّد البائعين منسَّق من الخادم، يتم إجراء طلبات إلى خدمات الإعلانات الخاصة ببائع المكوّن من خدمة الإعلانات الخاصة بالبائع من المستوى الأعلى. في هذا الإعداد، لا يمكن للبائعين الذين يبيعون مكوّنات إجراء مزاد على الجهاز أو مزاد مختلط، ويجب أن يستخدم جميع البائعين ميزة"عروض الأسعار والمزايدة"، كما يجب أن يرسل جميع المشترين عروض أسعارهم باستخدام هذه الميزة.
ترسل منصة العرض من جهة البائع ذات المستوى الأعلى طلب مزاد موحّد إلى "خدمة إعلانات البائع". تطلب "خدمة إعلانات البائعين" من SFE تنفيذ عملية GetComponentAuctionCipherTexts. بعد ذلك، يتم إرسال النصوص المشفّرة التي تم إرجاعها إلى خدمة الإعلانات التابعة لكل بائع مكوّنات، والتي تجري مزاداتها الخاصة بميزة "العطاءات والمقايضة".
(مخطط بالحجم الكامل)

في هذا المخطّط، ينفّذ SSP-TOP مزادًا متعدد البائعين يديره الخادم وتشارك فيه SSP-BA-X وSSP-BA-Y.

يتم إرسال طلب مزاد موحّد واحد يحتوي على حمولة مزادات الاستهداف السياقي والاستهداف حسب الجمهور إلى خدمة الإعلانات الخاصة بالبائع ذي المستوى الأعلى من المتصفّح لجميع المشاركين. بعد ذلك، يرسل SAS طلب GetComponentAuctionCiphertexts إلى SFE مع الحمولة. ستعمل خدمة SFE على فك تشفير الحمولة، وفصل الحمولات حسب كل بائع مكوّن، وإعادة الحمولات المشفرة إلى نظام SAS الخاص بالبائع ذي المستوى الأعلى.

في ما يلي تعريفات البروتوكول لطلب GetComponentAuctionCiphertexts والردّ عليه:

// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
  bytes protected_auction_ciphertext = 1; // Generated in the browser
  repeated string component_sellers = 2; // The list of all component sellers
}

// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
  // A map of component sellers and their re-encrypted payloads
  map<string, bytes> seller_component_ciphertexts = 1;
}

مع حمولة كل بائع للمكوّنات، يطلب نظام SAS الخاص بالبائع ذي المستوى الأعلى نظام SAS الخاص ببائعي المكوّنات، وينفّذ كل نظام SAS للمكوّنات مزاد B&A الخاص بالمكوّنات. بعد ذلك، يتم إرجاع نتائج مزادات المكوّنات إلى SFE الخاص بالبائع ذي المستوى الأعلى، ويتم تسجيل عروض أسعار مزادات المكوّنات من خلال "خدمة المزاد" الخاصة بالبائع ذي المستوى الأعلى. يتم إرجاع عرض السعر الذي يحقّق أعلى نتيجة جاذبية إلى SFE، ويتم إرسال الحمولة المشفّرة إلى SAS ليتم إرجاعها إلى العميل. في المتصفّح، ينهي البائع الأعلى مستوى المزاد من خلال طلب navigator.runAdAuction() وتوفير حمولة مشفّرة لنتيجة المزاد على الخادم.

الخطوات التالية

بعد قراءة هذا الدليل، يمكنك اتّخاذ الخطوات التالية:

مزيد من المعلومات

هل لديك أسئلة؟