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

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

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

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

الزامات

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

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

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

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

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

شناسه SDK

شما می‌توانید از درخواست پیشنهاد برای یافتن شناسه SDK که باید در پاسخ پیشنهاد با فیلد BidRequest.app.ext.installed_sdk.id ارائه دهید، استفاده کنید.

می‌توانید در مستندات مرجع InstalledSdk اطلاعات بیشتری در این مورد کسب کنید.

نگاشت واحد تبلیغات

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

می‌توانید در مستندات مرجع AdUnitMapping اطلاعات بیشتری در این مورد کسب کنید.

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

ناشران می‌توانند سیگنال‌های امن را با پیشنهاددهندگان به اشتراک بگذارند. می‌توانید این موارد را در BidRequest.imp.ext.buyer_generated_request_data.data پیدا کنید.

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

درخواست‌های آزمون

شما می‌توانید از فیلد BidRequest.test برای تأیید اینکه آیا درخواست پیشنهاد، آزمایشی است یا خیر، استفاده کنید.

می‌توانید اطلاعات بیشتری در مورد این فیلد را در مستندات مرجع BidRequest بیابید.

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

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>"
  ...
}

پاسخ پیشنهاد

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

  • BidResponse.seatbid.bid.adomain
  • BidResponse.seatbid.bid.ext.billing_id
  • BidResponse.seatbid.bid.crid
  • BidResponse.seatbid.bid.w
  • BidResponse.seatbid.bid.h

علاوه بر این، پاسخ پیشنهاد شما باید BidResponse.seatbid.bid.ext.sdk_rendered_ad را با موارد زیر پر کند:

شناسه SDK

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

می‌توانید شناسه را در BidRequest.app.ext.installed_sdk پیدا کنید.

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

از BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad برای ارائه یک متن تبلیغاتی که الزامات موجود در BidRequest.imp.ext.creative_enforcement_settings را برآورده می‌کند و نماینده داده‌های رندر تبلیغ است، استفاده کنید. فقط یکی از html_snippet ، video_url ، video_vast_xml یا native_response باید پر شود.

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

می‌توانید اطلاعات بیشتری در مورد آگهی اعلام‌شده را در مستندات مرجع DeclaredAd بیابید.

رندر کردن داده‌ها

از فیلد BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data برای ارائه داده‌ها به SDK خریدار جهت رندر کردن تبلیغ خود استفاده کنید.

پیشنهادهای مربوط به قرار دادن آگهی 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 به راهنمای 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"

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

آثار تبلیغاتی قبل از اینکه بتوانند به نمایش گذاشته شوند، بررسی می‌شوند تا اطمینان حاصل شود که با خط‌مشی‌ها و تنظیمات ناشر ما مطابقت دارند.

برای ارسال آثار هنری جهت بررسی، می‌توانید از دو روش زیر اقدام کنید:

API پیشنهاد قیمت لحظه‌ای (توصیه می‌شود)

شما می‌توانید از متد buyers.creatives.create از API پیشنهاد قیمت لحظه‌ای (Real-time Bidding API) برای ارسال آگهی‌های تبلیغاتی جهت بررسی استفاده کنید.

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

پاسخ پیشنهاد

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

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

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

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