تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يبدأ تفاعل عروض الأسعار في الوقت الفعلي عندما تُرسِل Google طلب عرض سعر إلى
تطبيقك. يشرح هذا الدليل كيفية ترميز تطبيقك لمعالجة طلب عروض الأسعار.
تحليل الطلب
تُرسِل Google طلب عرض سعر بتنسيق مُسلسل إما بتنسيق OpenRTB JSON أو بتنسيق Protobuf
، ويتم إرفاقه كحمولة لطلب HTTP POST. يعتمد التنسيق المستلَم
على إعدادات
نقطة النهاية. يمكنك الاطّلاع على
مثال على طلب عروض الأسعار للاطّلاع على مثال.
يجب تحليل هذا الطلب لتلقّي BidRequest المتسلسل. إذا كنت تستخدم تنسيق Protobuf، عليك
تنزيل openrtb.proto وopenrtb-adx.proto من صفحة
البيانات المرجعية واستخدامهما ل
إنشاء مكتبة يمكن استخدامها لتحليل BidRequest
الرسالة. على سبيل المثال، تُحلِّل التعليمة البرمجية التالية بلغة C++ طلبًا تم تقديمه مع حمولة POST
في سلسلة:
بعد الحصول على BidRequest، يمكنك التعامل معه كأحد
العناصر، واستخراج الحقول التي تحتاج إليها وتفسيرها. على سبيل المثال، في لغة
C++، يمكن أن تبدو عملية التنقّل في الصفقات في BidRequest في OpenRTB على النحو التالي:
تتلقّى طلب عرض سعر عندما يتم استهداف مستودع إعلانات الناشر من خلال
إعداد واحد أو أكثر من
إعدادات الاستهداف المُسبَق. BidRequest.imp.ext.billing_id
سيتمّ ملء الحقل بمعرّفات الفوترة لأيّ مشترين مؤهّلين، وإعدادات ملفّ التسويق المستهدف المُسبَق ذات الصلة. بالإضافة إلى ذلك، بالنسبة إلى
مستودع
الصفقات، يمكنك العثور على أرقام تعريف الفوترة المرتبطة بالمشتري المعني
باستخدام BidRequest.imp.pmp.deal.ext.billing_id. عند تقديم عرض سعر، يمكن تحديد أرقام تعريف الفوترة الخاصة
بالمشترين المدرَجين في طلب عرض السعر فقط.
إذا تم تضمين معرّفات فوترة متعددة في طلب عروض الأسعار، يجب تحديد
معرّف الفوترة للمشتري الذي تريد إسناد عرض أسعارك إليه باستخدام الحقل
BidResponse.seatbid.bid.ext.billing_id.
ملفات القاموس
يستخدم طلب عروض الأسعار المعرّفات المحدّدة في ملفات القاموس، والتي
تتوفّر في صفحة البيانات المرجعية.
وحدات ماكرو عناوين URL لمقدّمي عروض الأسعار
اختياريًا، يمكن
إدراج بعض المعلومات من BidRequest في عناوين URL لنقاط نهاية عروض الأسعار باستخدام وحدات الماكرو. في حال ضبط عنوان URL لنقطة نهاية
باستخدام وحدة ماكرو واحدة أو أكثر، سيتم توسيعها إذا كانت هذه المعلومات
متوفّرة في طلب عروض الأسعار. يمكن أن يكون ذلك مفيدًا، على سبيل المثال، إذا كنت تريد
إجراء موازنة التحميل استنادًا إلى المعلومات الواردة في BidRequest.
يُرجى التواصل مع مدير حسابك لطلب الحصول على دعم بشأن وحدات الماكرو الجديدة.
وحدة الماكرو
الوصف
%%GOOGLE_USER_ID%%
تم استبداله بمعرّف مستخدم Google المتوفّر في
BidRequest.user.id. على سبيل المثال، سيتم استبدال عنوان URL الخاص بنظام عروض الأسعار
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
بعنوان مثل
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl في وقت
الطلب.
إذا كان رقم تعريف مستخدم Google غير معروف، يتم استبدال السلسلة الفارغة بنتيجة مشابهة لنتيجة
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
يتم استبداله بـ 1 للإشارة إلى أنّ طلب عرض السعر صادر عن
جهاز جوّال، أو 0 في غير ذلك. يستند ذلك إلى قيمة
BidRequest.device.devicetype، حيث يتم الإشارة إلى الأجهزة الجوّالة
باستخدام HIGHEND_PHONE (4) أو Tablet
(5).
%%HAS_VIDEO%%
يتم استبداله بـ 1 للإشارة إلى أنّ طلب عرض السعر يحتوي على
مساحة إعلانية متاحة لإعلانات الفيديو، أو 0 في حال عدم توفّر مساحة إعلانية متاحة لإعلانات الفيديو. يستند ذلك إلى ما إذا كان يتمّ تعبئة
BidRequest.imp.video في طلب عرض السعر.
%%HOSTED_MATCH_DATA%%
يتم استبدالها بقيمة تستند إلى BidRequest.user.buyeruid.
%%MOBILE_IS_APP%%
تم استبداله بـ 1 للإشارة إلى أنّ طلب عرض السعر مخصّصًا
لمستودع التطبيقات المتوافقة مع الأجهزة الجوّالة، أو 0 في حال عدم توفّر مستودع. يعتمد ذلك على ما إذا كان الحقل
BidRequest.app مملوءًا.
العثور على رقم تعريف التطبيق المتوافق مع الأجهزة الجوّالة من عنوان URL للمعاملة
ستحدّد معاملات التطبيقات المتوافقة مع الأجهزة الجوّالة عناوين URL التي تظهر على النحو التالي:
mbappgewtimrzgyytanjyg4888888.com
استخدِم أداة فك ترميز القاعدة 32 لفك ترميز الجزء من السلسلة المكتوب بخط عريض
(gewtimrzgyytanjyg4888888).
يمكنك استخدام أداة فك ترميز
على الإنترنت، ولكن عليك كتابة الأحرف بأحرف كبيرة واستبدال قيم 8 التي تظهر في نهاية السلسلة بقيم =.
بالتالي، فك ترميز هذه القيمة:
GEWTIMRZGYYTANJYG4======
يؤدي ذلك إلى:
1-429610587
السلسلة 429610587 هي معرّف تطبيق iOS
iFunny.
إليك مثال آخر. عنوان URL الذي تم الإبلاغ عنه هو:
mbappgewtgmjug4ytmmrtgm888888.com
ترميز هذه القيمة:
GEWTGMJUG4YTMMRTGM======
يؤدي ذلك إلى:
1-314716233
النتيجة 314716233 هي معرّف التطبيق لتطبيق iOS
TextNow.
العثور على اسم التطبيق المتوافق مع الأجهزة الجوّالة من عنوان URL للمعاملة
في ما يلي مثال على الحصول على اسم التطبيق. عنوان URL الذي تم الإبلاغ عنه هو كما يلي:
إنّ طلبات عروض الأسعار المُرسَلة إلى عروض أسعار الشبكة وعروض أسعار التبادل التي تشارك في "عرض الأسعار المفتوح" تشبه طلبات عروض الأسعار التي يقدّمها "الشراة المعتمَدون" الذين يشاركون في "عرض أسعار الوقت الفعلي" العادي. سيحصل عملاء عروض الأسعار المفتوحة على عدد صغير من
الحقول الإضافية، وقد يكون لبعض الحقول الحالية استخدامات بديلة. وتشمل هذه التحسينات
ما يلي:
OpenRTB
التفاصيل
BidRequest.imp.ext.dfp_ad_unit_code
يحتوي على رمز شبكة "مدير إعلانات Google" الخاص بالناشر متبوعًا بترتيب سلسلي
للوحدة الإعلانية، مفصولًا بشرطات مائلة للأمام.
على سبيل المثال، سيظهر هذا الرمز بتنسيق مشابه لما يلي:
/1234/cruises/mars.
BidRequest.user.data.segment
أزواج مفاتيح وقيم متكرّرة يتم إرسالها من الناشر إلى مقدّم عروض الأسعار في تبادل الإعلانات
يمكنك تحديد أنّ القيم هي أزواج مفتاح/قيمة يرسلها
الناشر عند ضبط BidRequest.user.data.name على
“Publisher Passed”.
الإفصاح عن المورّدين المسموح بهم
يمكن أن يلعب مورّدو التكنولوجيا الذين يوفّرون خدمات مثل الأبحاث وإعادة التسويق و
عرض الإعلانات دورًا في التفاعل بين المشترين والبائعين. لا يُسمح إلا بالمورّدين الذين تحقّقت Google من أهليتهم للمشاركة في تفاعلات "المشترين المعتمَدين".
لا يمكن لبائعي الخدمات الآخرين المشاركة إلا إذا تم الإفصاح عنهم في
BidRequest:
في الحقل BidRequest، يحدّد الحقل
BidRequest.imp.ext.allowed_vendor_type
المورّدين الذين يسمح لهم البائع بالبيع. يتم إدراج المورّدين الذين سيتم إرسالهم في allowed_vendor_type في ملف القاموس
vendors.txt.
مثال على طلب عرض السعر
تمثّل الأمثلة التالية عيّنات قابلة للقراءة من طلبات Protobuf و
JSON.
لتحويل طلب عروض الأسعار إلى تنسيق ثنائي، مثل ما ستحصل عليه من حمولة POST في طلب حقيقي، يمكنك إجراء ما يلي (باستخدام C++). يُرجى العلم أنّه
لا ينطبق ذلك على OpenRTB JSON.
تتوفّر الملاحظات في الوقت الفعلي للمشترين المعتمَدين، بالإضافة إلى
التبادلات والشبكات التي تستخدم "عرض الأسعار المفتوح".
تملأ الملاحظات في الوقت الفعلي الحقل BidRequest.ext.bid_feedback استنادًا
إلى نتيجة عرض سعر واحد أو أكثر قدّمته في وقت سابق، ويمكن استخدامها للعثور على
تفاصيل مثل ما إذا كان عرض السعر قد فاز بالمزاد أو الحد الأدنى لعرض السعر المطلوب
للفوز بالمزاد. يمكنك التواصل مع مدير حسابك لتفعيل ميزة "تلقّي الملاحظات والآراء في الوقت الفعلي".
بالإضافة إلى الحقول التلقائية المُرسَلة في "ملاحظات حول ردّات عروض الأسعار"، يمكنك
أيضًا إرسال بيانات مخصّصة في ردّات عروض الأسعار باستخدام الحقل
BidResponse.seatbid.bid.ext.event_notification_token. event_notification_token هي بيانات عشوائية لا يعرفها سوى مقدم العروض، وقد تساعد في تصحيح الأخطاء، على سبيل المثال: رقم تعريف استهداف جديد أو رقم تعريف عروض أسعار يمثّل أسلوبًا جديدًا، أو بيانات وصفية مرتبطة بتصميم الإعلان ولا يعرفها سوى مقدّم العروض. لمعرفة التفاصيل، يُرجى الاطّلاع على
ملف OpenRTB Extensions Protocol Buffer.
عندما يرسل "الشراة المعتمَدون" طلب عرض سعر إلى نظام عروض أسعار، يردّ نظام عروض الأسعار
باستخدام BidResponse. إذا كان مقدّم عروض الأسعار قد فعّل ميزة الملاحظات في الوقت الفعلي،
ففي طلب عرض أسعار لاحق، يرسل "المشترون المعتمَدون" ملاحظات حول
الردّ في رسالة BidFeedback:
messageBidFeedback{//TheuniqueidfromBidRequest.id.optionalstringrequest_id=1;//Thestatuscodeforthead.Seecreative-status-codes.txtinthe//technicaldocumentationforalistofids.optionalint32creative_status_code=2;//Deprecated.ThisfieldisnotpopulatedandwillberemovedafterMarch,//2025.Ifthebidwontheauction,thisisthepricepaidinyouraccount//currency.Ifthebidparticipatedintheauctionbutwasout-bid,this//istheCPMthatshouldhavebeenexceededinordertowin.Thisisnot//setifthebidwasfilteredpriortotheauction,ifthepublisheror//winningbidderhasoptedoutofpricefeedbackorifyouraccounthas//optedoutofsharingwinningpriceswithotherbidders.Forfirst-price//auctions,minimum_bid_to_winispopulatedinsteadofthisfield.optionaldoubleprice=3[deprecated=true];//Theminimumbidvaluenecessarytohavewontheauction,inyouraccount//currency.Ifyourbidwontheauction,thisisthesecondhighestbid//thatwasnotfiltered(includingthefloorprice).Ifyourbiddidn't win//theauction,thisisthewinningcandidate's bid. This field will only be//populatedifyourbidparticipatedinafirst-priceauction,andwillnot//bepopulatedifyourbidwasfilteredpriortotheauction.optionaldoubleminimum_bid_to_win=6;//Theminimumbidvaluenecessarytohavewontheserver-sidecomponentof//theoverallauctiongiventhattherewasalsoaninterestgroupbidding//componenttotheoverallauctionwhichranusingtheProtectedAudience//API.ThevalueisexpressedinCPMofthebuyeraccountcurrency.The//minimumbidtowinfortheoverallauction,includingbidsfromthe//server-sideandtheon-deviceinterestgroupcomponents,ispopulatedin//theminimum_bid_to_winfieldofthesameBidFeedbackobject.optionaldoublesscminbidtowin=14;//Billableeventratemultiplierthatwasappliedtothisbidduring//ranking.Theadjustmentreflectsthelikelihoodthatyourbidwould//generateabillableevent(namely,theadrenderssuccessfully)ifitwon//theauction,relativetotheprobabilitythatotherbidsgeneratea//billableeventiftheywontheauction.Thisadjustmentcanbelargeror//smallerthan1.Thisaffectsthefinalrankingintheauctiononly;in//particular,thismultiplierdoesnotaffectthepaymentorwhetherthe//bidclearsanyfloorprice.optionalfloatbillable_event_rate_bid_adjustment=13[default=1];//WhenapublisherusesanRTBauctionandwaterfall-basedSDKmediationon//thesamequery,thewinnerofthereal-timeauctionmustalsocompetein//amediationwaterfall(whichisorderedbyprice)towintheimpression.//Ifthebidparticipatedintheauctionandtherewasnowaterfall,the//valueofthisfieldis0.Ifthebidparticipatedintheauctionand//therewasawaterfall,thevalueofthisfieldisapricerepresentinga//samplebidfromtheeligiblemediationnetworksthatwerehigherthanthe//auctionwinner,weightedbyexpectedfillrate.Thisfieldcanbeused//inconjunctionwithminimum_bid_to_wintotrainbiddingmodels.TheCPM//isinyouraccountcurrency.optionaldoublesampled_mediation_cpm_ahead_of_auction_winner=8;messageEventNotificationToken{//Thecontentsofthetoken.optionalstringpayload=1;}//Thetokenincludedinthecorrespondingbid.optionalEventNotificationTokenevent_notification_token=4;//ThecreativeIDincludedinthecorrespondingbid.optionalstringbuyer_creative_id=5;//Possibletypesofbidresponsefeedbackobjects.enumFeedbackType{FEEDBACK_TYPE_UNSPECIFIED=0;//Feedbackforabidthatwassubmittedonabidresponse.BID_FEEDBACK=1;//Feedbackforaninterestgroupbuyersubmittedonabidresponseto//particpateinaninterestgroupbiddingcomponentoftheauctionrun//usingtheProtectedAudienceAPI.INTEREST_GROUP_BUYER_FEEDBACK=2;}//ThetypeoftheBidFeedbackmessage.Googlewillsendseparate//BidFeedbackobjectsfor://a)Eachbidsubmittedonabidresponse//b)Eachbuyersubmittedonabidresponsetoparticpateinaninterest//groupbiddingcomponentoftheauctionrunusingtheProtectedAudience//API.optionalFeedbackTypefeedbacktype=15;//Originofaninterestgroupbuyerthatwasincludedinthebidresponse.//Thisfieldispopulatedonlyforfeedbackwhereabidderoptedinan//interestgroupbuyertoparticipateintheinterestgroupbidding//componentoftheoverallauctionrunusingtheProtectedAudienceAPI.//Tolearnmoreaboutorigins,seehttps://www.rfc-editor.org/rfc/rfc6454.//TolearnmoreaboutinterestgroupbiddingandtheProtectedAudience//API,see//https://developers.google.com/authorized-buyers/rtb/fledge-origin-trial.optionalstringbuyerorigin=16;//Thestatuscodeforthesubmittedinterestgroupbuyer.Thisfieldis//onlypopulatedinthefeedbackforaninterestgroupbuyerthatabidder//requestedtoenterintotheinterestgroupauctionthroughthebid//response.Individualcreativestatuscodesofbidssubmittedbythebuyer//intheon-deviceinterestgroupauctionarenotavailable.See//https://storage.googleapis.com/adx-rtb-dictionaries/interest-group-buyer-status-codes.txt//foralistofinterestgroupbuyerstatuscodes.optionalint32igbuyerstatus=17;}
من هذه الرسالة، الحقل الأول الذي يجب التحقّق منه هو
bid_feedback.creative_status_code، ويمكنك العثور على معنى الرمز
في
creative-status-codes.txt. يُرجى العلم أنّه في حال فوزك بعرض السعر، يمكنك إيقاف ميزة تلقي ملاحظات عن الأسعار. لمزيد من المعلومات، يُرجى الاطّلاع على كيفية
إيقاف هذه الميزة.
تتضمّن الملاحظات في الوقت الفعلي معرّف طلب عرض السعر وأحد يليه:
نتيجة المزاد
ملاحظات في الوقت الفعلي
لم يقدّم المشتري عرض سعر.
لا شيء.
أرسل المشتري عرض سعر تمّت فلترته قبل الوصول إلى المزاد.
بعد تقديم عرض سعر في مزاد السعر الأول، ستتلقّى ملاحظات في الوقت الفعلي، بما في ذلك الحقلَين minimum_bid_to_win و
sampled_mediation_cpm_ahead_of_auction_winner في حال عدم فلترة عرض السعر
من المزاد. يمكن استخدام هذه الإشارات لتوجيه
منطق عروض الأسعار بشأن مقدار ارتفاع عرض السعر أو انخفاضه من أجل
الحصول على مرّة الظهور.
minimum_bid_to_win: الحد الأدنى لعرض السعر الذي كان من الممكن
تقديمه للفوز بمزاد عروض الأسعار في الوقت الفعلي. إذا فزت بالمزاد، سيكون
هذا هو أقل عرض سعر كان بإمكانك تقديمه مع الحفاظ على الفوز. إذا خسرت المزاد، سيكون هذا هو عرض السعر الفائز.
sampled_mediation_cpm_ahead_of_auction_winner: إذا كانت هناك
شبكات أخرى في سلسلة التوسّط، تكون قيمة
هذا الحقل سعرًا يمثّل عيّنة عرض سعر من إحدى
شبكات التوسّط المؤهّلة التي كانت أعلى من الفائز في المزاد، ويتمّ تقييمه
حسب معدّل الإشغال المتوقّع. سيتم ضبط هذا الخيار على 0 إذا لم يكن من المتوقّع أن يتم ملء أيّ من الشبكات في
سلسلة التوسّط، أو إذا لم يستخدم الناشر توسّط SDK.
آلية العمل
لوصف العمليات الحسابية المستخدَمة لتحديد القيم المحتملة
لـ minimum_bid_to_win و
sampled_mediation_cpm_ahead_of_auction_winner، علينا أولاً
تحديد ما يلي:
في ما يلي تكلفة كل ألف ظهور في سلسلة التوسّط بترتيب تنازلي:
\[C_1, C_2, …, C_n\]
في ما يلي معدّلات الملء المقابلة لتكلفة كل ألف ظهور في
سلسلة التوسّط:
\[f_1, f_2, …, f_n\]
في ما يلي دالة تُستخدَم لتحديد التكلفة المتوقّعة لكل ألف ظهور واحتمالية
حدوثها من عنصر سلسلة التوسّط \(i\)، استنادًا إلى معدل заполнения
المُعطى:
\(X_i = \{C_i\) مع الاحتمالية \(f_i\)؛ \(0\) مع الاحتمالية \(1 - f_i\}\)
ستكون سلسلة التوسّط الفائزة النهائية على النحو التالي:
\[\{C_1, C_2, …, C_K, W\}\]
حيث \(W\) هو عرض السعر الفائز، و \(C_K > W >= C_{K+1}\)
يُشار إلى السعر الاحتياطي أو السعر الأدنى بالرمز \(F\).
يُشار إلى عرض السعر الذي حلّ ثانيًا باسم \(R\).
عمليات احتساب الفائز في المزاد
الحقل
العملية الحسابية
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) مع الاحتمالية \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
لـ \(1 <= i <= K\).
عمليات احتساب الخاسر في المزاد
الحقل
العملية الحسابية
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
مثال على سلسلة توسّط بسيطة
لنفترض أنّ الناشر يستخدم كلًّا من عروض الأسعار في الوقت الفعلي وسلسلة توسّط حزمة تطوير البرامج (SDK) على النحو التالي:
سلسلة توسّط حِزم تطوير البرامج (SDK)
التكلفة المتوقّعة لكل ألف ظهور
معدل التعبئة
الشبكة 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
الشبكة 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
الشبكة 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
الشبكة 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
نفترض ما يلي كنتيجة لمزاد RTB:
مزاد "عروض الأسعار في الوقت الفعلي"
التكلفة لكل ألف ظهور
الفائز في المزاد (W)
$1,00
المركز الثاني في المزاد (R)
0.05 دولار أمريكي
السعر الاحتياطي / الحد الأدنى (F)
$0
عرض السعر الذي فاز بالمزاد
في ما يلي مثال على كيفية احتساب القيم واحتمالات
minimum_bid_to_win و
sampled_mediation_cpm_ahead_of_auction_winner لمحاولة bidding التي فازت.
في ما يلي مثال على كيفية احتساب القيم واحتمالات
minimum_bid_to_win و
sampled_mediation_cpm_ahead_of_auction_winner لسلسلة
عروض أسعار خسرت.
minimum_bid_to_win
الاحتمالية
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
الاحتمالية
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
تقسيم عروض الأسعار
يصف تسطيح عروض الأسعار معالجة BidRequest معقدة واحدة في طلبات عروض أسعار متعددة يتم إرسالها إلى
تطبيقك. عند تسطيح طلب عرض سعر، يمكنك معرفة طلبات عروض الأسعار التي كانت
جزءًا من الطلب الأصلي لأنّها ستحتوي على قيمة متطابقة في حقل
BidRequest.ext.google_query_id.
تكون ميزة تسطيح عروض الأسعار مفعّلة تلقائيًا، ولكن يمكنك التواصل مع مدير حسابك
إذا كنت تفضّل إيقافها.
أشكال الإعلانات
يمكن أن تقبل بعض فرص الإعلانات أشكالًا متعددة. من خلال تسطيح عروض الأسعار، يتم إرسال كل
تنسيق في طلب عرض سعر منفصل حيث تكون السمات، مثل معرّفات ملف الدفع
المؤهّلة، ذات صلة بالتنسيق المحدّد في الطلب.
سيتم تجميع طلبات عروض الأسعار التي تحتوي على التنسيقات التالية في
طلبات عروض أسعار منفصلة:
بانر
فيديو
الصوت
مدمجة مع المحتوى
مثال على تسطيح شكل الإعلان
في ما يلي مثال يعرض طلب عروض أسعار OpenRTB JSON المبسّط بدون تسطيح ملف التنسيق الإعلاني مقارنةً بمجموعة مماثلة من الطلبات المسطّحة:
يمكن أن تنطبق فرصة عرض إعلانية لمقدّم عروض أسعار معيّن على أنواع مختلفة من الصفقات، بالإضافة إلى المزاد المفتوح. عند تسطيح عروض الأسعار للصفقات، سيتم إرسال طلب عرض سعر واحد للمزاد المفتوح، وواحد لكل نوع من الصفقات التي يتم تحديد سعرها بشكل ثابت. من الناحية العملية، يمكن أن تختلف قيود الإعلانات بين أنواع المزادات والصفقات الثابتة القيمة. على سبيل المثال، بالنسبة إلى فرصة إعلان فيديو معيّنة متاحة لكل من المزاد المفتوح والصفقة الثابتة القيمة، سيتلقّى مقدّم عروض الأسعار طلبات عروض أسعار مختلفة لكل منها، حيث يمكن أن تختلف القيود، مثل الحد الأقصى لمدة الإعلان وما إذا كان يُسمح بإعلانات قابلة للتخطّي. نتيجةً لذلك، فإنّ تسطيح الفرص الإعلانية يتيح لك بسهولة أكبر تمييز القيود المفروضة على الإعلانات في المزاد المفتوح والصفقات بسعر ثابت.
إمكانية التخطّي ومدة الفيديو
لا تتضمّن مواصفات OpenRTB حقولًا منفصلة لتحديد الحد الأقصى
لمدّة إعلانات الفيديو القابلة للتخطّي وغير القابلة للتخطّي. في عملية التنفيذ التي تتّبعها Google، تتم معالجة عروض الأسعار لتتمكّن من التمييز بين هذه العروض باستخدام الحقلَين الحاليَين
BidRequest.video.maxduration و
BidRequest.video.skip.
في ما يلي مثال على كيفية تسطيح مستودع الفيديو عندما يكون
الحد الأقصى لمدة الإعلان غير القابل للتخطي هو 15 والحد الأقصى
لمدة الإعلان القابل للتخطي هو 60.
مثال
max_ad_duration
skip (true OR false)
الطلب الأصلي بدون تسطيح
15
true
الطلب المُقسَّم رقم 1: الإعلانات غير القابلة للتخطّي
15
false
الطلب المسطّح رقم 2: قابل للتخطّي
60
true
لن يتم تجميع طلبات عروض الأسعار المتعلّقة بمدة الفيديو القابلة للتخطّي إلا عند استيفاء
هذه الشروط:
أن يسمح الطلب بعرض الفيديو
يُسمح بعرض كلٍّ من الفيديوهات القابلة للتخطّي وغير القابلة للتخطّي، وتختلف قيمة المدّتَين القصوى المعنيّتَين.
هذا الطلب مؤهَّل للمزاد الخاص أو المزاد المفتوح.
يمكنك إيقاف هذا النوع من التسطيح من خلال التواصل مع مدير حسابك الفني. عند إيقاف هذه الميزة، إذا سمح الناشر بعرض كلٍّ من إعلانات الفيديو القابلة للتخطّي
وغير القابلة للتخطّي بحدّ أقصى مختلف للمدّة استنادًا إلى إمكانية التخطّي،
سيتم ضبط skip على true و
سيتم ضبط maxduration على المدّة الأقصر بين
قيود الإعلانات القابلة للتخطّي وغير القابلة للتخطّي.
مجموعات الفيديوهات
يتم تجميع طلبات عروض الأسعار لمجموعة فيديوهات تتضمّن فرص إعلانية متعددة،
بحيث يكون كل طلب عرض سعر مخصّصًا لفرصة إعلانية فردية من هذه المجموعة.
يتيح لك ذلك تقديم عروض أسعار لفرص إعلانية متعدّدة لمجموعة معيّنة من الإعلانات المتسلسلة.
القياس المفتوح
تتيح لك ميزة "القياس المفتوح" تحديد مورّدي خدمات تابعين لجهات خارجية يوفّرون خدمات قياس وإثبات الهوية مستقلّة للإعلانات التي يتم عرضها في بيئة التطبيقات المتوافقة مع الأجهزة الجوّالة.
يمكنك تحديد ما إذا كان الناشر يتيح ميزة "القياس المفتوح" في طلب مزايدة من خلال التحقّق مما إذا كانت فرصة الإعلان تستبعد سمة OmsdkType:
OMSDK 1.0 المتوفّرة في سمات مواد العرض التي يمكن للناشر استبعادها. يمكن العثور على هذه السمة ضمن battrBanner
أو Video، وذلك استنادًا
إلى التنسيق.
لمزيد من المعلومات حول كيفية تفسير طلبات عروض الأسعار التي تحتوي على إشارات قياس الأداء المفتوح، يُرجى الرجوع إلى مقالة "مركز المساعدة" حول Open Measurement
SDK.
نماذج طلبات عروض الأسعار
تعرض الأقسام التالية نماذج لطلبات عروض الأسعار لأنواع إعلانات مختلفة.
تاريخ التعديل الأخير: 2025-07-09 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-09 (حسب التوقيت العالمي المتفَّق عليه)"],[[["Bid requests are sent as HTTP POST requests with a binary payload in Protobuf format, and they are parsed into a `BidRequest` object for access."],["Billing IDs, which are essential for transactions, are provided in specific fields of the `BidRequest` and must be used in corresponding bids."],["Real-time feedback, available in subsequent bid requests, offers details like creative status codes and minimum bid amounts, including a custom `event_notification_token` for debugging."],["First-price auction bidding models utilize `minimum_bid_to_win` and `sampled_mediation_cpm_ahead_of_auction_winner` feedback signals to help adjust bidding strategies."],["Bid flattening separates complex `BidRequest` data into multiple requests based on ad formats, deals, and video ad types, all identifiable by a shared `google_query_id`."]]],["Bid requests are HTTP POSTs using OpenRTB Protobuf, replacing the deprecated Google RTB protocol. Parsing involves `ParseFromString()` to access fields in the `BidRequest` object. Billing IDs, found in `BidRequest.imp.ext.billing_id` and `BidRequest.imp.pmp.deal.ext.billing_id`, must be specified in `BidResponse.seatbid.bid.ext.billing_id`. Key information comes from dictionary files. Bid URL macros dynamically insert `BidRequest` data. Complex bid requests can be broken into simpler, flattened requests per format or deal, such as skippable/non-skippable video ads, or video pods. Bidders get real-time feedback. The provided sample requests are used to help the process.\n"]]