تبلیغات بومی

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

تبلیغات بومی هم برای خریداران مجاز و هم برای مناقصه باز پشتیبانی می شود.

گردش کار برای تبلیغات بومی در اینجا آمده است:

  1. یک تماس برای یک آگهی بومی با Google برقرار می شود. تماس یک یا هر دو الگوی تبلیغات بومی را در زیر مشخص می‌کند که هر کدام فیلدهای بومی ترجیحی را مشخص می‌کنند.
  2. Google یک درخواست پیشنهاد قیمت RTB حاوی لیستی از فیلدهای درخواستی را برای خریداران ارسال می کند.
  3. خریداران علاقه مند با فیلدهای درخواستی پاسخ دهند.
  4. Google حراجی را برای انتخاب پیشنهاد برنده برگزار می‌کند و دارایی‌های خلاقانه عرضه‌شده خریدار را برای ناشر ارسال می‌کند.
  5. ناشر دارایی‌ها را در یک آگهی بومی جمع‌آوری می‌کند و آنها را متناسب با طراحی سایت می‌سازد.

فرمت های پیام

گوگل از مشخصات OpenRTB در JSON و Protobuf پشتیبانی می کند.

برای تبلیغات بومی OpenRTB Protobuf، فیلدهای زیر با مشخصات متفاوت است:

مشخصات JSON
(PROTOCOL_OPENRTB_2_4)
نوع JSON پیاده سازی OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
نوع OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

فیلدهای OpenRTB به جای رشته، پیام های Protobuf هستند.

اگر از اجرای OpenRTB Protobuf استفاده می‌کنید، BidRequest.imp[].native.request دریافت نمی‌کنید و باید با BidResponse.seatbid[].bid[].adm_native پاسخ دهید. پاسخ‌های پیشنهادی با BidResponse.seatbid[].bid[].adm فیلتر می‌شوند. شناسه دارایی برای پاسخ‌های پیشنهادی OpenRTB Protobuf لازم نیست.

اگر از یک SDK خریدار برای ارائه تبلیغات بومی استفاده می‌کنید، هنگام ارسال خلاقیت‌ها برای بازبینی، باید یک type تصویر را در declared_ad اضافه کنید.

قالب های تبلیغاتی بومی

Google از دو الگوی رایج تبلیغات بومی برای تبلیغات بومی غیر ویدیویی و ویدیویی پشتیبانی می کند:

الگوهای دیگری وجود دارند و ممکن است مجموعه‌ای از الزامات متفاوت برای فیلدها، ابعاد و اندازه‌ها داشته باشند.

قالب تبلیغ نصب اپلیکیشن

جداول زیر فیلدهایی با برچسب مورد نیاز یا توصیه شده را نشان می دهد. قوانین زیر اعمال می شود:

  • فیلدهایی که با علامت الزامی مشخص شده اند توسط داوطلب الزامی است.
  • فیلدهایی که علامت‌گذاری شده به عنوان «توصیه می‌شود» مورد نیاز داوطلب نیستند و ناشر ممکن است در صورت ارائه آنها را نمایش دهد یا ندهد (به عنوان مثال، رتبه‌بندی ستاره).
  • Call to Action (CTA) همیشه به‌عنوان توصیه‌شده علامت‌گذاری می‌شود، زیرا اگر پیشنهاد دهنده ارسال نشود، یک پیش‌فرض تعیین می‌شود، اما در صورت ارسال همیشه نمایش داده می‌شود.

جدول زیر فیلدهای یک الگوی تبلیغات نصب برنامه را فهرست می کند. برنامه های موبایل از این فیلدها برای ایجاد تبلیغات نصب برنامه بومی استفاده می کنند.

رشته شرح لازم است یا توصیه می شود؟ همیشه نمایش داده می شود؟ اندازه تصویر توصیه شده/حداکثر تعداد کاراکترها مثال
عنوان عنوان برنامه ضروری آره 25 کاراکتر سیل - آن!
تصویر اسکرین شات از برنامه یا تصویر مرتبط دیگری ضروری خیر 1200 پیکسل در 627 پیکسل یا 600 پیکسل در 600 پیکسل بسته به نسبت تصویر مورد نیاز ناشر. <عکسی از بازی Flood-It!>
بدن متن اصلی برنامه ضروری خیر 90 کاراکتر فریبنده ساده + وسوسه انگیز به چالش کشیدن = لذت بخش اعتیاد آور!
نماد برنامه نماد برنامه ضروری خیر 128 × 128 پیکسل <سیل آن را! نماد برنامه>
فراخوانی برای اقدام اقدام کاربر ترجیحی توصیه شده آره 15 کاراکتر نصب
رتبه بندی ستاره ای تعداد ستاره ها (0 - 5) نشان دهنده رتبه برنامه در فروشگاه برنامه توصیه شده خیر 0 - 5 4.5
قیمت هزینه برنامه توصیه شده خیر 15 کاراکتر رایگان

نکاتی درباره طول متن

اگر خریدار دارایی متنی (مثلاً متن اصلی) را طولانی‌تر از حداکثر تعداد نویسه‌های پیشنهادی ارسال کند، ممکن است Google یا ناشر آن متن را کوتاه و بی‌اطلاع کند. توجه داشته باشید که محدودیت های برش در زبان های چینی، ژاپنی و کره ای نصف اندازه است. به عنوان مثال، محدودیت عنوان برای انگلیسی 90 و برای چینی 45 است.

نکاتی در مورد اندازه تصویر

ناشران مجازند:

  • تصویر اصلی را به صورت متقارن تا 20% در یک بعد (ارتفاع یا عرض) برش دهید.
  • مقیاس تصویر را بدون تغییر نسبت ابعاد آن تغییر دهید.
  • تصاویری که نسبت‌های ابعادی آن‌ها به طور قابل‌توجهی متفاوت از نسبت‌هایی هستند که در ارتفاع و عرض آن‌ها مشخص شده است، ممکن است فیلتر شوند.

قالب تبلیغات محتوایی

جدول زیر فیلدهای یک قالب تبلیغات محتوا را فهرست می کند. ناشران از این فیلدها برای ایجاد تبلیغات محتوای بومی استفاده می کنند.

رشته شرح مورد نیاز یا توصیه شده؟ همیشه نمایش داده می شود؟ اندازه تصویر توصیه شده/حداکثر تعداد کاراکترها * مثال
عنوان سربرگ آگهی ضروری آره 25 کاراکتر پایین ترین نرخ وام مسکن
تصویر تصویر اصلی آگهی ضروری خیر 1200 پیکسل در 627 پیکسل یا 600 پیکسل در 600 پیکسل بسته به نسبت تصویر مورد نیاز ناشر. <تصویر اصلی آگهی>
بدن محتوای آگهی ضروری خیر 90 کاراکتر خانه شیرین شما خانه بروکلین - ارزان تر و زودتر از آنچه فکر می کنید!
لوگو لوگوی تبلیغ کننده یا تصویر کوچک مرتبط دیگری توصیه شده خیر 128 x 128 پیکسل <آرم NY Mortgage Inc.>
فراخوانی برای اقدام اقدام برگزیده کاربر توصیه شده خیر 15 کاراکتر یک نقل قول دریافت کنید
تبلیغ کننده متنی که تبلیغ کننده یا برند را مشخص می کند ضروری خیر 25 کاراکتر NY Mortgage Inc.

الگوی تبلیغ نصب برنامه ویدیویی

رشته شرح مورد نیاز یا توصیه شده؟ همیشه نمایش داده می شود؟ اندازه تصویر توصیه شده/حداکثر تعداد کاراکترها * مثال
ویدئو پاسخ ویدیویی VAST حاوی تمام دارایی‌های لازم برای پخش یک آگهی ویدیویی. ضروری خیر - یک URL به VAST XML حاوی Flood-It! تبلیغ ویدیویی
عنوان عنوان برنامه ضروری آره 25 کاراکتر سیل - آن!
تصویر تصویر (تصویر کوچک) قبل از کلیک روی تبلیغ ویدیویی یا در حین بارگیری در پخش کننده نشان داده می شود. ضروری خیر باید با نسبت تصویر مطابقت داشته باشد (به عنوان مثال: 1280x720 برای ویدیوی 16x9، 4x3 برای ویدیوی 640x480). اسکرین شات از بازی Flood-It! یا از ویدیو
بدن متن اصلی برنامه ضروری خیر 90 کاراکتر فریبنده ساده + وسوسه انگیز به چالش کشیدن = لذت بخش اعتیاد آور!
نماد برنامه نماد برنامه ضروری خیر 128 x 128 پیکسل سیل آن را! نماد برنامه
فراخوانی برای اقدام اقدام کاربر ترجیحی ضروری آره 15 کاراکتر نصب
رتبه بندی ستاره ای تعداد ستاره ها (0 - 5) نشان دهنده رتبه برنامه در فروشگاه برنامه توصیه شده خیر 0 - 5 4.5
قیمت هزینه برنامه توصیه شده خیر 15 کاراکتر رایگان

محدودیت های

  • ویدیو : همه ویدیوها باید به شکل یک URL VAST یا یک برچسب VAST باشند. یک فایل ویدئویی خام مانند WebM، MP4 و غیره قابل تعیین نیست .

  • طول متن : اگر خریدار دارایی متنی مانند body در پاسخ مشخص کند، ممکن است توسط Google یا ناشر کوتاه شده و بیضی شود. توجه داشته باشید که محدودیت های برش در زبان های چینی، ژاپنی و کره ای نصف اندازه است. به عنوان مثال، محدودیت عنوان در زبان انگلیسی 90 و برای چینی 45 است.

  • اندازه تصویر : ناشران مجازند:

    • تصویر اصلی را به صورت متقارن تا 20% در یک بعد (ارتفاع یا عرض) برش دهید.
    • مقیاس تصویر را بدون تغییر نسبت ابعاد آن تغییر دهید.

نمونه تبلیغ نصب برنامه

ویدیوی بومی

قالب تبلیغ محتوای ویدیویی

رشته شرح مورد نیاز یا توصیه شده؟ همیشه نمایش داده می شود؟ اندازه تصویر توصیه شده/حداکثر تعداد کاراکترها * مثال
ویدئو پاسخ ویدیویی VAST حاوی تمام دارایی‌های لازم برای پخش یک آگهی ویدیویی. ضروری آره - یک URL به VAST XML حاوی Flood-It! تبلیغ ویدیویی
عنوان سربرگ آگهی ضروری آره 25 کاراکتر پایین ترین نرخ وام مسکن
تصویر تصویر (تصویر کوچک) قبل از کلیک روی تبلیغ ویدیویی یا در حین بارگیری در پخش کننده نشان داده می شود. ضروری خیر باید با نسبت تصویر مطابقت داشته باشد (به عنوان مثال: 1280x720 برای ویدیوی 16x9، 4x3 برای ویدیوی 640x480). اسکرین شات از ویدیو
بدن محتوای آگهی ضروری خیر 90 کاراکتر خانه شیرین شما خانه بروکلین - ارزان تر و زودتر از آنچه فکر می کنید!
لوگو لوگوی تبلیغ کننده یا تصویر کوچک مرتبط دیگری توصیه شده خیر 128 x 128 پیکسل لوگوی NY Mortgage Inc
فراخوانی برای اقدام اقدام برگزیده کاربر ضروری خیر 15 کاراکتر یک نقل قول دریافت کنید
تبلیغ کننده متنی که تبلیغ کننده یا برند را مشخص می کند ضروری خیر 25 کاراکتر NY Mortgage Inc.

فیلدهای متا

فیلدهای متا زیر توسط همه الگوهای تبلیغاتی پشتیبانی شده به اشتراک گذاشته شده است:

بافر پروتکل بلادرنگ خریداران مجاز خریداران مجاز OpenRTB معادل شرح
NativeAd.click_link_url Link.url آدرس اینترنتی که با کلیک کاربر روی تبلیغ توسط مرورگر فراخوانی می شود. می تواند اولین مرحله از یک زنجیره تغییر مسیر باشد که در نهایت به صفحه فرود منتهی می شود. برای تبلیغات بومی، توصیه می کنیم از click_link_url به عنوان فیلد برای تعیین مقصدی که کاربر در نهایت به آنجا می رود، استفاده کنید. استفاده از این فیلد در مورد صفحات فرود پویا الزامی است.
Ad.click_through_url Bid.adomain

اگر مناقصه‌دهنده قصد مناقصه را دارد، باید تنظیم شود. این مجموعه نشانی‌های اینترنتی مقصد برای قطعه است، از جمله نشانی‌های اینترنتی که کاربر در صورت کلیک بر روی تبلیغ نمایش‌داده شده به آن‌ها می‌رود و هر نشانی اینترنتی که در آگهی ارائه‌شده قابل مشاهده است. تماس‌های میانی به سرور را که با صفحه فرود نهایی نامرتبط هستند درج نکنید. یک BidResponse که یک تکه یا تبلیغ ویدیویی را برمی‌گرداند اما اعلام می‌کند که click_through_url وجود ندارد، نادیده گرفته می‌شود. فقط در صورتی این فیلد را تنظیم کنید که html_snippet ، video_url یا native_ad تنظیم شده باشد. این داده‌ها به‌عنوان اعلامیه URL مقصد، به‌عنوان مثال برای پس‌فیلتر کردن URL‌های مسدودشده توسط ناشر یا دسته‌بندی آگهی‌ها استفاده می‌شود. هنگام استفاده از تبلیغات بومی به NativeAd.click_link_url بالا مراجعه کنید.

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

برای تبلیغات بومی، اگر NativeAd.click_link_url تنظیم نشده باشد، از اولین مقدار click_through_url برای هدایت کاربر به صفحه فرود استفاده می شود. علاوه بر این، همه مقادیر به عنوان اعلان URL مقصد (مشابه مورد غیر بومی) استفاده می شود.

NativeAd.click_tracking_urls Link.clicktrackers اختیاری. نشانی‌های اینترنتی اضافی که به تبلیغ‌کنندگان اجازه می‌دهد کلیک‌های کاربران روی آگهی را ردیابی کنند.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url پیوند به یک صفحه ترجیحی یا انصراف از تبلیغات. در صورت وجود، یک نماد AdChoices استاندارد به خلاقیت اصلی اضافه شده و به این URL پیوند داده می شود. این برای تبلیغات بومی پشتیبانی می‌شود اما بخشی از پیام اصلی در پاسخ پیشنهاد قیمت نیست.
Ad.impression_tracking_url NativeResponse.imptrackers نمایش بومی باید با impression_tracking_url در پروتوی پیشنهادی هم‌زمان خریداران مجاز یا Imptrackers بومی در OpenRTB ردیابی شود.

required_fields و recommended_fields توسط ناشر مشخص شده است. ما نشان می‌دهیم که چگونه این فیلدهای بیتی را ترجمه کنیم تا مشخص کنیم آیا یک فیلد مورد نیاز است یا توصیه می‌شود.

یک فیلد بیت از هر بیت یک مقدار دودویی برای ذخیره یک عبارت درست یا نادرست استفاده می‌کند، که معادل ارسال سیگنال‌های بولی بسیاری مانند is_logo_required ، is_header_required ، و غیره است، اما همه با هم بسته‌بندی شده‌اند.

مثال

برای این مثال از مقدار 1085 required_fields استفاده خواهیم کرد.

ابتدا مقدار باینری معادل 10000111101 را پیدا کنید

هنگامی که مقدار باینری را به دست آوردید، می توانید بیت ها را بررسی کنید تا ببینید آیا یک فیلد مورد نیاز است (1) یا لازم نیست (0).

جدول زیر فیلدها را به جای آنها در مقدار باینری ترسیم می کند. باینری را از راست به چپ بخوانید، با 1 بیت مربوط به سمت راست ترین مکان در مقدار باینری.

رشته قرار دادن مقدار باینری (راست به چپ)
HEADLINE 1
BODY 2
CALL_TO_ACTION 4
ADVERTISER 8
IMAGE 16
LOGO 32
APP_ICON 64
STAR_RATING 128
PRICE 256
STORE 512
VIDEO 1024

با نگاهی به مثال باینری مقدار 10000111101 ، 1 بیت (راست ترین) 1 است که نشان دهنده مقدار مورد نیاز است. طبق جدول، 1 بیت مربوط به HEADLINE است.

2 بیت (مقدار دوم از سمت راست) 0 است که به معنای نیازی نیست . 2 بیت مربوط به BODY است.

در اینجا تمام فیلدهای مورد نیاز تفسیر شده در مثال ما آمده است:

ارزش شرح ضروری؟
1 VIDEO آره
0 STORE خیر
0 PRICE خیر
0 STAR_RATING خیر
0 APP_ICON خیر
1 LOGO آره
1 IMAGE آره
1 ADVERTISER آره
1 CALL_TO_ACTION آره
0 BODY خیر
1 HEADLINE آره

پیام NativeAdTemplate

هنگام دریافت یک درخواست پیشنهادی حاوی موجودی بومی، حاوی یک BidRequest.adSlot[].native_ad_template پر شده خواهد بود. پیام NativeAdTemplate مشخصاتی را برای:

  • زمینه هایی که مورد نیاز یا توصیه می شوند.
  • ابعاد تصاویر، لوگوها و نمادهای برنامه.
  • مشخصات سبکی که تبلیغ در آن ارائه می شود.
message BidRequest {
  //...
  message AdSlot {
    //...

    message NativeAdTemplate {
      // Defines the bits used in required_fields and recommended_fields.
      // There is one bit for each of the fields in BidResponse.Ad.NativeAd
      enum Fields {
        NO_FIELDS = 0x0;
        HEADLINE = 0x1;
        BODY = 0x2;
        CALL_TO_ACTION = 0x4;
        ADVERTISER = 0x8;
        IMAGE = 0x10;
        LOGO = 0x20;
        APP_ICON = 0x40;
        STAR_RATING = 0x80;
        PRICE = 0x100;
        DEPRECATED_STORE = 0x200;
        VIDEO = 0x400;
      }

      // Bitfield describing which fields are required by the publisher. Bid
      // responses with no value for these fields will be rejected. Click
      // and view tracking urls are always implicitly required.
      optional int64 required_fields = 1;

      // Bitfield describing which fields are recommended by the publisher.
      // All recommended field are supported, but not all recommended fields
      // are required.
      optional int64 recommended_fields = 2;

      // max_safe_length indicates the maximum number of Unicode characters that
      // are guaranteed to be shown without truncation. Longer strings may be
      // truncated and ellipsized by Ad Exchange or the publisher during
      // rendering.
      optional int32 headline_max_safe_length = 3;
      optional int32 body_max_safe_length = 4;
      optional int32 call_to_action_max_safe_length = 5;
      optional int32 advertiser_max_safe_length = 6;
      optional int32 price_max_safe_length = 15;

      // The width and height from which to calculate the required aspect ratio.
      // You can provide a larger image in the response. Images that have aspect
      // ratios substantially different than those implied by the height and
      // width may be filtered.
      optional int32 image_width = 7;
      optional int32 image_height = 8;
      optional int32 logo_width = 9;
      optional int32 logo_height = 10;
      optional int32 app_icon_width = 11;
      optional int32 app_icon_height = 12;

      // Globally distinct id for the specific style, HTML, and CSS with which
      // the native ad is rendered.
      optional int32 style_id = 16;

      // Type of style layout for each native ad template.
      enum LayoutType {
        PIXEL = 0;
        FLUID = 1;
      }
      optional LayoutType style_layout_type = 17 [default = PIXEL];

      // If the style_layout_type is Pixel, width and height of the
      // entire native ad after rendering. If the style_layout_type is
      // Fluid, the style_height and style_width may optionally
      // not be populated.
      optional int32 style_height = 18;
      optional int32 style_width = 19;
    }
    repeated NativeAdTemplate native_ad_template = 51;
  }

    // NativePlacementType describes placement of native ad slot with respect to
    // surrounding context.
    enum NativePlacementType {
      PLACEMENT_UNKNOWN = 0;
      // In the feed of content - for example as an item inside the organic
      // feed/grid/listing/carousel.
      PLACEMENT_IN_FEED = 1;
      // In the atomic unit of the content - for example, in the article page or single
      // image page.
      PLACEMENT_ATOMIC_UNIT = 2;
      // Outside the core content - for example in the ads section on the right
      // rail, as a banner-style placement near the content, etc.
      PLACEMENT_OUTSIDE = 3;
      // Recommendation widget, most commonly presented below the article
      // content.
      PLACEMENT_RECOMMENDATION = 4;
    }

    optional NativePlacementType native_placement_type = 45;

  // ...
}

پیام NativeAd

هنگام مناقصه برای موجودی بومی، خریدار باید BidResponse.ad[].native_ad را با فیلدهای الزامی اعلام شده در BidRequest.adSlot[].native_ad_template مربوطه پر کند.

message BidResponse {
  //...
  message Ad {
    //...

    message NativeAd {
      // A short title for the ad.
      optional string headline = 1;

      // A long description of the ad.
      optional string body = 2;

      // A label for the button that the user is supposed to click.
      optional string call_to_action = 3;

      // The name of the advertiser or sponsor, to be displayed in the ad
      // creative.
      optional string advertiser = 4;

      // Next tag to use: 4
      message Image {
        optional string url = 1;

        // Image width and height are specified in pixels. You may provide a
        // larger image than was requested, so long as the aspect ratio is
        // preserved.
        optional int32 width = 2;
        optional int32 height = 3;
      }

      // A large image.
      optional Image image = 5;

      // A smaller image, for the advertiser's logo.
      optional Image logo = 6;

      // The app icon, for app download ads.
      optional Image app_icon = 7;

      // The video file. Only set this field if the video field is requested.
      oneof video {
        // The URL to fetch a video ad. The URL should return an XML response
        // that conforms to VAST standards.
        string video_url = 13;

        // The VAST document to be returned.
        string video_vast_xml = 16;
      }

      // The app rating in the app store. Must be in the range [0-5].
      optional double star_rating = 8;

      // The URL that the browser/SDK will load when the user clicks the ad.
      // This can be the landing page directly, or the first step of a redirect
      // chain that eventually leads to it. For backward compatibility, if this
      // is not set, the first Ad.click_through_url is used.
      optional string click_link_url = 14;

      // The URL to use for click tracking. The SDK pings click tracking url on
      // a background thread. When resolving the url, HTTP 30x redirects are
      // followed. The SDK ignores the contents of the response; this URL
      // has no effect on the landing page for the user.
      // This field is planned to be deprecated and we are moving to the
      // repeated click_tracking_urls field.
      optional string click_tracking_url = 11;

      // The URLs to use for click tracking. This will be used throughout the
      // serving stack and will incorporate any URL in click_tracking_urls.
      repeated string click_tracking_urls = 15;

      // The price of the promoted app including the currency info.
      optional string price = 10;

    };
    optional NativeAd native_ad = 18;

    // The set of destination URLs for the snippet. This includes the URLs that
    // the user will go to if they click on the displayed ad, and any URLs that
    // are visible in the rendered ad. Do not include intermediate calls to the
    // adserver that are unrelated to the final landing page. A BidResponse that
    // returns a snippet or video ad but declares no click_through_url will be
    // discarded. Only set this field if html_snippet or video_url or native_ad
    // are set. This data is used as a destination URL declaration, for example
    // for post-filtering of publisher-blocked URLs or ad categorization.
    //
    // For non-native ads, it is not used for click tracking or any
    // other ad functionality; it is only used as a destination URL
    // declaration.
    //
    // For native ads, if NativeAd.click_link_url is not set, the first
    // value of click_through_url is used to direct the user to the landing
    // page. In addition, all values are used as destination
    // URL declarations (similar to the non-native case).
    repeated string click_through_url = 4;

    //...

    // The URLs to call when the impression is rendered. The SDK pings
    // impression urls on a background thread and ignores the contents
    // of the response.
    repeated string impression_tracking_url = 19;

    // Link to ad preferences page. This is only supported for native ads.
    // If present, a standard AdChoices icon is added to the native ad creative and
    // linked to this URL.
    optional string ad_choices_destination_url = 21;
    // ...
  }
}

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

درخواست های پیشنهادی غیر ویدئویی

گوگل

OpenRTB JSON

OpenRTB Protobuf

درخواست های پیشنهادی ویدیویی

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

توجه داشته باشید که مقادیر در این پاسخ برای مطابقت با درخواست های مربوطه در بالا در نظر گرفته نشده است. با این حال، اگر الگوی موجود در درخواست، فیلدهای الزامی/اختیاری را پیشنهاد می‌کند، پاسخ‌های اینجا به آن الزامات پایبند هستند.

پاسخ‌های پیشنهادی غیر ویدئویی

گوگل

OpenRTB JSON

OpenRTB Protobuf

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