قالب آگهی خریدار SDK

آگهی‌های SDK خریدار از خلاقیت‌های ارائه‌شده توسط SDK خودتان استفاده می‌کنند.

موجودی برنامه تلفن همراه از ناشران که آداپتور مناقصه شما را در برنامه خود ادغام می‌کنند، می‌توانند پیشنهادهایی را با فرمت آگهی ارائه‌شده SDK خریدار بپذیرند. نحوه ارائه آنها بر اساس اجرای SDK شما و SDKRenderedAd است که در پاسخ پیشنهاد ارائه می کنید.

می‌توانید پیشنهادی از جمله آگهی ارائه‌شده SDK خریدار یا هر قالب آگهی دیگری که توسط Google Mobile Ads SDK پشتیبانی می‌شود، ارائه دهید، اما هر پیشنهادی که حاوی هر دو باشد فیلتر می‌شود.

الزامات

تبلیغات SDK خریدار برای خریداران تایید شده در دسترس است. این قالب به تلاش بیشتری از جانب شما و ناشر نیاز دارد. برای پیکربندی حساب خود برای تبلیغات خریدار SDK با مدیر حساب فنی خود تماس بگیرید. سپس می‌توانید یک آداپتور Bidding را پیاده‌سازی کنید که SDK شما را قادر می‌سازد با Google Mobile Ads SDK ارتباط برقرار کند. ناشر باید SDK و آداپتور شما را در برنامه های تلفن همراه خود ادغام کند.

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

اگر درخواست پیشنهادی از این قالب تبلیغ پشتیبانی می‌کند، می‌توانید با تنظیم فیلد sdk_rendered_ad در پاسخ پیشنهاد، تبلیغی را مشخص کنید که با SDK شما ارائه شود.

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

درخواست‌های پیشنهادی برای موجودی برنامه تلفن همراه شامل جزئیات مربوط به SDK و آداپتورهای موجود در برنامه ناشر است که می‌توانید برای ارائه در فیلدهای زیر استفاده کنید:

شناسه SDK

می‌توانید از درخواست پیشنهاد برای یافتن id که باید در پاسخ پیشنهاد برای آگهی ارائه‌شده SDK خریدار ارائه کنید، استفاده کنید.

فیلدهای زیر را ببینید:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • پروتکل Google RTB (منسوخ شده): BidRequest.mobile.installed_sdk

می‌توانید درباره پیام InstalledSdk در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.

نقشه برداری واحد تبلیغات

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

فیلدهای زیر را ببینید:

  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping
  • پروتکل Google RTB (منسوخ شده): BidRequest.AdSlot.ad_unit_mapping

می‌توانید درباره شی AdUnitMapping در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.

سیگنال های ایمن

ناشران می توانند سیگنال های ایمن را با پیشنهاد دهندگان به اشتراک بگذارند. می توانید آنها را از شیء BuyerGeneratedRequestData در OpenRTB یا از شیء SecureSignal پروتکل منسوخ شده Google RTB بخوانید.

فیلدهای زیر را ببینید:

  • OpenRTB: BidRequest.imp.ext.buyer_generated_request_data.data
  • پروتکل Google RTB (منسوخ شده): BidRequest.AdSlot.SecureSignal.data

می‌توانید درباره نحوه نمایش سیگنال‌های ایمن در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.

درخواست های تست

می توانید قسمت درخواست تست را بخوانید تا متوجه شوید که آیا درخواست پیشنهاد آزمایشی است یا خیر.

فیلدهای زیر را ببینید:

  • OpenRTB: BidRequest.test
  • پروتکل Google RTB (منسوخ شده): BidRequest.is_test

می توانید در راهنمای پروتکل OpenRTB و Google درباره فیلد Test اطلاعات بیشتری کسب کنید.

نمونه درخواست مناقصه

id: "<bid_request_id>"
imp {
  id: "1"
  banner {
    w: 320
    h: 50
    ...
  }
...
  adx_ext {
   ...
    ad_unit_mapping {
      keyvals {
        key: "key_1"
        value: "value_1"
      }
      keyvals {
        key: "key_2"
        value: "value_2"
      }
      ...
      format: FORMAT_BANNER
    }
  }
}
app {
 ...
  adx_ext {
    installed_sdk {
      id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      sdk_version {
        major: 1
        minor: 2
        micro: 30
      }
      adapter_version {
        major: 1
        minor: 2
        micro: 3000
      }
    }
    installed_sdk {
    ...
    }
    ...
  }
}
device {
  ...
}
user {
  ...
  }
  adx_ext {
    eids {
      source: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      uids {
        id: "<partner_signal_string>"
      }
    }
  }
}
at: 1
tmax: 1000
cur: "USD"
test: 1
...
adx_ext {
  google_query_id: "<query_string>"
  ...
}

پاسخ پیشنهاد

فیلدهای زیر در پاسخ پیشنهادی الزامی است:

  • OpenRTB:
    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.ext.billing_id
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h
  • پروتکل Google RTB (منسوخ شده):
    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height

علاوه بر این، پاسخ پیشنهادی شما باید شامل SdkRenderedAd با موارد زیر باشد:

شناسه SDK

از فیلد id برای ارائه شناسه برای SDK برای ارائه آگهی استفاده کنید.

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

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • پروتکل Google RTB (منسوخ شده): BidRequest.mobile.installed_sdk

می‌توانید درباره پیام InstalledSdk در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.

آگهی اعلام شده

از یک فیلد declared_ad برای ارائه خلاقیتی استفاده کنید که با الزامات CreativeEnforcementSettings درخواست پیشنهاد مطابقت دارد و نماینده داده‌های رندر آگهی است. فقط یکی از html_snippet ، video_url ، video_vast_xml ، یا native_response باید پر شود.

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

ارائه داده ها

از فیلد rendering_data برای ارائه داده‌ها برای SDK خریدار استفاده کنید تا از آن برای ارائه آگهی شما استفاده کند.

  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
  • پروتکل Google RTB (منسوخ شده): BidResponse.ad.sdk_rendered_ad.rendering_data

مناقصه برای قرار دادن یک تبلیغ SDK خریدار باید یک خلاقیت را در قسمت declared_ad مشخص کند. آگهی اعلام شده باید دقیقاً نشان دهنده rendering_data باشد.

در اینجا یک نمونه شی SdkRenderedAd آمده است:

{
  "id": "1234567",
  "rendering_data": "\xd58...,\xd4\x89\xd\xf9",
  "declared_ad": {
    "html_snippet": "<iframe src=\"https://example.com/ads?id=123&
      curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
  }
}

توصیه می‌کنیم از API بیدرنگ مناقصه استفاده کنید تا خلاقیت‌ها را قبل از اینکه در یک پاسخ پیشنهادی بگنجانید برای بررسی ارسال کنید .

برای جزئیات بیشتر در مورد فیلدهای SdkRenderedAd به راهنمای پروتکل Google و OpenRTB مراجعه کنید.

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

در اینجا نمونه‌ای از پاسخ‌های پیشنهادی برای هر قالب آگهی آمده است:

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 99
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 320
    h: 50
    burl: "https://abc.com/billing?td=fn&win_price=${AUCTION_PRICE}"
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          html_snippet: "<!doctype html> <html> ... </html>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
      billing_id: 141763360450
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

بینابینی

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

ویدیوی پاداش

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

بومی

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 1200
    h: 627
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          native_response {
            ...
            assets {
              id: 1
              title {
                text: ""
              }
            }
            assets {
              id: 2
              data {
                value: "<some_string>"
              }
            }
            assets {
              id: 3
              data {
                value: "View now"
              }
            }
            assets {
              id: 4
              img {
                url: "<valid_image_url>"
                w: 1200
                h: 627
                type: 3
              }
            }
            assets {
              id: 5
              img {
                url: "<valid_image_url>"
                w: 100
                h: 100
                type: 1
              }
            }
            assets {
              id: 6
              data {
                value: ""
              }
            }
            assets {
              id: 7
              data {
                value: "<some_string>"
              }
            }
            link {
              url: "<destination_link>"
            }
          }
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

بررسی خلاقانه

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

در اینجا دو روش وجود دارد که می توانید خلاقیت ها را برای بررسی ارسال کنید:

Bidding API در زمان واقعی (توصیه می شود)

می‌توانید از روش buyers.creatives.create API بیدرنگ Bidding برای ارسال خلاقیت‌ها برای بررسی استفاده کنید.

API برای هر خلاق فقط به یک ارسال نیاز دارد و به شما امکان می‌دهد وضعیت بررسی خلاقیت خود را بررسی کنید.

پاسخ پیشنهاد

می‌توانید خلاقیت‌های جدید را مستقیماً در پاسخ پیشنهاد ارسال کنید.

شما باید از فیلد declared_ad شی SdkRenderedAd برای ارسال یک پاسخ پیشنهادی با یک خلاقیت SDK خریدار برای بررسی استفاده کنید.

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

برای جزئیات بیشتر به راهنمای خلاقیت ها مراجعه کنید.