تستخدم إعلانات SDK للمشتري تصميمات إعلانات تعرضها حزمة تطوير البرامج (SDK) الخاصة بك.
يمكن لمستودع التطبيقات المتوافقة مع الأجهزة الجوّالة من الناشرين الذين يدمجون معدِّل عروض الأسعار في تطبيقاتهم قبول عروض الأسعار
باستخدام شكل الإعلان المعروض لحزمة تطوير البرامج (SDK) للمشتري. تستند طريقة عرضها إلى تنفيذ حزمة تطوير البرامج (SDK)
وSDKRenderedAd
التي ترسلها في استجابة
عرض السعر.
يمكنك تقديم عرض سعر يتضمّن إعلانًا معروضًا على حزمة تطوير البرامج (SDK) للمشتري أو أي شكل إعلان آخر متوافق مع حزمة SDK لإعلانات Google على الأجهزة الجوّالة، ولكن تتم فلترة أي عروض أسعار تحتوي على كليهما.
المتطلّبات
وتتوفر إعلانات SDK للمشتري للمشترين الذين تمت الموافقة عليهم. يتطلّب هذا التنسيق جهدًا إضافيًا منك ومن الناشر اتصل بالمدير الفني لحسابك لإعداد حسابك لإعلانات SDK للمشتري. يمكنك بعد ذلك تنفيذ معدِّل عروض الأسعار الذي يمكّن حزمة SDK من الاتصال بحزمة SDK لإعلانات Google على الأجهزة الجوّالة. يحتاج الناشر إلى دمج حزمة تطوير البرامج (SDK) والمحوِّل في تطبيقات الجوّال.
وننصحك بإرسال تصميمات الإعلانات للمراجعة قبل تضمينها في استجابة عرض السعر. اتصل بالمدير الفني لحسابك إذا لم تكن تعرف نوع تصميم الإعلان في وقت عرض السعر
وإذا كان طلب عرض السعر يتيح شكل الإعلان هذا، يمكنك تحديد إعلان يتم عرضه باستخدام حزمة تطوير البرامج (SDK) عن طريق ضبط الحقل sdk_rendered_ad
في استجابة
عرض السعر.
طلب عرض السعر
تتضمّن طلبات عروض الأسعار لمستودع التطبيقات المتوافقة مع الأجهزة الجوّالة تفاصيل عن حِزم تطوير البرامج (SDK) والمعدِّلات في تطبيق الناشر يمكنك استخدامها للعرض في الحقول التالية:
- رقم تعريف حزمة تطوير البرامج (SDK)
يمكنك استخدام طلب عرض السعر للعثور على
id
التي يجب توفيرها في استجابة عرض السعر لإعلان معروض على حزمة تطوير البرامج (SDK) للمشتري.اطّلِع على الحقول التالية:
- الشراة المعتمَدون:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- الشراة المعتمَدون:
يمكنك الاطّلاع على مزيد من المعلومات حول رسالة
InstalledSdk
في دليلَي بروتوكول Google وOpenRTB.- ربط الوحدات الإعلانية
يمكنك استخدام طلب عرض السعر لقراءة تعيينات الوحدات الإعلانية التي تتطابق مع شريحة عرض السعر.
اطّلِع على الحقول التالية:
- الشراة المعتمَدون:
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- الشراة المعتمَدون:
يمكنك الاطّلاع على مزيد من المعلومات حول الكائن
AdUnitMapping
في دليلَي بروتوكول Google وOpenRTB.- الإشارات الآمنة
يجب قراءة كائن المعرّف الممتد، وهو الإضافة العادية المستخدَمة لتمرير الإشارات الآمنة التي يختارها الناشر.
اطّلِع على الحقول التالية:
- الشراة المعتمَدون:
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
BidRequest.user.ext.eids.uids.id
- الشراة المعتمَدون:
يمكنك الاطّلاع على مزيد من المعلومات حول الكائن
Extended Id
في دليلَي بروتوكول Google وOpenRTB.- طلبات تجريبية
يمكنك قراءة حقل "طلب الاختبار" لمعرفة ما إذا كان طلب عرض السعر اختبارًا.
اطّلِع على الحقول التالية:
- الشراة المعتمَدون:
BidRequest.is_test
- OpenRTB:
BidRequest.test
- الشراة المعتمَدون:
يمكنك الاطّلاع على مزيد من المعلومات حول الحقل
Test
في دليلَي Google وOpenRTB.
نموذج طلب عرض السعر
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
:الشراة المعتمَدون:
BidResponse.Ad.click_through_url
BidResponse.Ad.AdSlot.billing_id
BidResponse.Ad.buyer_creative_id
BidResponse.Ad.width
BidResponse.Ad.height
OpenRTB:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.cid
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
يمكنك الاطّلاع على مزيد من المعلومات حول رسالة
SeatBid
في دليلَي بروتوكول Google وOpenRTB.
يجب أن يحتوي استجابة عرض السعر على SdkRenderedAd
بما يلي:
- رقم تعريف حزمة تطوير البرامج (SDK)
استخدِم الحقل
id
لتوفير رقم تعريف حزمة تطوير البرامج (SDK) من أجل عرض الإعلان.يمكنك العثور على رقم التعريف في طلب عرض السعر في الحقول التالية:
- الشراة المعتمَدون:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- الشراة المعتمَدون:
يمكنك الاطّلاع على مزيد من المعلومات حول رسالة
InstalledSdk
في دليلَي بروتوكول Google وOpenRTB.- إعلان معلن
استخدِم الحقل
declared_ad
لتوفير تصميم إعلان يستوفي متطلباتCreativeEnforcementSettings
لطلب عرض السعر ويمثّل بيانات العرض الخاصة بالإعلان. بالنسبة إلى أشكال الإعلانات غير المدمجة مع المحتوى، يجب تقديم واحد فقط منhtml_snippet
أوvideo_url
أوvideo_vast_xml
. بالنسبة إلى شكل الإعلان المدمج مع المحتوى، يجب تقديمnative_response
فقط.- الشراة المعتمَدون:
BidResponse.ad.sdk_rendered_ad.declared_ad
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
في حال عدم تعبئة
declared_ad
، لن نتمكّن من مراجعة تصميم الإعلان وستتم فلترة جميع عروض الأسعار التي تتضمّن تصميم الإعلان من المزاد.- الشراة المعتمَدون:
- عرض البيانات
استخدِم الحقل
rendering_data
لتقديم البيانات إلى حزمة تطوير البرامج (SDK) للمشتري من أجل استخدامها لعرض إعلانك.- الشراة المعتمَدون:
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
BidResponse.seatbid.bid.ext.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>", } }
ننصحك باستخدام واجهة برمجة تطبيقات "عروض الأسعار في الوقت الفعلي" لإرسال تصميمات الإعلانات للمراجعة قبل تضمينها في استجابة عرض السعر.
راجِع دليل بروتوكول
Google وOpenRTB
للحصول على مزيد من التفاصيل عن حقول SdkRenderedAd
.
نموذج استجابة لعرض السعر
وفي ما يلي نماذج الردود على عروض الأسعار لكلّ شكل من أشكال الإعلانات:
بانر
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"
مراجعة المواد الإبداعية
تتم مراجعة تصميمات الإعلانات قبل عرضها لضمان توافقها مع سياساتنا وإعدادات الناشر.
وفي ما يلي طريقتان لإرسال المواد الإبداعية للمراجعة:
- واجهة برمجة تطبيقات عروض الأسعار في الوقت الفعلي (الخيار المقترَح)
يمكنك استخدام الطريقة
buyers.creatives.create
في واجهة برمجة تطبيقات عروض الأسعار في الوقت الفعلي من أجل إرسال تصميمات الإعلانات للمراجعة.تتطلّب واجهة برمجة التطبيقات عملية إرسال واحدة فقط لكل تصميم إعلان، وتتيح لك الاطّلاع على حالة مراجعة تصميمك.
- الاستجابة لعرض السعر
يمكنك إرسال تصميمات الإعلانات الجديدة مباشرةً في الاستجابة لعرض السعر.
يجب استخدام الحقل
declared_ad
للكائنSdkRenderedAd
لإرسال استجابة لعرض السعر تحتوي على تصميم إعلان لحزمة تطوير البرامج (SDK) للمشتري بغرض مراجعته.لا تتم مراجعة تصميمات الإعلانات المرسلة في استجابة عرض السعر إلا بعد عدة عروض أسعار. وتتم فلترة جميع عروض الأسعار الموضوعة قبل اكتمال المراجعة من المزاد. يمكنك استخدام واجهة "عروض الأسعار في الوقت الفعلي" أو واجهة برمجة التطبيقات "عروض الأسعار في الوقت الفعلي" للاطّلاع على حالة تصميم الإعلان بعد بدء المراجعة.
اطّلِع على دليل تصاميم الإعلانات للحصول على مزيد من التفاصيل.