پاسخ را بسازید

پس از اینکه درخواست شما درخواست پیشنهاد از طرف Google را پردازش کرد، باید پاسخی بسازد و ارسال کند. این راهنما توضیح می دهد که چگونه برنامه خود را برای ایجاد پاسخ کدنویسی کنید.

پیام BidResponse ایجاد کنید

برای ارسال یک پیشنهاد، درخواست مناقصه شما باید با یک BidResponse حاوی یک Bid در قالب پیکربندی شده شما به یک درخواست پیشنهاد پاسخ دهد. اگر از فرمت JSON استفاده می کنید، پاسخ شما باید هدر Content-Type را روی application/json; charset=utf-8 و JSON BidResponse در بدنه قرار دهید. اگر از فرمت Protobuf استفاده می‌کنید، برنامه شما باید هدر Content-Type را روی application/octet-stream تنظیم کند و BidResponse را در بدنه قرار دهد.

برای ساخت و سریال‌سازی BidResponse برای قالب Protobuf، باید کتابخانه‌های Protobuf را بر اساس openrtb.proto و openrtb-adx.proto ایجاد و استفاده کنید که به ترتیب فیلدهای استاندارد OpenRTB BidResponse و پسوندهای Google را در Protobuf پیاده‌سازی می‌کنند. اینها را می توان در Protos & Reference Data پیدا کرد.

اگر نمی‌خواهید برای یک نمایش پیشنهاد قیمت بدهید، باید یک پاسخ HTTP 204 خالی برگردانید. درخواست شما باید به هر BidRequest پاسخ بدهد. زمان‌بندی‌ها و پاسخ‌هایی که قابل تجزیه نیستند، خطا در نظر گرفته می‌شوند و Google پیشنهاد دهندگان را با نرخ خطای بالا کاهش می‌دهد.

شناسه خلاق

BidResponse شما یک خلاقیت را از طریق فیلد BidResponse.seatbid.bid.crid (محدودیت 64 بایت) مشخص می کند. حتی خلاقیت‌های مشابه باید مقادیر منحصر به فردی برای این فیلد داشته باشند، اگر از نظر ویژگی‌های قابل‌توجهی متفاوت باشند، از جمله: اندازه، URL اعلام‌شده، ویژگی‌های خلاقانه، و انواع فروشنده. به عبارت دیگر، شما باید به هر دو آگهی که:

  • متفاوت نگاه کنید یا رفتار کنید.
  • رندر به تصاویر مختلف
  • رندر با ابزارهای مختلف (به عنوان مثال، یک تبلیغ از یک تصویر تشکیل شده است، در حالی که دیگری یک ویدیو است).

همانطور که برنامه خود را طراحی می کنید، باید در مورد روشی سیستماتیک برای تولید شناسه تصمیم بگیرید که برای انواع خلاقیت هایی که قصد ارسال آن را دارید منطقی باشد.

ویژگی های آگهی

Google توصیه می‌کند که ویژگی‌های خلاقانه را برای توصیف ویژگی‌های تبلیغ و هدف‌یابی آن با استفاده از ترکیبی از BidResponse.seatbid.bid.apis و BidResponse.seatbid.bid.attr یا پسوند BidResponse.seatbid.bid.ext.attribute اعلام کنید. موارد زیر نحوه بیان ویژگی ها را توضیح می دهد:

  • VPAID
    BidResponse.seatbid.bid.apis را روی VPAID_1 یا VPAID_2 تنظیم کنید. برای فرمت JSON، این می تواند به ترتیب روی 1 یا 2 تنظیم شود.
  • MRAID
    BidResponse.seatbid.bid.apis را روی MRAID_1 یا 3 برای قالب JSON تنظیم کنید.
  • SIZELESS
    BidResponse.seatbid.bid.attr روی RESPONSIVE یا 18 برای قالب JSON تنظیم کنید.
  • PLAYABLE
    این با تنظیم BidResponse.seatbid.bid.attr روی USER_INTERACTIVE یا 13 برای قالب JSON نشان داده می شود.

برای توضیح نحوه دریافت بازخورد در مورد ویژگی‌های شناسایی شده خلاقیت‌هایتان، به منبع Creatives مراجعه کنید.

باز کردن زمینه های مناقصه

پاسخ های پیشنهادی ارسال شده توسط پیشنهاد دهندگان مبادله ای و شبکه شرکت کننده در مناقصه باز مشابه پاسخ های خریداران مجاز شرکت کننده در مناقصه استاندارد بلادرنگ است. مشتریان مناقصه باز می‌توانند تعداد کمی فیلد اضافی را مشخص کنند، و چند فیلد موجود ممکن است کاربردهای جایگزین داشته باشند. این موارد شامل موارد زیر است:

میدان جزئیات
BidResponse.imp.pmp.deals.id

شناسه معامله از فضای نام صرافی که با این پیشنهاد مرتبط است و به ناشران گزارش می‌شود.

BidResponse.seatbid.bid.ext.exchange_deal_type

نوع معامله گزارش شده به ناشران که بر نحوه برخورد با معامله در حراج تأثیر می گذارد.

BidResponse.seatbid.bid.ext.third_party_buyer_token اگر صرافی به عنوان یک مناقصه آزاد یک واسطه باشد، رمز برای شناسایی اطلاعات خریدار شخص ثالث نهایی استفاده می شود. این مورد از خریدار شخص ثالث دریافت می‌شود و باید بدون تغییر در پاسخ پیشنهاد به Google ارسال شود.

توصیه ها

  • اتصالات HTTPS دائمی (همچنین به عنوان "keep-alive" یا "connection reuse" شناخته می شود) را در سرورهای خود فعال کنید. حداقل تایم اوت را روی 10 ثانیه تنظیم کنید—مقادیر بالاتر در بسیاری از موارد مفید هستند. Google این مورد را در طول آزمایش‌های تاخیر اولیه برنامه شما تأیید می‌کند، زیرا خریداران مجاز درخواست‌ها را با نرخ بالایی ارسال می‌کنند و باید از سربار تأخیر ایجاد یک اتصال TCP جداگانه برای هر درخواست اجتناب کنند.
  • نشانی وب اختیاری ردیابی نمایش را برای ردیابی زمان نمایش نمایش به جای زمانی که پیشنهاد دهنده برنده می شود، اضافه کنید. به دلیل افت بین بردها و رندرها، این آمار ردیابی دقیق تری را به همراه دارد.

  • کد پیشنهادی خود را بدون وابستگی به فیلدهای منسوخ نگه دارید، که می تواند باعث شکست پیشنهادات شما با خطا شود.
  • BidResponse.seatbid.bid.w و BidResponse.seatbid.bid.h را در BidResponse خود قرار دهید. یک BidResponse به درخواستی که شامل چندین اندازه تبلیغات است باید شامل این فیلدها باشد در غیر این صورت از حراج حذف خواهد شد.
  • اندازه پاسخ خود را به کمتر از 8K محدود کنید. پاسخ‌های بسیار بزرگ ممکن است تأخیر شبکه را افزایش داده و باعث وقفه شود.
  • دستورالعمل‌های پیشنهادات موجودی iOS را که به ذکر منبع SKAdNetwork نیاز دارند، دنبال کنید.

نمونه پاسخ پیشنهادی

نمونه‌های زیر نمونه‌های قابل خواندن توسط انسان از درخواست‌های Protobuf و JSON را نشان می‌دهند.

OpenRTB Protobuf

OpenRTB JSON

مهم: پیام های Protobuf نشان داده شده در نمونه ها در اینجا به عنوان متن قابل خواندن توسط انسان نشان داده می شوند. با این حال، پیام ها به این صورت از طریق سیم ارسال نمی شوند. هنگام استفاده از فرمت OpenRTB Protobuf، فقط پیام های BidResponse سریال پذیرفته می شوند.

می توانید با استفاده از کد C++ زیر یک پیام BidResponse ایجاد و سریال کنید:

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

خلاقیت را مشخص کنید

پاسخ پیشنهادی شما، خلاقیتی را که در صورت برنده شدن پیشنهاد شما ارائه می شود، مشخص می کند. پیشنهاد شما باید شامل یکی از قالب های تبلیغاتی پشتیبانی شده (AMP، ویدئو، بومی) باشد. در این مثال، ما خلاقیت را با استفاده از فیلد html_snippet مشخص می کنیم.

همچنین، می‌توانید خلاقیت خود را با استفاده از یکی از فیلدهای زیر بر اساس قالب آگهی مشخص کنید:

  • آگهی ارائه شده SDK
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • AMP
    • BidResponse.seatbid.bid.amp_ad_url
  • ویدئو
    • BidResponse.seatbid.bid.adm
  • بومی
    • BidResponse.seatbid.bid.adm_native

تبلیغی را مشخص کنید که با استفاده از یک قطعه HTML در قسمت BidResponse.seatbid.bid.adm روی سرور(های) خود میزبانی می شود. این قطعه در یک iFrame درج شده در صفحه وب محصور می شود و در نتیجه آگهی بازیابی و هنگام بارگذاری صفحه نمایش داده می شود. شما باید قطعه HTML را طوری بسازید که تبلیغ (بنر یا بینابینی) به درستی در iFrame و در اندازه مناسب برای جایگاه تبلیغاتی که در آن مناقصه می‌دهید ارائه شود.

علاوه بر این، اندازه آگهی اعلام شده در پاسخ پیشنهاد باید دقیقاً با یکی از ترکیبات اندازه در درخواست پیشنهاد مطابقت داشته باشد زمانی که:

  • یک آگهی یک بنر معمولی است (نه ویدیو، بومی یا بینابینی).
  • مناقصه گزار اندازه را در پاسخ مناقصه اعلام کرده است. هر زمان که بیش از یک اندازه در درخواست وجود داشته باشد، اعلام اندازه لازم است.
  • یک استثنا برای تبلیغات بینابینی ایجاد شده است. برای موارد بینابینی، عرض باید حداقل 50 درصد عرض صفحه و ارتفاع حداقل 40 درصد از ارتفاع صفحه باشد.

می‌توانید با استفاده از هر کد HTML معتبری که به درستی رندر می‌شود، یک خلاقیت قطعه HTML را مشخص کنید، اما محدودیت‌های تعیین فیلد crid را در بخش Create BidResponse پیام در نظر داشته باشید. یکی از کاربردهای این کار قرار دادن اطلاعات اضافی در آرگومان های URL هایی است که به عنوان بخشی از رندر آگهی از سرورهای شما واکشی می شوند. این به شما امکان می‌دهد داده‌های دلخواه مربوط به نمایش را به سرورهای خود ارسال کنید.

بیشتر خط‌مشی‌های مربوط به قطعه‌های HTML که در پاسخ‌های پیشنهادی بازگردانده می‌شوند مانند تبلیغات شخص ثالث هستند. برای اطلاعات بیشتر، دستورالعمل‌های برنامه خریداران مجاز ، الزامات برای ارائه آگهی شخص ثالث ، و اعلام نشانی‌های اینترنتی کلیکی در تبلیغات را ببینید.

ماکروها را مشخص کنید

ماکروها متن قالب‌بندی‌شده‌ای هستند که در برخی از فیلدهای پاسخ پیشنهادی حاوی URL‌هایی هستند که در زمان ارائه آگهی با یک مقدار مرتبط جایگزین می‌شوند. برای مثال، اگر پیشنهاد برنده شما شامل ماکرو AUCTION_PRICE در خلاقیت قطعه HTML همراه با پیشنهاد شما باشد، ماکرو با مقداری جایگزین می‌شود که می‌توانید آن را رمزگشایی کنید تا مبلغی را که برای نمایش در حراج پرداخت کرده‌اید تعیین کنید.

می توانید ماکروها را در فیلدهای زیر قرار دهید:

  • BidResponse.seatbid.bid.adm

    ماکروها برای قالب‌های قطعه HTML، بومی، URL ویدیو، و فرمت‌های VAST XML ویدیویی پشتیبانی می‌شوند.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    فقط ماکروهای WINNING_PRICE و WINNING_PRICE_ESC مخصوص Google برای خلاقیت‌های AMP پشتیبانی می‌شوند.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    اگر به بیش از یک URL صدور صورت حساب نیاز دارید، از این به جای BidResponse.seatbid.bid.burl استفاده کنید.

به عنوان مثال، می‌توانید با قرار دادن ${MACRO} در URL مورد استفاده برای واکشی خلاقیت، یک ماکرو را به‌عنوان بخشی از یک قطعه HTML بگنجانید، جایی که MACRO یکی از ماکروهای پشتیبانی شده است که در مشخصات OpenRTB توضیح داده شده است.

ماکروهای گوگل

گوگل از ماکروهای اضافی به غیر از مواردی که در مشخصات OpenRTB یافت می شود، پشتیبانی می کند. اینها قالب بندی متفاوتی دارند و اگر در URL جاسازی شوند به صورت %%MACRO%% ظاهر می شوند. جدول زیر این ماکروها را توضیح می دهد:

ماکرو توضیحات
ADVERTISING_IDENTIFIER به خریداران این امکان را می دهد که IDFA iOS یا شناسه تبلیغاتی Android را در نمایش نمایش دریافت کنند. برای جزئیات بیشتر به رمزگشایی شناسه‌های تبلیغ‌کننده مراجعه کنید.
CACHEBUSTER نمایش رشته ای از یک عدد صحیح تصادفی، بدون علامت، چهار بایتی.
CLICK_URL_UNESC

نشانی وب کلیک بدون فرار برای آگهی. در قطعه، یک نسخه فرار از URL کلیک شخص ثالث باید مستقیماً از ماکرو پیروی کند.

به عنوان مثال، اگر URL کلیک شخص ثالث http://my.adserver.com/some/path/handleclick?click=clk باشد، کد زیر را می توان با نسخه تکی از URL کلیک شخص ثالث پس از فراخوانی کلان استفاده کرد:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

در زمان ارائه آگهی، این به موارد زیر گسترش می یابد:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

URL ابتدا کلیک را در Google ثبت می کند و سپس به URL کلیک شخص ثالث هدایت می شود.

CLICK_URL_ESC

نشانی اینترنتی کلیک فرار شده برای آگهی. اگر لازم است ابتدا مقدار را از طریق سرور دیگری که سپس یک تغییر مسیر را برمی گرداند، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال، کد زیر را می توان در یک قطعه HTML استفاده کرد:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

در زمان ارائه آگهی، این به موارد زیر گسترش می یابد:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

این کلیک را در my.adserver.com ثبت می‌کند که سپس مسئول هدایت مجدد به URL ارسال شده در پارامتر google_click_url خواهد بود. این فرض می‌کند که my.adserver.com از پارامتر google_click_url خارج می‌شود.

می‌توانید پس از %%CLICK_URL_ESC%% یک نشانی وب دوبار فرار اضافه کنید. پس از انجام unescaping توسط my.adserver.com ، یک نسخه تکی از URL به google_click_url اضافه می شود. وقتی google_click_url واکشی شد، یک بار دیگر از حالت Escape خارج می شود و سپس هدایت می شود.

CLICK_URL_ESC_ESC

نشانی اینترنتی دوگانه برای آگهی. اگر لازم است ابتدا مقدار را از طریق سرور دیگری که سپس یک تغییر مسیر را برمی گرداند، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال، کد زیر را می توان در یک قطعه HTML استفاده کرد:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

در زمان ارائه آگهی، این به موارد زیر گسترش می یابد:

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME اگر درخواست پیشنهاد به SSL نیاز ندارد به http: گسترش می یابد یا اگر درخواست پیشنهاد به SSL نیاز دارد به https: گسترش می یابد.
SITE دامنه URL محتوا یا شناسه ناشناس موجودی ناشناس.
SITE_URL منسوخ شده است. ماکرو SITE جایگزین شده است که عملکرد یکسانی را ارائه می دهد.
TZ_OFFSET افست منطقه زمانی
VERIFICATION

مقادیر مختلف برای تولید و زمانی که خلاقیت در خط لوله تأیید اسکن می شود. قالب این است: %%?VERIFICATION:true-val:false-val%% که در آن هر مقدار به جز ماکروها را می توان برای true-val و false-val استفاده کرد، از جمله رشته های خالی. برای مناقصه باز، توصیه می کنیم صرافی ها از این ماکرو استفاده کنند. پس از انجام این کار، پلتفرم های سمت تقاضا نیازی به ایجاد تغییرات ندارند.

به عنوان مثال، اگر قرار باشد یک خلاق %%?VERIFICATION:-1:5000%% را شامل شود، جایگزینی متن 5000 در هنگام ارائه و -1 در خط لوله تأیید خواهد بود. این برای کمک به تمایز بین این دو مجموعه پینگ است.

WINNING_PRICE

هزینه نمایش رمزگذاری شده (یعنی CPI به جای CPM) در میکرو ارز حساب. به عنوان مثال، CPM برنده 5 دلار آمریکا معادل 5000000 میکرو CPM یا 5000 میکرو CPI است. مقدار رمزگشایی شده WINNING_PRICE در این مورد 5000 خواهد بود. قیمت برنده در CPI مشخص شده است.

برای تجزیه این ماکرو، باید برنامه‌ای را پیاده‌سازی کنید که تأییدیه‌های قیمت را رمزگشایی می‌کند. برای اطلاعات بیشتر به صفحه تایید قیمت رمزگشایی مراجعه کنید.

WINNING_PRICE_ESC WINNING_PRICE از URL فرار کرد.

Google از شما می‌خواهد که از ماکرو CLICK_URL_UNESC یا CLICK_URL_ESC در خلاقیت تبلیغ ارائه‌شده توسط شخص ثالث استفاده کنید. Google از ماکروهای CLICK_URL برای ردیابی کلیک استفاده می کند.

URL فرار در ماکروها از طرح زیر استفاده می کند:

  • کاراکتر فاصله با علامت مثبت ( + ) جایگزین می شود.
  • کاراکترهای الفبایی (0-9، az، AZ) و کاراکترهای مجموعه !()*،-./:_~ بدون تغییر باقی می مانند.
  • همه نویسه‌های دیگر با %XX جایگزین می‌شوند، که در آن XX عدد هگزادسیمال نشان‌دهنده کاراکتر است.

محدودیت ها و الزامات ناشر

درخواست مناقصه شامل اطلاعاتی درباره انواع محدودیت‌ها و الزاماتی است که ناشران برای خلاقیت‌ها در حراج اعمال می‌کنند.

  • BidRequest.bcat
    • می‌توانید دسته‌های مسدودشده مشخص‌شده توسط این فیلد را با دسته‌های شناسایی شده برای خلاقیت‌های ارسالی‌تان با استفاده از فیلد detectedCategories API Bidding در زمان واقعی مقایسه کنید.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • در عمل این همیشه true است زیرا Google برای همه خلاقیت ها به پشتیبانی SSL نیاز دارد.
  • BidRequest.imp.{audio/banner/native/video}
  • BidRequest.imp.{audio/banner/native/video}.api
  • BidRequest.imp.{audio/banner/native/video}.battr
  • BidRequest.imp.{audio/banner/video}.mimes

هرگز با تبلیغاتی که دارای یک ویژگی محدود است، پیشنهاد قیمت ندهید. برای ویژگی‌های مجاز مانند نوع فروشنده، آگهی را فقط در صورتی برگردانید که نوع فروشنده آن در لیست allowed_vendor_type در BidRequest باشد. فقط قالب‌های تبلیغاتی که در درخواست مناقصه با پر کردن فیلدهایی مانند BidRequest.imp.banner مشخص شده‌اند باید در پیشنهاد شما گنجانده شوند. برای جزئیات بیشتر به نظرات این فیلدها در تعریف بافر پروتکل BidRequest مراجعه کنید.

اگر تبلیغی در BidResponse برگردانده شد، باید BidResponse.seatbid.bid.attr ، BidResponse.seatbid.bid.cat ، و BidResponse.seatbid.bid.adomain یا BidResponse.seatbid.bid.adm_native.link.url BidResponse دقیقا تنظیم کنید. اگر یک تبلیغ دارای چندین مقدار قابل اجرا برای این فیلدها باشد، باید هر مقدار را درج کنید. برای جزئیات بیشتر به نظرات این فیلدها در تعریف بافر پروتکل BidResponse مراجعه کنید. پاسخ‌هایی که این فیلدها را تنظیم نکرده‌اند، کنار گذاشته می‌شوند.

باز کردن اندازه‌گیری

Open Measurement به شما امکان می‌دهد فروشنده‌های شخص ثالثی را مشخص کنید که خدمات اندازه‌گیری و تأیید مستقلی را برای تبلیغات ارائه‌شده در محیط‌های برنامه تلفن همراه ارائه می‌کنند.

فرمت های تبلیغاتی پشتیبانی شده شامل ویدئو، بنر و تبلیغات بینابینی است. برای اطلاعات بیشتر در مورد نحوه استفاده از Open Measurement در یک پاسخ پیشنهادی حاوی این قالب‌ها، به مقاله Open Measurement SDK Help Center مراجعه کنید.

نمونه پاسخ های پیشنهادی

بخش های زیر نمونه پاسخ های پیشنهادی را برای انواع مختلف تبلیغات نشان می دهد.

بنر اپلیکیشن

OpenRTB Protobuf

OpenRTB JSON

برنامه بینابینی

OpenRTB Protobuf

OpenRTB JSON

ویدیوی بینابینی برنامه

OpenRTB Protobuf

OpenRTB JSON

بومی برنامه

OpenRTB Protobuf

OpenRTB JSON

ویدئوی وب

OpenRTB Protobuf

OpenRTB JSON

بنر وب موبایل برای پیشنهاد دهنده مبادله

OpenRTB Protobuf

OpenRTB JSON

،

پس از اینکه درخواست شما درخواست پیشنهاد از طرف Google را پردازش کرد، باید پاسخی بسازد و ارسال کند. این راهنما توضیح می دهد که چگونه برنامه خود را برای ایجاد پاسخ کدنویسی کنید.

پیام BidResponse ایجاد کنید

برای ارسال یک پیشنهاد، درخواست مناقصه شما باید با یک BidResponse حاوی یک Bid در قالب پیکربندی شده شما به یک درخواست پیشنهاد پاسخ دهد. اگر از فرمت JSON استفاده می کنید، پاسخ شما باید هدر Content-Type را روی application/json; charset=utf-8 و JSON BidResponse در بدنه قرار دهید. اگر از فرمت Protobuf استفاده می‌کنید، برنامه شما باید هدر Content-Type را روی application/octet-stream تنظیم کند و BidResponse را در بدنه قرار دهد.

برای ساخت و سریال‌سازی BidResponse برای قالب Protobuf، باید کتابخانه‌های Protobuf را بر اساس openrtb.proto و openrtb-adx.proto ایجاد و استفاده کنید که به ترتیب فیلدهای استاندارد OpenRTB BidResponse و پسوندهای Google را در Protobuf پیاده‌سازی می‌کنند. اینها را می توان در Protos & Reference Data پیدا کرد.

اگر نمی‌خواهید برای یک نمایش پیشنهاد قیمت بدهید، باید یک پاسخ HTTP 204 خالی برگردانید. درخواست شما باید به هر BidRequest پاسخ بدهد. زمان‌بندی‌ها و پاسخ‌هایی که قابل تجزیه نیستند، خطا در نظر گرفته می‌شوند و Google پیشنهاد دهندگان را با نرخ خطای بالا کاهش می‌دهد.

شناسه خلاق

BidResponse شما یک خلاقیت را از طریق فیلد BidResponse.seatbid.bid.crid (محدودیت 64 بایت) مشخص می کند. حتی خلاقیت‌های مشابه باید مقادیر منحصر به فردی برای این فیلد داشته باشند، اگر از نظر ویژگی‌های قابل‌توجهی متفاوت باشند، از جمله: اندازه، URL اعلام‌شده، ویژگی‌های خلاقانه، و انواع فروشنده. به عبارت دیگر، شما باید به هر دو آگهی که:

  • متفاوت نگاه کنید یا رفتار کنید.
  • رندر به تصاویر مختلف
  • رندر با ابزارهای مختلف (به عنوان مثال، یک تبلیغ از یک تصویر تشکیل شده است، در حالی که دیگری یک ویدیو است).

همانطور که برنامه خود را طراحی می کنید، باید در مورد روشی سیستماتیک برای تولید شناسه تصمیم بگیرید که برای انواع خلاقیت هایی که قصد ارسال آن را دارید منطقی باشد.

ویژگی های آگهی

Google توصیه می‌کند که ویژگی‌های خلاقانه را برای توصیف ویژگی‌های تبلیغ و هدف‌یابی آن با استفاده از ترکیبی از BidResponse.seatbid.bid.apis و BidResponse.seatbid.bid.attr یا پسوند BidResponse.seatbid.bid.ext.attribute اعلام کنید. موارد زیر نحوه بیان ویژگی ها را توضیح می دهد:

  • VPAID
    BidResponse.seatbid.bid.apis را روی VPAID_1 یا VPAID_2 تنظیم کنید. برای فرمت JSON، این می تواند به ترتیب روی 1 یا 2 تنظیم شود.
  • MRAID
    BidResponse.seatbid.bid.apis را روی MRAID_1 یا 3 برای قالب JSON تنظیم کنید.
  • SIZELESS
    BidResponse.seatbid.bid.attr روی RESPONSIVE یا 18 برای قالب JSON تنظیم کنید.
  • PLAYABLE
    این با تنظیم BidResponse.seatbid.bid.attr روی USER_INTERACTIVE یا 13 برای قالب JSON نشان داده می شود.

برای توضیح نحوه دریافت بازخورد در مورد ویژگی‌های شناسایی شده خلاقیت‌هایتان، به منبع Creatives مراجعه کنید.

باز کردن زمینه های مناقصه

پاسخ های پیشنهادی ارسال شده توسط پیشنهاد دهندگان مبادله ای و شبکه شرکت کننده در مناقصه باز مشابه پاسخ های خریداران مجاز شرکت کننده در مناقصه استاندارد بلادرنگ است. مشتریان مناقصه باز می‌توانند تعداد کمی فیلد اضافی را مشخص کنند، و چند فیلد موجود ممکن است کاربردهای جایگزین داشته باشند. این موارد شامل موارد زیر است:

میدان جزئیات
BidResponse.imp.pmp.deals.id

شناسه معامله از فضای نام صرافی که با این پیشنهاد مرتبط است و به ناشران گزارش می‌شود.

BidResponse.seatbid.bid.ext.exchange_deal_type

نوع معامله گزارش شده به ناشران که بر نحوه برخورد با معامله در حراج تأثیر می گذارد.

BidResponse.seatbid.bid.ext.third_party_buyer_token اگر صرافی به عنوان یک مناقصه آزاد یک واسطه باشد، رمز برای شناسایی اطلاعات خریدار شخص ثالث نهایی استفاده می شود. این مورد از خریدار شخص ثالث دریافت می‌شود و باید بدون تغییر در پاسخ پیشنهاد به Google ارسال شود.

توصیه ها

  • اتصالات HTTPS دائمی (همچنین به عنوان "keep-alive" یا "connection reuse" شناخته می شود) را در سرورهای خود فعال کنید. حداقل تایم اوت را روی 10 ثانیه تنظیم کنید—مقادیر بالاتر در بسیاری از موارد مفید هستند. Google این مورد را در طول آزمایش‌های تاخیر اولیه برنامه شما تأیید می‌کند، زیرا خریداران مجاز درخواست‌ها را با نرخ بالایی ارسال می‌کنند و باید از سربار تأخیر ایجاد یک اتصال TCP جداگانه برای هر درخواست اجتناب کنند.
  • نشانی وب اختیاری ردیابی نمایش را برای ردیابی زمان نمایش نمایش به جای زمانی که پیشنهاد دهنده برنده می شود، اضافه کنید. به دلیل افت بین بردها و رندرها، این آمار ردیابی دقیق تری را به همراه دارد.

  • کد پیشنهادی خود را بدون وابستگی به فیلدهای منسوخ نگه دارید، که می تواند باعث شکست پیشنهادات شما با خطا شود.
  • BidResponse.seatbid.bid.w و BidResponse.seatbid.bid.h را در BidResponse خود قرار دهید. یک BidResponse به درخواستی که شامل چندین اندازه تبلیغات است باید شامل این فیلدها باشد در غیر این صورت از حراج حذف خواهد شد.
  • اندازه پاسخ خود را به کمتر از 8K محدود کنید. پاسخ‌های بسیار بزرگ ممکن است تأخیر شبکه را افزایش داده و باعث وقفه شود.
  • دستورالعمل‌های پیشنهادات موجودی iOS را که به ذکر منبع SKAdNetwork نیاز دارند، دنبال کنید.

نمونه پاسخ پیشنهادی

نمونه‌های زیر نمونه‌های قابل خواندن توسط انسان از درخواست‌های Protobuf و JSON را نشان می‌دهند.

OpenRTB Protobuf

OpenRTB JSON

مهم: پیام های Protobuf نشان داده شده در نمونه ها در اینجا به عنوان متن قابل خواندن توسط انسان نشان داده می شوند. با این حال، پیام ها به این صورت از طریق سیم ارسال نمی شوند. هنگام استفاده از فرمت OpenRTB Protobuf، فقط پیام های BidResponse سریال پذیرفته می شوند.

می توانید با استفاده از کد C++ زیر یک پیام BidResponse ایجاد و سریال کنید:

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

خلاقیت را مشخص کنید

پاسخ پیشنهادی شما، خلاقیتی را که در صورت برنده شدن پیشنهاد شما ارائه می شود، مشخص می کند. پیشنهاد شما باید شامل یکی از قالب های تبلیغاتی پشتیبانی شده (AMP، ویدئو، بومی) باشد. در این مثال، ما خلاقیت را با استفاده از فیلد html_snippet مشخص می کنیم.

همچنین، می‌توانید خلاقیت خود را با استفاده از یکی از فیلدهای زیر بر اساس قالب آگهی مشخص کنید:

  • آگهی ارائه شده SDK
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • AMP
    • BidResponse.seatbid.bid.amp_ad_url
  • ویدئو
    • BidResponse.seatbid.bid.adm
  • بومی
    • BidResponse.seatbid.bid.adm_native

تبلیغی را مشخص کنید که با استفاده از یک قطعه HTML در قسمت BidResponse.seatbid.bid.adm روی سرور(های) خود میزبانی می شود. این قطعه در یک iFrame درج شده در صفحه وب محصور می شود و در نتیجه آگهی بازیابی و هنگام بارگذاری صفحه نمایش داده می شود. شما باید قطعه HTML را طوری بسازید که تبلیغ (بنر یا بینابینی) به درستی در iFrame و در اندازه مناسب برای جایگاه تبلیغاتی که در آن مناقصه می‌دهید ارائه شود.

علاوه بر این، اندازه آگهی اعلام شده در پاسخ پیشنهاد باید دقیقاً با یکی از ترکیبات اندازه در درخواست پیشنهاد مطابقت داشته باشد زمانی که:

  • یک آگهی یک بنر معمولی است (نه ویدیو، بومی یا بینابینی).
  • مناقصه گزار اندازه را در پاسخ مناقصه اعلام کرده است. هر زمان که بیش از یک اندازه در درخواست وجود داشته باشد، اعلام اندازه لازم است.
  • یک استثنا برای تبلیغات بینابینی ایجاد شده است. برای موارد بینابینی، عرض باید حداقل 50 درصد عرض صفحه و ارتفاع حداقل 40 درصد از ارتفاع صفحه باشد.

می‌توانید با استفاده از هر کد HTML معتبری که به درستی رندر می‌شود، یک خلاقیت قطعه HTML را مشخص کنید، اما محدودیت‌های تعیین فیلد crid را در بخش Create BidResponse پیام در نظر داشته باشید. یکی از کاربردهای این کار قرار دادن اطلاعات اضافی در آرگومان های URL هایی است که به عنوان بخشی از رندر آگهی از سرورهای شما واکشی می شوند. این به شما امکان می‌دهد داده‌های دلخواه مربوط به نمایش را به سرورهای خود ارسال کنید.

بیشتر خط‌مشی‌های مربوط به قطعه‌های HTML که در پاسخ‌های پیشنهادی بازگردانده می‌شوند مانند تبلیغات شخص ثالث هستند. برای اطلاعات بیشتر، دستورالعمل‌های برنامه خریداران مجاز ، الزامات برای ارائه آگهی شخص ثالث ، و اعلام نشانی‌های اینترنتی کلیکی در تبلیغات را ببینید.

ماکروها را مشخص کنید

ماکروها متن قالب‌بندی‌شده‌ای هستند که در برخی از فیلدهای پاسخ پیشنهادی حاوی URL‌هایی هستند که در زمان ارائه آگهی با یک مقدار مرتبط جایگزین می‌شوند. برای مثال، اگر پیشنهاد برنده شما شامل ماکرو AUCTION_PRICE در خلاقیت قطعه HTML همراه با پیشنهاد شما باشد، ماکرو با مقداری جایگزین می‌شود که می‌توانید آن را رمزگشایی کنید تا مبلغی را که برای نمایش در حراج پرداخت کرده‌اید تعیین کنید.

می توانید ماکروها را در فیلدهای زیر قرار دهید:

  • BidResponse.seatbid.bid.adm

    ماکروها برای قالب‌های قطعه HTML، بومی، URL ویدیو، و فرمت‌های VAST XML ویدیویی پشتیبانی می‌شوند.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    فقط ماکروهای WINNING_PRICE و WINNING_PRICE_ESC مخصوص Google برای خلاقیت‌های AMP پشتیبانی می‌شوند.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    اگر به بیش از یک URL صدور صورت حساب نیاز دارید، از این به جای BidResponse.seatbid.bid.burl استفاده کنید.

به عنوان مثال، می‌توانید با قرار دادن ${MACRO} در URL مورد استفاده برای واکشی خلاقیت، یک ماکرو را به‌عنوان بخشی از یک قطعه HTML بگنجانید، جایی که MACRO یکی از ماکروهای پشتیبانی شده است که در مشخصات OpenRTB توضیح داده شده است.

ماکروهای گوگل

گوگل از ماکروهای اضافی به غیر از مواردی که در مشخصات OpenRTB یافت می شود، پشتیبانی می کند. اینها قالب بندی متفاوتی دارند و اگر در URL جاسازی شوند به صورت %%MACRO%% ظاهر می شوند. جدول زیر این ماکروها را توضیح می دهد:

ماکرو توضیحات
ADVERTISING_IDENTIFIER به خریداران این امکان را می دهد که IDFA iOS یا شناسه تبلیغاتی Android را در نمایش نمایش دریافت کنند. برای جزئیات بیشتر به رمزگشایی شناسه‌های تبلیغ‌کننده مراجعه کنید.
CACHEBUSTER نمایش رشته ای از یک عدد صحیح تصادفی، بدون علامت، چهار بایتی.
CLICK_URL_UNESC

نشانی وب کلیک بدون فرار برای آگهی. در قطعه، یک نسخه فرار از URL کلیک شخص ثالث باید مستقیماً از ماکرو پیروی کند.

به عنوان مثال، اگر URL کلیک شخص ثالث http://my.adserver.com/some/path/handleclick?click=clk باشد، کد زیر را می توان با نسخه تکی از URL کلیک شخص ثالث پس از فراخوانی کلان استفاده کرد:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

در زمان ارائه آگهی، این به موارد زیر گسترش می یابد:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

URL ابتدا کلیک را در Google ثبت می کند و سپس به URL کلیک شخص ثالث هدایت می شود.

CLICK_URL_ESC

نشانی اینترنتی کلیک فرار شده برای آگهی. اگر لازم است ابتدا مقدار را از طریق سرور دیگری که سپس یک تغییر مسیر را برمی گرداند، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال، کد زیر را می توان در یک قطعه HTML استفاده کرد:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

در زمان ارائه آگهی، این به موارد زیر گسترش می یابد:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

این کلیک را در my.adserver.com ثبت می‌کند که سپس مسئول هدایت مجدد به URL ارسال شده در پارامتر google_click_url خواهد بود. این فرض می‌کند که my.adserver.com از پارامتر google_click_url خارج می‌شود.

می‌توانید پس از %%CLICK_URL_ESC%% یک نشانی وب دوبار فرار اضافه کنید. پس از انجام unescaping توسط my.adserver.com ، یک نسخه تکی از URL به google_click_url اضافه می شود. وقتی google_click_url واکشی شد، یک بار دیگر از حالت Escape خارج می شود و سپس هدایت می شود.

CLICK_URL_ESC_ESC

نشانی اینترنتی دوگانه برای آگهی. اگر لازم است ابتدا مقدار را از طریق سرور دیگری که سپس یک تغییر مسیر را برمی گرداند، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال، کد زیر را می توان در یک قطعه HTML استفاده کرد:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

در زمان ارائه آگهی، این به موارد زیر گسترش می یابد:

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME اگر درخواست پیشنهاد به SSL نیاز ندارد به http: گسترش می یابد یا اگر درخواست پیشنهاد به SSL نیاز دارد به https: گسترش می یابد.
SITE دامنه URL محتوا یا شناسه ناشناس موجودی ناشناس.
SITE_URL منسوخ شده است. ماکرو SITE جایگزین شده است که عملکرد یکسانی را ارائه می دهد.
TZ_OFFSET افست منطقه زمانی
VERIFICATION

مقادیر مختلف برای تولید و زمانی که خلاقیت در خط لوله تأیید اسکن می شود. قالب این است: %%?VERIFICATION:true-val:false-val%% که در آن هر مقدار به جز ماکروها را می توان برای true-val و false-val استفاده کرد، از جمله رشته های خالی. برای مناقصه باز، توصیه می کنیم صرافی ها از این ماکرو استفاده کنند. پس از انجام این کار، پلتفرم های سمت تقاضا نیازی به ایجاد تغییرات ندارند.

به عنوان مثال، اگر قرار باشد یک خلاق %%?VERIFICATION:-1:5000%% را شامل شود، جایگزینی متن 5000 در هنگام ارائه و -1 در خط لوله تأیید خواهد بود. این برای کمک به تمایز بین این دو مجموعه پینگ است.

WINNING_PRICE

هزینه نمایش رمزگذاری شده (یعنی CPI به جای CPM) در میکرو ارز حساب. به عنوان مثال، CPM برنده 5 دلار آمریکا معادل 5000000 میکرو CPM یا 5000 میکرو CPI است. مقدار رمزگشایی شده WINNING_PRICE در این مورد 5000 خواهد بود. قیمت برنده در CPI مشخص شده است.

برای تجزیه این ماکرو، باید برنامه‌ای را پیاده‌سازی کنید که تأییدیه‌های قیمت را رمزگشایی می‌کند. برای اطلاعات بیشتر به صفحه تایید قیمت رمزگشایی مراجعه کنید.

WINNING_PRICE_ESC WINNING_PRICE از URL فرار کرد.

Google از شما می‌خواهد که از ماکرو CLICK_URL_UNESC یا CLICK_URL_ESC در خلاقیت تبلیغ ارائه‌شده توسط شخص ثالث استفاده کنید. Google از ماکروهای CLICK_URL برای ردیابی کلیک استفاده می کند.

URL فرار در ماکروها از طرح زیر استفاده می کند:

  • کاراکتر فاصله با علامت مثبت ( + ) جایگزین می شود.
  • کاراکترهای الفبایی (0-9، az، AZ) و کاراکترهای مجموعه !()*،-./:_~ بدون تغییر باقی می مانند.
  • همه نویسه‌های دیگر با %XX جایگزین می‌شوند، که در آن XX عدد هگزادسیمال نشان‌دهنده کاراکتر است.

محدودیت ها و الزامات ناشر

درخواست مناقصه شامل اطلاعاتی درباره انواع محدودیت‌ها و الزاماتی است که ناشران برای خلاقیت‌ها در حراج اعمال می‌کنند.

  • BidRequest.bcat
    • می‌توانید دسته‌های مسدودشده مشخص‌شده توسط این فیلد را با دسته‌های شناسایی شده برای خلاقیت‌های ارسالی‌تان با استفاده از فیلد detectedCategories API Bidding در زمان واقعی مقایسه کنید.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • در عمل این همیشه true است زیرا Google برای همه خلاقیت ها به پشتیبانی SSL نیاز دارد.
  • BidRequest.imp.{audio/banner/native/video}
  • BidRequest.imp.{audio/banner/native/video}.api
  • BidRequest.imp.{audio/banner/native/video}.battr
  • BidRequest.imp.{audio/banner/video}.mimes

هرگز با تبلیغاتی که دارای یک ویژگی محدود است، پیشنهاد قیمت ندهید. برای ویژگی‌های مجاز مانند نوع فروشنده، آگهی را فقط در صورتی برگردانید که نوع فروشنده آن در لیست allowed_vendor_type در BidRequest باشد. فقط قالب‌های تبلیغاتی که در درخواست مناقصه با پر کردن فیلدهایی مانند BidRequest.imp.banner مشخص شده‌اند باید در پیشنهاد شما گنجانده شوند. برای جزئیات بیشتر به نظرات این فیلدها در تعریف بافر پروتکل BidRequest مراجعه کنید.

اگر تبلیغی در BidResponse برگردانده شد، باید BidResponse.seatbid.bid.attr ، BidResponse.seatbid.bid.cat ، و BidResponse.seatbid.bid.adomain یا BidResponse.seatbid.bid.adm_native.link.url BidResponse دقیقا تنظیم کنید. اگر یک تبلیغ دارای چندین مقدار قابل اجرا برای این فیلدها باشد، باید هر مقدار را درج کنید. برای جزئیات بیشتر به نظرات این فیلدها در تعریف بافر پروتکل BidResponse مراجعه کنید. پاسخ‌هایی که این فیلدها را تنظیم نکرده‌اند، کنار گذاشته می‌شوند.

باز کردن اندازه‌گیری

Open Measurement به شما امکان می‌دهد فروشنده‌های شخص ثالثی را مشخص کنید که خدمات اندازه‌گیری و تأیید مستقلی را برای تبلیغات ارائه‌شده در محیط‌های برنامه تلفن همراه ارائه می‌کنند.

فرمت های تبلیغاتی پشتیبانی شده شامل ویدئو، بنر و تبلیغات بینابینی است. برای اطلاعات بیشتر در مورد نحوه استفاده از Open Measurement در یک پاسخ پیشنهادی حاوی این قالب‌ها، به مقاله Open Measurement SDK Help Center مراجعه کنید.

نمونه پاسخ های پیشنهادی

بخش های زیر نمونه پاسخ های پیشنهادی را برای انواع مختلف تبلیغات نشان می دهد.

بنر اپلیکیشن

OpenRTB Protobuf

OpenRTB JSON

برنامه بینابینی

OpenRTB Protobuf

OpenRTB JSON

ویدیوی بینابینی برنامه

OpenRTB Protobuf

OpenRTB JSON

بومی برنامه

OpenRTB Protobuf

OpenRTB JSON

ویدئوی وب

OpenRTB Protobuf

OpenRTB JSON

بنر وب موبایل برای پیشنهاد دهنده مبادله

OpenRTB Protobuf

OpenRTB JSON

،

پس از اینکه درخواست شما درخواست پیشنهاد از طرف Google را پردازش کرد، باید پاسخی بسازد و ارسال کند. این راهنما توضیح می دهد که چگونه برنامه خود را برای ایجاد پاسخ کدنویسی کنید.

پیام BidResponse ایجاد کنید

برای ارسال یک پیشنهاد، درخواست مناقصه شما باید با یک BidResponse حاوی یک Bid در قالب پیکربندی شده شما به یک درخواست پیشنهاد پاسخ دهد. اگر از فرمت JSON استفاده می کنید، پاسخ شما باید هدر Content-Type را روی application/json; charset=utf-8 و JSON BidResponse در بدنه قرار دهید. اگر از فرمت Protobuf استفاده می‌کنید، برنامه شما باید هدر Content-Type را روی application/octet-stream تنظیم کند و BidResponse را در بدنه قرار دهد.

برای ساخت و سریال‌سازی BidResponse برای قالب Protobuf، باید کتابخانه‌های Protobuf را بر اساس openrtb.proto و openrtb-adx.proto ایجاد و استفاده کنید که به ترتیب فیلدهای استاندارد OpenRTB BidResponse و پسوندهای Google را در Protobuf پیاده‌سازی می‌کنند. اینها را می توان در Protos & Reference Data پیدا کرد.

اگر نمی‌خواهید برای یک نمایش پیشنهاد قیمت بدهید، باید یک پاسخ HTTP 204 خالی برگردانید. درخواست شما باید به هر BidRequest پاسخ بدهد. زمان‌بندی‌ها و پاسخ‌هایی که قابل تجزیه نیستند، خطا در نظر گرفته می‌شوند و Google پیشنهاد دهندگان را با نرخ خطای بالا کاهش می‌دهد.

شناسه خلاق

BidResponse شما یک خلاقیت را از طریق فیلد BidResponse.seatbid.bid.crid (محدودیت 64 بایت) مشخص می کند. حتی خلاقیت‌های مشابه باید مقادیر منحصر به فردی برای این فیلد داشته باشند، اگر از نظر ویژگی‌های قابل‌توجهی متفاوت باشند، از جمله: اندازه، URL اعلام‌شده، ویژگی‌های خلاقانه، و انواع فروشنده. به عبارت دیگر، شما باید به هر دو آگهی که:

  • متفاوت نگاه کنید یا رفتار کنید.
  • رندر به تصاویر مختلف
  • رندر با ابزارهای مختلف (به عنوان مثال، یک تبلیغ از یک تصویر تشکیل شده است، در حالی که دیگری یک ویدیو است).

همانطور که برنامه خود را طراحی می کنید، باید در مورد روشی سیستماتیک برای تولید شناسه تصمیم بگیرید که برای انواع خلاقیت هایی که قصد ارسال آن را دارید منطقی باشد.

ویژگی های آگهی

Google توصیه می‌کند که ویژگی‌های خلاقانه را برای توصیف ویژگی‌های تبلیغ و هدف‌یابی آن با استفاده از ترکیبی از BidResponse.seatbid.bid.apis و BidResponse.seatbid.bid.attr یا پسوند BidResponse.seatbid.bid.ext.attribute اعلام کنید. موارد زیر نحوه بیان ویژگی ها را توضیح می دهد:

  • VPAID
    BidResponse.seatbid.bid.apis را روی VPAID_1 یا VPAID_2 تنظیم کنید. برای فرمت JSON، این می تواند به ترتیب روی 1 یا 2 تنظیم شود.
  • MRAID
    BidResponse.seatbid.bid.apis را روی MRAID_1 یا 3 برای قالب JSON تنظیم کنید.
  • SIZELESS
    BidResponse.seatbid.bid.attr روی RESPONSIVE یا 18 برای قالب JSON تنظیم کنید.
  • PLAYABLE
    این با تنظیم BidResponse.seatbid.bid.attr روی USER_INTERACTIVE یا 13 برای قالب JSON نشان داده می شود.

برای توضیح نحوه دریافت بازخورد در مورد ویژگی‌های شناسایی شده خلاقیت‌هایتان، به منبع Creatives مراجعه کنید.

باز کردن زمینه های مناقصه

پاسخ های پیشنهادی ارسال شده توسط پیشنهاد دهندگان مبادله ای و شبکه شرکت کننده در مناقصه باز مشابه پاسخ های خریداران مجاز شرکت کننده در مناقصه استاندارد بلادرنگ است. مشتریان مناقصه باز می توانند تعداد کمی از زمینه های اضافی را مشخص کنند و چند قسمت موجود ممکن است کاربردهای جایگزین داشته باشد. این موارد شامل موارد زیر است:

میدان جزئیات
BidResponse.imp.pmp.deals.id

شناسه معامله از فضای نام مبادله ای که با این پیشنهاد همراه است و به ناشران گزارش شده است.

BidResponse.seatbid.bid.ext.exchange_deal_type

نوع معامله گزارش شده به ناشران ، که بر نحوه برخورد معامله در حراج تأثیر می گذارد.

BidResponse.seatbid.bid.ext.third_party_buyer_token در صورتی که مبادله به عنوان یک پیشنهاد دهنده باز واسطه باشد ، توکن برای شناسایی اطلاعات خریدار شخص ثالث استفاده می شود. این از خریدار شخص ثالث بدست می آید و باید در پاسخ پیشنهاد به Google بدون تغییر منتقل شود.

توصیه ها

  • اتصالات مداوم HTTPS (همچنین به عنوان "نگهدارنده" یا "استفاده مجدد از اتصال") را روی سرورهای خود فعال کنید. تعیین زمان تا 10 ثانیه حداقل - مقادیر سر در بسیاری از موارد مفید است. Google این موضوع را در تست های تأخیر اولیه درخواست شما تأیید می کند ، زیرا خریداران مجاز درخواست ها را با نرخ بالایی ارسال می کنند و باید از تأخیر در ایجاد اتصال TCP جداگانه برای هر درخواست جلوگیری کنند.
  • URL ردیابی برداشت اختیاری را برای ردیابی در هنگام برداشت در هنگام برنده شدن پیشنهاد دهنده ، درج کنید. به دلیل کاهش بین برنده ها و ارائه ها ، این آمار دقیق تر ردیابی را به همراه دارد.

  • کد پیشنهاد دهنده خود را از وابستگی در زمینه های مستهجن رها کنید ، که می تواند باعث شود پیشنهادات شما با خطاها از بین برود.
  • شامل BidResponse.seatbid.bid.w و BidResponse.seatbid.bid.h در BidResponse خود باشید. BidResponse به درخواستی که شامل چندین اندازه تبلیغاتی باشد باید شامل این زمینه ها باشد یا از حراج حذف شود.
  • اندازه پاسخ خود را به زیر 8k محدود کنید. پاسخ های بسیار بزرگ ممکن است تأخیر شبکه را افزایش داده و باعث ایجاد زمان شود.
  • دستورالعمل های مربوط به موجودی iOS را که نیاز به انتساب Skadnetwork دارند ، دنبال کنید.

مثال پاسخ پیشنهاد

نمونه‌های زیر نمونه‌های قابل خواندن توسط انسان از درخواست‌های Protobuf و JSON را نشان می‌دهند.

OpenRTB Protobuf

OpenRTB JSON

نکته مهم: پیام های ProtoBUF که در نمونه ها به تصویر کشیده شده اند ، در اینجا به عنوان متن قابل خواندن با انسان نشان داده شده اند. با این حال ، اینگونه نیست که پیام ها از طریق سیم ارسال می شوند. هنگام استفاده از فرمت OpenRTB ProtoBUF ، فقط پیام های سریالی BidResponse پذیرفته می شوند.

می توانید با استفاده از کد C ++ زیر یک پیام BidResponse ایجاد و سریال کنید:

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

خلاق را مشخص کنید

پاسخ پیشنهاد شما در صورت برنده شدن پیشنهاد شما ، خلاقیت را برای ارائه خدمات مشخص می کند. پیشنهاد شما باید یکی از قالب های تبلیغاتی پشتیبانی شده (AMP ، فیلم ، بومی) را شامل شود. در این مثال ، ما خلاق را با استفاده از قسمت html_snippet مشخص می کنیم.

از طرف دیگر ، می توانید خلاق خود را با استفاده از یکی از زمینه های زیر ، بر اساس فرمت تبلیغاتی مشخص کنید:

  • تبلیغ SDK
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • AMP
    • BidResponse.seatbid.bid.amp_ad_url
  • ویدئو
    • BidResponse.seatbid.bid.adm
  • بومی
    • BidResponse.seatbid.bid.adm_native

تبلیغی را که با استفاده از یک قطعه HTML در قسمت BidResponse.seatbid.bid.adm در سرور (های) شخصی شما میزبانی شده است ، مشخص کنید. قطعه در یک Iframe که در صفحه وب درج شده است ، محصور می شود و در نتیجه بارگذاری صفحه بازیابی و بازیابی می شود. شما باید قطعه HTML را طوری انجام دهید که تبلیغ (بنر یا بینابینی) به درستی در داخل یک IFRAME و در اندازه مناسب برای شکاف تبلیغاتی که پیشنهاد می دهید ، ارائه می دهد.

علاوه بر این ، اندازه تبلیغاتی که در پاسخ پیشنهاد اعلام شده است باید دقیقاً با یکی از ترکیبات اندازه در درخواست پیشنهاد مطابقت داشته باشد:

  • یک آگهی یک پرچم معمولی است (نه فیلم ، بومی یا بینابینی).
  • پیشنهاد دهنده اندازه پاسخ پیشنهاد را اعلام کرده است. اعلامیه اندازه هر زمان که بیش از یک اندازه در درخواست وجود داشته باشد ، لازم است.
  • یک استثنا برای تبلیغات بینابینی ساخته شده است. برای بینابینی ها باید حداقل 50 ٪ از عرض صفحه نمایش و ارتفاع حداقل 40 ٪ از ارتفاع صفحه باشد.

می توانید با استفاده از هر کد HTML معتبر که به درستی ارائه می شود ، یک قطعه قطعه قطعه HTML را مشخص کنید ، اما محدودیت های مشخص کردن قسمت crid را در بخش پیام ایجاد BidResponse در نظر داشته باشید. یکی از آنها برای این کار این است که اطلاعات اضافی را در استدلال های URL هایی که از سرورهای شما به عنوان بخشی از ارائه تبلیغات گرفته می شوند ، قرار دهید. این به شما امکان می دهد داده های دلخواه را در مورد تصور به سرورهای خود منتقل کنید.

بیشتر سیاست های مربوط به قطعه های HTML که در پاسخ به پیشنهادات برگشته اند ، همانند تبلیغات شخص ثالث است. دستورالعمل های برنامه خریداران مجاز ، الزامات مربوط به خدمت شخص ثالث را مشاهده کنید و برای اطلاعات بیشتر URL های کلیک از طریق تبلیغات را اعلام کنید .

ماکروها را مشخص کنید

ماکروها متن فرمت شده در برخی از قسمتهای پاسخ پیشنهاد حاوی URL هایی هستند که در زمان خدمت AD با یک مقدار مربوطه جایگزین می شوند. به عنوان مثال ، اگر پیشنهاد برنده شما شامل ماکرو AUCTION_PRICE در خلاقیت قطعه HTML با پیشنهاد شما بود ، ماکرو با ارزشی که می توانید رمزگشایی کنید برای تعیین مبلغی که برای برداشت در حراج پرداخت کرده اید ، جایگزین می شود.

شما می توانید ماکروها را در قسمتهای زیر قرار دهید:

  • BidResponse.seatbid.bid.adm

    ماکروها برای قالبهای قطعه HTML ، بومی ، URL ویدیویی و ویدیویی XML پشتیبانی می شوند.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    فقط ماکروهای WINNING_PRICE و WINNING_PRICE_ESC فقط برای خلاقیت های AMP پشتیبانی می شوند.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    اگر به بیش از یک URL صورتحساب نیاز دارید ، از این به جای BidResponse.seatbid.bid.burl استفاده کنید.

به عنوان نمونه ، شما می توانید با تعبیه ${MACRO} در URL که برای واکشی خلاق استفاده می MACRO ، یک ماکرو را به عنوان بخشی از قطعه HTML درج کنید.

ماکرو گوگل

Google جدا از موارد موجود در مشخصات OpenRTB ، ماکروهای اضافی را پشتیبانی می کند. اینها متفاوت هستند و در صورت تعبیه در URL به عنوان %%MACRO%% ظاهر می شوند. در جدول زیر این ماکروها شرح داده شده است:

ماکرو توضیحات
ADVERTISING_IDENTIFIER به خریداران این امکان را می دهد تا شناسه تبلیغاتی iOS IDFA یا Android را در مورد ارائه تصور دریافت کنند. برای جزئیات بیشتر به شناسه های تبلیغ کننده تبلیغات مراجعه کنید.
CACHEBUSTER بازنمایی رشته ای از یک عدد صحیح تصادفی ، بدون امضا ، چهار بایت.
CLICK_URL_UNESC

URL UNESCEPED URL برای تبلیغ. در قطعه قطعه ، یک نسخه فراری از URL کلیک شخص ثالث باید مستقیماً ماکرو را دنبال کند.

به عنوان مثال ، اگر URL کلیک شخص ثالث http://my.adserver.com/some/path/handleclick?click=clk باشد ، پس از آن می توان از کد زیر استفاده کرد که نسخه یک نفره از شخص ثالث به دنبال دعوت ماکرو کلیک می کند:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

در زمان خدمت ، این به:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

URL ابتدا کلیک را با Google ثبت می کند ، و سپس به شخص ثالث روی URL هدایت می شود.

CLICK_URL_ESC

URL کلیک شده برای تبلیغ. در صورت نیاز به انتقال مقدار از طریق سرور دیگری که پس از آن یک تغییر مسیر را بازگرداند ، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال ، کد زیر می تواند در یک قطعه HTML استفاده شود:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

در زمان خدمت ، این به:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

با این کار کلیک با my.adserver.com ثبت می شود که سپس مسئولیت هدایت به URL منتقل شده در پارامتر google_click_url را بر عهده خواهد داشت. این فرض می کند که my.adserver.com پارامتر google_click_url از بین می برد.

شما می توانید یک URL دو برابر پس از %%CLICK_URL_ESC%% اضافه کنید. پس از انجام Unescaping توسط my.adserver.com ، که یک نسخه تک شکل URL را به google_click_url اضافه می کند. هنگامی که google_click_url به پایان رسید ، یک بار دیگر یونسپراپ می شود و سپس هدایت می شود.

CLICK_URL_ESC_ESC

URL دو طرفه برای تبلیغ. در صورت نیاز به انتقال مقدار از طریق سرور دیگری که پس از آن یک تغییر مسیر را بازگرداند ، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال ، کد زیر می تواند در یک قطعه HTML استفاده شود:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

در زمان خدمت ، این به:

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME گسترش یافته به http: اگر درخواست پیشنهاد به SSL یا https: اگر درخواست پیشنهاد به SSL نیاز داشته باشد.
SITE دامنه URL-EXT از URL محتوا یا شناسه ناشناس برای موجودی ناشناس.
SITE_URL منسوخ شده است. جایگزین شده توسط کلان سایت که عملکرد یکسان را ارائه می دهد.
TZ_OFFSET جبران منطقه زمانی.
VERIFICATION

مقادیر مختلف برای تولید و هنگامی که خلاق در خط لوله تأیید اسکن می شود. فرمت: %%?VERIFICATION:true-val:false-val%% جایی که از هر مقداری به جز ماکرو می توان برای true-val و false-val ، از جمله رشته های خالی استفاده کرد. برای مناقصه باز ، توصیه می کنیم که مبادلات از این کلان استفاده کنند. پس از انجام این کار ، سیستم عامل های طرف تقاضا نیازی به ایجاد تغییر ندارند.

به عنوان مثال ، اگر یک خلاق شامل %%?VERIFICATION:-1:5000%% ، تعویض متن 5000 در خدمت و -1 در خط لوله تأیید خواهد بود. این برای کمک به تمایز بین این دو مجموعه پینگ است.

WINNING_PRICE

هزینه برداشت رمزگذاری شده (یعنی CPI به جای CPM) در میکروهای ارز حساب. به عنوان مثال ، یک CPM برنده 5 دلار با 5،000،000 CPM میکرو یا 5،000 CPI MICROS مطابقت دارد. ارزش رمزگشایی شده WINNING_PRICE در این مورد 5000 خواهد بود. قیمت برنده در CPI مشخص شده است.

برای تجزیه این کلان ، شما باید برنامه ای را اجرا کنید که تأیید قیمت را رمزگشایی کند. برای اطلاعات بیشتر به صفحه تأیید قیمت رمزگشایی مراجعه کنید.

WINNING_PRICE_ESC WINNING_PRICE URL.

Google نیاز دارد که شما از macro CLICK_URL_UNESC یا macro CLICK_URL_ESC در خلاقیت آگهی سرو شخص ثالث استفاده کنید. Google از Macros CLICK_URL برای ردیابی کلیک استفاده می کند.

فرار URL در ماکرو از طرح زیر استفاده می کند:

  • شخصیت فضا با یک علامت به علاوه ( + ) جایگزین می شود.
  • شخصیت های الفبایی (0-9 ، AZ ، AZ) و شخصیت های مجموعه! ()*،-./: _ ~ بدون تغییر باقی می مانند.
  • تمام شخصیت های دیگر با %XX جایگزین می شوند ، جایی که XX تعداد شش ضلعی است که شخصیت را نشان می دهد.

محدودیت ها و الزامات ناشر

درخواست پیشنهاد شامل اطلاعاتی در مورد انواع محدودیت ها و الزاماتی است که ناشران در این حراج بر خلاقان قرار می دهند.

  • BidRequest.bcat
    • شما می توانید دسته های مسدود شده مشخص شده توسط این زمینه را با مواردی که برای خلاقیت های ارسال شده خود با استفاده از قسمت REAL-BOYDING CONDECTEDCEDCETTRENTIONS CONDECTIONCEDIONES CONDECTIONCED CONDECTIONS detectedCategories مقایسه شده است ، مقایسه کنید.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • در عمل این همیشه true خواهد شد زیرا Google به پشتیبانی SSL برای همه خلاقان نیاز دارد.
  • BidRequest.imp.{audio/banner/native/video}
  • BidRequest.imp.{audio/banner/native/video}.api
  • BidRequest.imp.{audio/banner/native/video}.battr
  • BidRequest.imp.{audio/banner/video}.mimes

هرگز با تبلیغی که حاوی یک ویژگی محدود است ، پیشنهاد ندهید. برای ویژگی های مجاز مانند نوع فروشنده ، یک آگهی را فقط در صورتی که نوع فروشنده آن در لیست allowed_vendor_type در BidRequest قرار دارد ، برگردانید. فقط قالب های تبلیغاتی که در درخواست پیشنهاد توسط زمینه های جمع آوری شده مانند BidRequest.imp.banner باید در پیشنهاد شما گنجانده شود. برای اطلاعات بیشتر ، نظرات این زمینه ها را در تعریف بافر پروتکل BidRequest مشاهده کنید.

اگر یک تبلیغ در BidResponse برگردانده شود ، شما ملزم به تنظیم دقیق BidResponse.seatbid.bid.attr ، BidResponse.seatbid.bid.cat ، و یا BidResponse.seatbid.bid.adomain یا BidResponse.seatbid.bid.adm_native.link.url در زمینه های BidResponse است. اگر یک آگهی دارای مقادیر قابل اجرا برای این قسمت ها باشد ، باید هر مقدار را درج کنید. برای اطلاعات بیشتر ، نظرات این زمینه ها را در تعریف بافر پروتکل پروتکل BidResponse مشاهده کنید. پاسخ هایی که این زمینه ها را تنظیم نمی کنند ، دور ریخته می شوند.

باز کردن اندازه‌گیری

Open Measurement به شما امکان می‌دهد فروشنده‌های شخص ثالثی را مشخص کنید که خدمات اندازه‌گیری و تأیید مستقلی را برای تبلیغات ارائه‌شده در محیط‌های برنامه تلفن همراه ارائه می‌کنند.

قالب های تبلیغاتی پشتیبانی شده شامل تبلیغات ویدئویی ، پرچم و تبلیغات بینابینی است. برای کسب اطلاعات بیشتر در مورد نحوه استفاده از اندازه گیری باز در پاسخ به پیشنهادات حاوی این قالب ها ، به مقاله مرکز راهنمای SDK اندازه گیری باز مراجعه کنید.

نمونه پاسخهای پیشنهاد

بخش های زیر پاسخ نمونه پیشنهاد برای انواع مختلف AD را نشان می دهد.

بنر اپلیکیشن

OpenRTB Protobuf

OpenRTB JSON

برنامه بینابینی

OpenRTB Protobuf

OpenRTB JSON

ویدیوی بینابینی برنامه

OpenRTB Protobuf

OpenRTB JSON

بومی برنامه

OpenRTB Protobuf

OpenRTB JSON

ویدئوی وب

OpenRTB Protobuf

OpenRTB JSON

بنر وب موبایل برای پیشنهاد دهنده مبادله

OpenRTB Protobuf

OpenRTB JSON

،

پس از پردازش درخواست شما ، درخواست پیشنهاد از Google ، باید پاسخی بسازد و ارسال کند. این راهنما نحوه کدگذاری برنامه خود را برای ایجاد پاسخ توضیح می دهد.

ایجاد پیام BidResponse

برای ارسال پیشنهاد ، درخواست مناقصه شما باید با یک BidResponse حاوی Bid در قالب پیکربندی شده شما به درخواست پیشنهاد پاسخ دهد. اگر از فرمت JSON استفاده می کنید ، پاسخ شما باید هدر Content-Type را روی application/json; charset=utf-8 و شامل JSON BidResponse در بدن است. اگر از فرمت ProToBUF استفاده می کنید ، برنامه شما باید Content-Type را بر روی application/octet-stream تنظیم کند و BidResponse سریالی را در بدن قرار دهد.

برای ساخت و سریال سازی یک BidResponse برای فرمت ProToBUF ، باید کتابخانه های ProtoBUF را بر اساس OpenRTB.Proto و OpenRTB-adx.proto تولید و استفاده کنید ، که به ترتیب زمینه های استاندارد OpenRTB BidResponse و Google Extensions را در ProtoBUF اجرا می کنند. اینها را می توان در داده های Protos و مرجع یافت.

اگر نمی خواهید به یک تصور پیشنهاد دهید ، باید پاسخ خالی HTTP 204 را برگردانید. درخواست شما باید پاسخ به هر BidRequest برگرداند. مدت زمان و پاسخ هایی که نمی توانند تجزیه شوند ، خطاها در نظر گرفته می شوند و داوطلبان Google Throttles با نرخ خطای بالا.

شناسه خلاق

BidResponse شما یک خلاق را از طریق قسمت BidResponse.seatbid.bid.crid (محدودیت 64 بایت) مشخص می کند. حتی خلاقان مشابه اگر در هر ویژگی قابل توجهی متفاوت باشند ، از جمله اما محدود به: اندازه ، URL اعلام شده ، ویژگی های خلاق و انواع فروشنده ، باید مقادیر منحصر به فردی برای این زمینه داشته باشند. به عبارت دیگر ، شما باید شناسه های خلاقانه مختلفی را به هر دو تبلیغ ارائه دهید که:

  • نگاه کنید یا متفاوت رفتار کنید.
  • به تصاویر مختلف ارائه می شود.
  • با استفاده از روشهای مختلف (به عنوان مثال ، یک تبلیغ شامل یک تصویر است ، در حالی که دیگری یک فیلم است).

همانطور که برنامه خود را طراحی می کنید ، باید در مورد یک روش سیستماتیک برای تولید شناسه ها تصمیم بگیرید که برای انواع خلاقانی که قصد ارسال آن را دارید ، معنی دارد.

ویژگی های تبلیغاتی

Google توصیه می کند تا ویژگی های خلاقانه را برای توصیف ویژگی های تبلیغات و هدف گذاری آن با استفاده از ترکیبی از BidResponse.seatbid.bid.apis و BidResponse.seatbid.bid.attr ، یا BidResponse.seatbid.bid.ext.attribute اعلام کنید. در زیر توضیح می دهد که چگونه می توانید ویژگی ها را اعلام کنید:

  • VPAID
    BidResponse.seatbid.bid.apis را روی VPAID_1 یا VPAID_2 تنظیم کنید. برای فرمت JSON ، این به ترتیب می توان 1 یا 2 را تنظیم کرد.
  • MRAID
    BidResponse.seatbid.bid.apis برای قالب JSON روی MRAID_1 یا 3 تنظیم کنید.
  • SIZELESS
    BidResponse.seatbid.bid.attr برای RESPONSIVE یا 18 برای فرمت JSON تنظیم کنید.
  • PLAYABLE
    این با تنظیم BidResponse.seatbid.bid.attr به USER_INTERACTIVE یا 13 برای فرمت JSON نشان داده شده است.

برای توضیح در مورد چگونگی دریافت بازخورد در مورد خصوصیات شناسایی شده خلاقیت ، به منبع خلاقان مراجعه کنید.

باز کردن زمینه های مناقصه

پاسخ های پیشنهادات ارسال شده توسط داوطلبان مبادله و شبکه که در مناقصه آزاد شرکت می کنند مشابه موارد خریداران مجاز شرکت کننده در مناقصه استاندارد در زمان واقعی است. مشتریان مناقصه باز می توانند تعداد کمی از زمینه های اضافی را مشخص کنند و چند قسمت موجود ممکن است کاربردهای جایگزین داشته باشد. این موارد شامل موارد زیر است:

میدان جزئیات
BidResponse.imp.pmp.deals.id

شناسه معامله از فضای نام مبادله ای که با این پیشنهاد همراه است و به ناشران گزارش شده است.

BidResponse.seatbid.bid.ext.exchange_deal_type

نوع معامله گزارش شده به ناشران ، که بر نحوه برخورد معامله در حراج تأثیر می گذارد.

BidResponse.seatbid.bid.ext.third_party_buyer_token در صورتی که مبادله به عنوان یک پیشنهاد دهنده باز واسطه باشد ، توکن برای شناسایی اطلاعات خریدار شخص ثالث استفاده می شود. این از خریدار شخص ثالث بدست می آید و باید در پاسخ پیشنهاد به Google بدون تغییر منتقل شود.

توصیه ها

  • اتصالات مداوم HTTPS (همچنین به عنوان "نگهدارنده" یا "استفاده مجدد از اتصال") را روی سرورهای خود فعال کنید. تعیین زمان تا 10 ثانیه حداقل - مقادیر سر در بسیاری از موارد مفید است. Google این موضوع را در تست های تأخیر اولیه درخواست شما تأیید می کند ، زیرا خریداران مجاز درخواست ها را با نرخ بالایی ارسال می کنند و باید از تأخیر در ایجاد اتصال TCP جداگانه برای هر درخواست جلوگیری کنند.
  • URL ردیابی برداشت اختیاری را برای ردیابی در هنگام برداشت در هنگام برنده شدن پیشنهاد دهنده ، درج کنید. به دلیل کاهش بین برنده ها و ارائه ها ، این آمار دقیق تر ردیابی را به همراه دارد.

  • کد پیشنهاد دهنده خود را از وابستگی در زمینه های مستهجن رها کنید ، که می تواند باعث شود پیشنهادات شما با خطاها از بین برود.
  • شامل BidResponse.seatbid.bid.w و BidResponse.seatbid.bid.h در BidResponse خود باشید. BidResponse به درخواستی که شامل چندین اندازه تبلیغاتی باشد باید شامل این زمینه ها باشد یا از حراج حذف شود.
  • اندازه پاسخ خود را به زیر 8k محدود کنید. پاسخ های بسیار بزرگ ممکن است تأخیر شبکه را افزایش داده و باعث ایجاد زمان شود.
  • دستورالعمل های مربوط به موجودی iOS را که نیاز به انتساب Skadnetwork دارند ، دنبال کنید.

مثال پاسخ پیشنهاد

نمونه‌های زیر نمونه‌های قابل خواندن توسط انسان از درخواست‌های Protobuf و JSON را نشان می‌دهند.

OpenRTB Protobuf

OpenRTB JSON

نکته مهم: پیام های ProtoBUF که در نمونه ها به تصویر کشیده شده اند ، در اینجا به عنوان متن قابل خواندن با انسان نشان داده شده اند. با این حال ، اینگونه نیست که پیام ها از طریق سیم ارسال می شوند. هنگام استفاده از فرمت OpenRTB ProtoBUF ، فقط پیام های سریالی BidResponse پذیرفته می شوند.

می توانید با استفاده از کد C ++ زیر یک پیام BidResponse ایجاد و سریال کنید:

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

خلاق را مشخص کنید

پاسخ پیشنهاد شما در صورت برنده شدن پیشنهاد شما ، خلاقیت را برای ارائه خدمات مشخص می کند. پیشنهاد شما باید یکی از قالب های تبلیغاتی پشتیبانی شده (AMP ، فیلم ، بومی) را شامل شود. در این مثال ، ما خلاق را با استفاده از قسمت html_snippet مشخص می کنیم.

از طرف دیگر ، می توانید خلاق خود را با استفاده از یکی از زمینه های زیر ، بر اساس فرمت تبلیغاتی مشخص کنید:

  • تبلیغ SDK
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • AMP
    • BidResponse.seatbid.bid.amp_ad_url
  • ویدئو
    • BidResponse.seatbid.bid.adm
  • بومی
    • BidResponse.seatbid.bid.adm_native

تبلیغی را که با استفاده از یک قطعه HTML در قسمت BidResponse.seatbid.bid.adm در سرور (های) شخصی شما میزبانی شده است ، مشخص کنید. قطعه در یک Iframe که در صفحه وب درج شده است ، محصور می شود و در نتیجه بارگذاری صفحه بازیابی و بازیابی می شود. شما باید قطعه HTML را طوری انجام دهید که تبلیغ (بنر یا بینابینی) به درستی در داخل یک IFRAME و در اندازه مناسب برای شکاف تبلیغاتی که پیشنهاد می دهید ، ارائه می دهد.

علاوه بر این ، اندازه تبلیغاتی که در پاسخ پیشنهاد اعلام شده است باید دقیقاً با یکی از ترکیبات اندازه در درخواست پیشنهاد مطابقت داشته باشد:

  • یک آگهی یک پرچم معمولی است (نه فیلم ، بومی یا بینابینی).
  • پیشنهاد دهنده اندازه پاسخ پیشنهاد را اعلام کرده است. اعلامیه اندازه هر زمان که بیش از یک اندازه در درخواست وجود داشته باشد ، لازم است.
  • یک استثنا برای تبلیغات بینابینی ساخته شده است. برای بینابینی ها باید حداقل 50 ٪ از عرض صفحه نمایش و ارتفاع حداقل 40 ٪ از ارتفاع صفحه باشد.

می توانید با استفاده از هر کد HTML معتبر که به درستی ارائه می شود ، یک قطعه قطعه قطعه HTML را مشخص کنید ، اما محدودیت های مشخص کردن قسمت crid را در بخش پیام ایجاد BidResponse در نظر داشته باشید. یکی از آنها برای این کار این است که اطلاعات اضافی را در استدلال های URL هایی که از سرورهای شما به عنوان بخشی از ارائه تبلیغات گرفته می شوند ، قرار دهید. این به شما امکان می دهد داده های دلخواه را در مورد تصور به سرورهای خود منتقل کنید.

بیشتر سیاست های مربوط به قطعه های HTML که در پاسخ به پیشنهادات برگشته اند ، همانند تبلیغات شخص ثالث است. دستورالعمل های برنامه خریداران مجاز ، الزامات مربوط به خدمت شخص ثالث را مشاهده کنید و برای اطلاعات بیشتر URL های کلیک از طریق تبلیغات را اعلام کنید .

ماکروها را مشخص کنید

ماکروها متن فرمت شده در برخی از قسمتهای پاسخ پیشنهاد حاوی URL هایی هستند که در زمان خدمت AD با یک مقدار مربوطه جایگزین می شوند. به عنوان مثال ، اگر پیشنهاد برنده شما شامل ماکرو AUCTION_PRICE در خلاقیت قطعه HTML با پیشنهاد شما بود ، ماکرو با ارزشی که می توانید رمزگشایی کنید برای تعیین مبلغی که برای برداشت در حراج پرداخت کرده اید ، جایگزین می شود.

شما می توانید ماکروها را در قسمتهای زیر قرار دهید:

  • BidResponse.seatbid.bid.adm

    ماکروها برای قالبهای قطعه HTML ، بومی ، URL ویدیویی و ویدیویی XML پشتیبانی می شوند.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    فقط ماکروهای WINNING_PRICE و WINNING_PRICE_ESC فقط برای خلاقیت های AMP پشتیبانی می شوند.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    اگر به بیش از یک URL صورتحساب نیاز دارید ، از این به جای BidResponse.seatbid.bid.burl استفاده کنید.

به عنوان نمونه ، شما می توانید با تعبیه ${MACRO} MACRO URL که برای واکشی خلاق استفاده می شود ، یک ماکرو را به عنوان بخشی از قطعه HTML درج کنید.

ماکرو گوگل

Google جدا از موارد موجود در مشخصات OpenRTB ، ماکروهای اضافی را پشتیبانی می کند. اینها متفاوت هستند و در صورت تعبیه در URL به عنوان %%MACRO%% ظاهر می شوند. در جدول زیر این ماکروها شرح داده شده است:

ماکرو توضیحات
ADVERTISING_IDENTIFIER به خریداران این امکان را می دهد تا شناسه تبلیغاتی iOS IDFA یا Android را در مورد ارائه تصور دریافت کنند. برای جزئیات بیشتر به شناسه های تبلیغ کننده تبلیغات مراجعه کنید.
CACHEBUSTER بازنمایی رشته ای از یک عدد صحیح تصادفی ، بدون امضا ، چهار بایت.
CLICK_URL_UNESC

URL UNESCEPED URL برای تبلیغ. در قطعه قطعه ، یک نسخه فراری از URL کلیک شخص ثالث باید مستقیماً ماکرو را دنبال کند.

به عنوان مثال ، اگر URL کلیک شخص ثالث http://my.adserver.com/some/path/handleclick?click=clk باشد ، پس از آن می توان از کد زیر استفاده کرد که نسخه یک نفره از شخص ثالث به دنبال دعوت ماکرو کلیک می کند:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

در زمان خدمت ، این به:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

URL ابتدا کلیک را با Google ثبت می کند ، و سپس به شخص ثالث روی URL هدایت می شود.

CLICK_URL_ESC

URL کلیک شده برای تبلیغ. در صورت نیاز به انتقال مقدار از طریق سرور دیگری که پس از آن یک تغییر مسیر را بازگرداند ، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال ، کد زیر می تواند در یک قطعه HTML استفاده شود:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

در زمان خدمت ، این به:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

با این کار کلیک با my.adserver.com ثبت می شود که سپس مسئولیت هدایت به URL منتقل شده در پارامتر google_click_url را بر عهده خواهد داشت. این فرض می کند که my.adserver.com پارامتر google_click_url از بین می برد.

شما می توانید یک URL دو برابر پس از %%CLICK_URL_ESC%% اضافه کنید. پس از انجام Unescaping توسط my.adserver.com ، که یک نسخه تک شکل URL را به google_click_url اضافه می کند. هنگامی که google_click_url به پایان رسید ، یک بار دیگر یونسپراپ می شود و سپس هدایت می شود.

CLICK_URL_ESC_ESC

URL دو طرفه برای تبلیغ. در صورت نیاز به انتقال مقدار از طریق سرور دیگری که پس از آن یک تغییر مسیر را بازگرداند ، از این به جای CLICK_URL_UNESC استفاده کنید.

به عنوان مثال ، کد زیر می تواند در یک قطعه HTML استفاده شود:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

در زمان خدمت ، این به:

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME گسترش یافته به http: اگر درخواست پیشنهاد به SSL یا https: اگر درخواست پیشنهاد به SSL نیاز داشته باشد.
SITE دامنه URL-EXT از URL محتوا یا شناسه ناشناس برای موجودی ناشناس.
SITE_URL منسوخ شده است. جایگزین شده توسط کلان سایت که عملکرد یکسان را ارائه می دهد.
TZ_OFFSET جبران منطقه زمانی.
VERIFICATION

مقادیر مختلف برای تولید و هنگامی که خلاق در خط لوله تأیید اسکن می شود. فرمت: %%?VERIFICATION:true-val:false-val%% جایی که از هر مقداری به جز ماکرو می توان برای true-val و false-val ، از جمله رشته های خالی استفاده کرد. برای مناقصه باز ، توصیه می کنیم که مبادلات از این کلان استفاده کنند. پس از انجام این کار ، سیستم عامل های طرف تقاضا نیازی به ایجاد تغییر ندارند.

به عنوان مثال ، اگر یک خلاق شامل %%?VERIFICATION:-1:5000%% ، تعویض متن 5000 در خدمت و -1 در خط لوله تأیید خواهد بود. این برای کمک به تمایز بین این دو مجموعه پینگ است.

WINNING_PRICE

هزینه برداشت رمزگذاری شده (یعنی CPI به جای CPM) در میکروهای ارز حساب. به عنوان مثال ، یک CPM برنده 5 دلار با 5،000،000 CPM میکرو یا 5،000 CPI MICROS مطابقت دارد. ارزش رمزگشایی شده WINNING_PRICE در این مورد 5000 خواهد بود. قیمت برنده در CPI مشخص شده است.

برای تجزیه این کلان ، شما باید برنامه ای را اجرا کنید که تأیید قیمت را رمزگشایی کند. برای اطلاعات بیشتر به صفحه تأیید قیمت رمزگشایی مراجعه کنید.

WINNING_PRICE_ESC WINNING_PRICE URL.

Google نیاز دارد که شما از macro CLICK_URL_UNESC یا macro CLICK_URL_ESC در خلاقیت آگهی سرو شخص ثالث استفاده کنید. Google از Macros CLICK_URL برای ردیابی کلیک استفاده می کند.

فرار URL در ماکرو از طرح زیر استفاده می کند:

  • شخصیت فضا با یک علامت به علاوه ( + ) جایگزین می شود.
  • شخصیت های الفبایی (0-9 ، AZ ، AZ) و شخصیت های مجموعه! ()*،-./: _ ~ بدون تغییر باقی می مانند.
  • تمام شخصیت های دیگر با %XX جایگزین می شوند ، جایی که XX تعداد شش ضلعی است که شخصیت را نشان می دهد.

محدودیت ها و الزامات ناشر

درخواست پیشنهاد شامل اطلاعاتی در مورد انواع محدودیت ها و الزاماتی است که ناشران در این حراج بر خلاقان قرار می دهند.

  • BidRequest.bcat
    • شما می توانید دسته های مسدود شده مشخص شده توسط این زمینه را با مواردی که برای خلاقیت های ارسال شده خود با استفاده از قسمت REAL-BOYDING CONDECTEDCEDCETTRENTIONS CONDECTIONCEDIONES CONDECTIONCED CONDECTIONS detectedCategories مقایسه شده است ، مقایسه کنید.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • در عمل این همیشه true خواهد شد زیرا Google به پشتیبانی SSL برای همه خلاقان نیاز دارد.
  • BidRequest.imp.{audio/banner/native/video}
  • BidRequest.imp.{audio/banner/native/video}.api
  • BidRequest.imp.{audio/banner/native/video}.battr
  • BidRequest.imp.{audio/banner/video}.mimes

هرگز با تبلیغی که حاوی یک ویژگی محدود است ، پیشنهاد ندهید. برای ویژگی های مجاز مانند نوع فروشنده ، یک آگهی را فقط در صورتی که نوع فروشنده آن در لیست allowed_vendor_type در BidRequest قرار دارد ، برگردانید. فقط قالب های تبلیغاتی که در درخواست پیشنهاد توسط زمینه های جمع آوری شده مانند BidRequest.imp.banner باید در پیشنهاد شما گنجانده شود. برای اطلاعات بیشتر ، نظرات این زمینه ها را در تعریف بافر پروتکل BidRequest مشاهده کنید.

اگر یک تبلیغ در BidResponse برگردانده شود ، شما ملزم به تنظیم دقیق BidResponse.seatbid.bid.attr ، BidResponse.seatbid.bid.cat ، و یا BidResponse.seatbid.bid.adomain یا BidResponse.seatbid.bid.adm_native.link.url در زمینه های BidResponse است. اگر یک آگهی دارای مقادیر قابل اجرا برای این قسمت ها باشد ، باید هر مقدار را درج کنید. برای اطلاعات بیشتر ، نظرات این زمینه ها را در تعریف بافر پروتکل پروتکل BidResponse مشاهده کنید. پاسخ هایی که این زمینه ها را تنظیم نمی کنند ، دور ریخته می شوند.

باز کردن اندازه‌گیری

Open Measurement به شما امکان می‌دهد فروشنده‌های شخص ثالثی را مشخص کنید که خدمات اندازه‌گیری و تأیید مستقلی را برای تبلیغات ارائه‌شده در محیط‌های برنامه تلفن همراه ارائه می‌کنند.

قالب های تبلیغاتی پشتیبانی شده شامل تبلیغات ویدئویی ، پرچم و تبلیغات بینابینی است. برای کسب اطلاعات بیشتر در مورد نحوه استفاده از اندازه گیری باز در پاسخ به پیشنهادات حاوی این قالب ها ، به مقاله مرکز راهنمای SDK اندازه گیری باز مراجعه کنید.

نمونه پاسخهای پیشنهاد

بخش های زیر پاسخ نمونه پیشنهاد برای انواع مختلف AD را نشان می دهد.

بنر اپلیکیشن

OpenRTB Protobuf

OpenRTB JSON

برنامه بینابینی

OpenRTB Protobuf

OpenRTB JSON

ویدیوی بینابینی برنامه

OpenRTB Protobuf

OpenRTB JSON

بومی برنامه

OpenRTB Protobuf

OpenRTB JSON

ویدئوی وب

OpenRTB Protobuf

OpenRTB JSON

بنر وب موبایل برای پیشنهاد دهنده مبادله

OpenRTB Protobuf

OpenRTB JSON