آگهیهای 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
- OpenRTB:
میتوانید درباره پیام
InstalledSdk
در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.- نقشه برداری واحد تبلیغات
میتوانید از درخواست پیشنهاد برای خواندن نگاشتهای واحد تبلیغاتی که با جایگاه پیشنهادی مطابقت دارند، استفاده کنید.
فیلدهای زیر را ببینید:
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- پروتکل Google RTB (منسوخ شده):
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
میتوانید درباره شی
AdUnitMapping
در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.- سیگنال های ایمن
ناشران می توانند سیگنال های ایمن را با پیشنهاد دهندگان به اشتراک بگذارند. می توانید آنها را از شیء
BuyerGeneratedRequestData
در OpenRTB یا از شیءSecureSignal
پروتکل منسوخ شده Google RTB بخوانید.فیلدهای زیر را ببینید:
- OpenRTB:
BidRequest.imp.ext.buyer_generated_request_data.data
- پروتکل Google RTB (منسوخ شده):
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
میتوانید درباره نحوه نمایش سیگنالهای ایمن در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.
- درخواست های تست
می توانید قسمت درخواست تست را بخوانید تا متوجه شوید که آیا درخواست پیشنهاد آزمایشی است یا خیر.
فیلدهای زیر را ببینید:
- OpenRTB:
BidRequest.test
- پروتکل Google RTB (منسوخ شده):
BidRequest.is_test
- OpenRTB:
می توانید در راهنمای پروتکل 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
- OpenRTB:
میتوانید درباره پیام
InstalledSdk
در راهنمای پروتکل OpenRTB و Google اطلاعات بیشتری کسب کنید.- آگهی اعلام شده
از یک فیلد
declared_ad
برای ارائه خلاقیتی استفاده کنید که با الزاماتCreativeEnforcementSettings
درخواست پیشنهاد مطابقت دارد و نماینده دادههای رندر آگهی است. فقط یکی ازhtml_snippet
،video_url
،video_vast_xml
، یاnative_response
باید پر شود.- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
- پروتکل Google RTB (منسوخ شده):
BidResponse.ad.sdk_rendered_ad.declared_ad
اگر
declared_ad
پر نکنید، ما نمیتوانیم خلاقیت را بررسی کنیم و همه پیشنهادهای دارای خلاقیت از حراج فیلتر میشوند.- OpenRTB:
- ارائه داده ها
از فیلد
rendering_data
برای ارائه دادهها برای SDK خریدار استفاده کنید تا از آن برای ارائه آگهی شما استفاده کند.- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
- پروتکل Google RTB (منسوخ شده):
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
مناقصه برای قرار دادن یک تبلیغ 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 در زمان واقعی استفاده کنید.
برای جزئیات بیشتر به راهنمای خلاقیت ها مراجعه کنید.