Iklan SDK pembeli menggunakan materi iklan yang dirender oleh SDK Anda sendiri.
Inventaris aplikasi seluler dari penayang yang mengintegrasikan bidding Anda
adaptor ke aplikasinya dapat menerima bid
dengan format iklan yang dirender SDK pembeli. Cara rendernya didasarkan pada
Penerapan SDK dan SDKRenderedAd
yang Anda kirimkan di
respons bid.
Anda dapat mengajukan bid termasuk iklan yang dirender SDK pembeli atau iklan lainnya format baru didukung oleh Google Mobile Ads SDK, tetapi tawaran yang berisi keduanya difilter.
Persyaratan
Iklan SDK pembeli tersedia untuk pembeli yang disetujui. Format ini memerlukan dari Anda dan penerbit. Hubungi Manajer Akun Teknis Anda untuk mengonfigurasi akun untuk iklan SDK pembeli. Anda kemudian dapat menerapkan Bidding yang memungkinkan SDK Anda untuk berkomunikasi dengan Google Mobile Ads SDK. Penayang perlu mengintegrasikan SDK dan adaptor ke dalam aplikasi seluler mereka.
Sebaiknya kirimkan materi iklan untuk ulasan sebelum menyertakannya dalam respons bid. Menghubungi Manajer Akun Teknis Anda jika Anda tidak mengetahui jenis materi iklan pada waktu bidding.
Jika permintaan bid mendukung format iklan ini, Anda dapat menentukan iklan yang dirender
dengan SDK Anda dengan menetapkan kolom sdk_rendered_ad
dalam bid
respons.
Permintaan bid
Permintaan bid untuk inventaris aplikasi seluler menyertakan detail tentang SDK dan adaptor di aplikasi penayang yang dapat Anda gunakan untuk merender di bidang:
- ID SDK
Anda dapat menggunakan permintaan bid untuk menemukan
id
yang harus Anda berikan dalam bid untuk iklan yang dirender SDK pembeli.Lihat kolom berikut:
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Protokol Google RTB (tidak digunakan lagi):
BidRequest.mobile.installed_sdk
- OpenRTB:
Anda dapat mempelajari lebih lanjut pesan
InstalledSdk
di OpenRTB dan Google panduan protokol.- Pemetaan Unit Iklan
Anda dapat menggunakan permintaan bid untuk membaca pemetaan unit iklan yang cocok dengan slot bid.
Lihat kolom berikut:
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- Protokol Google RTB (tidak digunakan lagi):
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
Anda dapat mempelajari objek
AdUnitMapping
lebih lanjut di OpenRTB dan Google panduan protokol.- Sinyal Aman
Penayang dapat membagikan sinyal aman kepada bidder. Anda dapat membacanya dari Objek
BuyerGeneratedRequestData
OpenRTB atau dari layanan Google ObjekSecureSignal
protokol RTB.Lihat kolom berikut:
- OpenRTB:
BidRequest.imp.ext.buyer_generated_request_data.data
- Protokol Google RTB (tidak digunakan lagi):
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
Anda dapat mempelajari lebih lanjut cara menyatakan sinyal aman di OpenRTB dan Google panduan protokol.
- Permintaan Pengujian
Anda dapat membaca kolom Permintaan Percobaan untuk memahami apakah permintaan bid uji coba.
Lihat kolom berikut:
- OpenRTB:
BidRequest.test
- Protokol Google RTB (tidak digunakan lagi):
BidRequest.is_test
- OpenRTB:
Anda dapat mempelajari lebih lanjut kolom
Test
di OpenRTB dan Google panduan protokol.
Contoh permintaan bid
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>"
...
}
Respons bid
Kolom berikut wajib diisi dalam respons bid:
- OpenRTB:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.ext.billing_id
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
- Protokol Google RTB (tidak digunakan lagi):
BidResponse.Ad.click_through_url
BidResponse.Ad.AdSlot.billing_id
BidResponse.Ad.buyer_creative_id
BidResponse.Ad.width
BidResponse.Ad.height
Selain itu, respons bid Anda harus menyertakan SdkRenderedAd
dengan
berikut ini:
- ID SDK
Gunakan kolom
id
untuk memberikan ID bagi SDK untuk merender iklan.Anda dapat menemukan ID dalam permintaan bid dengan kolom berikut:
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Protokol Google RTB (tidak digunakan lagi):
BidRequest.mobile.installed_sdk
- OpenRTB:
Anda dapat mempelajari lebih lanjut pesan
InstalledSdk
di OpenRTB dan Google panduan protokol.- Iklan yang dideklarasikan
Gunakan kolom
declared_ad
untuk menyediakan materi iklan yang memenuhi persyaratanCreativeEnforcementSettings
dan mewakili data rendering. Hanya salah satu darihtml_snippet
,video_url
,video_vast_xml
, ataunative_response
harus diisi.- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
- Protokol Google RTB (tidak digunakan lagi):
BidResponse.ad.sdk_rendered_ad.declared_ad
Jika Anda tidak mengisi
declared_ad
, kami tidak dapat meninjau materi iklan dan semua bid dengan materi iklan difilter dari lelang.- OpenRTB:
- Merender data
Gunakan kolom
rendering_data
untuk memberikan data bagi SDK pembeli untuk gunakan untuk menampilkan iklan.- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
- Protokol Google RTB (tidak digunakan lagi):
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
Bid untuk menempatkan iklan SDK pembeli harus menentukan materi iklan di
declared_ad
kolom tersebut. Iklan yang dideklarasikan harus mewakilirendering_data
secara akurat.Berikut adalah contoh objek
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>", } }
Sebaiknya gunakan API Bidding Real-time untuk mengirimkan materi iklan untuk ulasan sebelum Anda menyertakannya dalam respons bid.
Lihat
Google dan
Panduan protokol OpenRTB
untuk mengetahui detail selengkapnya tentang kolom SdkRenderedAd
.
Contoh respons bid
Berikut adalah contoh respons bid untuk setiap format iklan:
Banner
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"
Interstisial
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"
Video reward
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"
Native
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"
Peninjauan materi iklan
Materi iklan ditinjau sebelum dapat ditayangkan untuk memastikan bahwa materi iklan memenuhi policies, dan penayang setelan.
Berikut dua cara untuk mengirimkan materi iklan untuk ditinjau:
- Real-time Bidding API (direkomendasikan)
Anda dapat menggunakan
buyers.creatives.create
real-time Bidding API untuk mengirim materi iklan untuk ditinjau.API ini hanya memerlukan satu pengiriman per materi iklan dan memungkinkan Anda memeriksa status peninjauan materi iklan Anda.
- Respons bid
Anda dapat mengirimkan materi iklan baru langsung di respons bid.
Anda harus menggunakan kolom
declared_ad
dari objekSdkRenderedAd
untuk mengirim respons bid dengan materi iklan SDK pembeli untuk ditinjau.Materi iklan yang dikirim dalam respons bid hanya akan ditinjau setelah beberapa bid dikirim. Semua bid yang diajukan sebelum peninjauan selesai difilter dari lelang. Anda dapat menggunakan antarmuka Bidding Real-time atau Bidding Real-time API untuk memeriksa status materi iklan setelah peninjauan dimulai.
Lihat panduan materi iklan untuk secara lebih mendetail.