Alıcı SDK'sı reklamları, kendi SDK'nız tarafından oluşturulan reklam öğelerini kullanır.
Teklif uyumlatıcınızı uygulamalarına entegre eden yayıncıların mobil uygulama envanteri, alıcı SDK'sı tarafından oluşturulan reklam biçimiyle teklifleri kabul edebilir. Bu öğelerin oluşturulma şekli, SDK uygulamanıza ve teklif yanıtında gönderdiğiniz SDKRenderedAd
öğesine bağlıdır.
Alıcı SDK'sı tarafından oluşturulmuş bir reklam veya Google Mobile Ads SDK'sı tarafından desteklenen başka bir reklam biçimini içeren bir teklif verebilirsiniz ancak her ikisini de içeren teklifler filtrelenir.
Şartlar
Alıcı SDK'sı reklamları, onaylanmış alıcılar tarafından kullanılabilir. Bu biçim, sizden ve yayıncıdan ek çaba gerektirir. Hesabınızı alıcı SDK reklamları için yapılandırmak üzere teknik hesap yöneticinizle iletişime geçin. Ardından, SDK'nızın Google Mobile Ads SDK'sı ile iletişim kurmasını sağlayan bir teklifli sistem bağdaştırıcısı uygulayabilirsiniz. Yayıncının, SDK'nızı ve bağdaştırıcınızı mobil uygulamalarına entegre etmesi gerekir.
Reklam öğelerini teklif yanıtına eklemeden önce inceleme için göndermenizi öneririz. Teklif verme sırasında reklam öğesi türünü bilmiyorsanız teknik hesap yöneticinizle iletişime geçin.
Bir teklif isteği bu reklam biçimini destekliyorsa teklif yanıtında sdk_rendered_ad
alanını ayarlayarak SDK'nızla oluşturulan bir reklam belirtebilirsiniz.
Teklif isteği
Mobil uygulama envanteri için teklif istekleri, yayıncının uygulamasındaki SDK'lar ve bağdaştırıcılar hakkında aşağıdaki alanlarda oluşturma için kullanabileceğiniz ayrıntıları içerir:
- SDK kimliği
Teklif yanıtında
BidRequest.app.ext.installed_sdk.id
alanıyla birlikte sağlamanız gereken SDK kimliğini bulmak için teklif isteğini kullanabilirsiniz.Bu konu hakkında daha fazla bilgiyi
InstalledSdk
referans belgelerinde bulabilirsiniz.- Reklam Birimi Eşleme
Teklif yuvasıyla
BidRequest.imp.ext.ad_unit_mapping
alanıyla eşleşen reklam birimi eşlemelerini bulmak için teklif isteğini kullanabilirsiniz.Bu konu hakkında daha fazla bilgiyi
AdUnitMapping
referans belgelerinde bulabilirsiniz.- Güvenli Sinyaller
Yayıncılar, güvenli sinyalleri teklif verenlerle paylaşabilir. Bu bilgileri
BidRequest.imp.ext.buyer_generated_request_data.data
'de bulabilirsiniz.Güvenli sinyallerin
BuyerGeneratedRequestData
referans dokümanlarında nasıl temsil edildiği hakkında daha fazla bilgi edinebilirsiniz.- Test İstekleri
Teklif isteğinin test olup olmadığını doğrulamak için
BidRequest.test
alanını kullanabilirsiniz.Bu alan hakkında daha fazla bilgiyi
BidRequest
referans belgelerinde bulabilirsiniz.
Örnek teklif isteği
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>"
...
}
Teklif yanıtı
Teklif yanıtında aşağıdaki alanlar zorunludur:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.ext.billing_id
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
Ayrıca, teklif yanıtınız BidResponse.seatbid.bid.ext.sdk_rendered_ad
ile aşağıdakileri doldurmalıdır:
- SDK kimliği
Reklamı oluşturmak için SDK'nın kimliğini sağlamak üzere
id
alanını kullanın.Kimliği
BidRequest.app.ext.installed_sdk
adresinde bulabilirsiniz.- Beyan edilen reklam
BidRequest.imp.ext.creative_enforcement_settings
'te bulunan koşulları karşılayan ve reklamın oluşturma verilerini temsil eden bir reklam öğesi sağlamak içinBidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
öğesini kullanın.html_snippet
,video_url
,video_vast_xml
veyanative_response
özelliklerinden yalnızca biri doldurulmalıdır.declared_ad
değerini doldurmazsanız reklam öğesini inceleyemeyiz ve reklam öğesini içeren tüm teklifler açık artırmadan filtrelenir.Beyan edilen reklam hakkında daha fazla bilgiyi
DeclaredAd
referans dokümanlarında bulabilirsiniz.- Verileri oluşturma
Reklamınızı oluşturmak için alıcı SDK'sının kullanacağı verileri sağlamak üzere
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
alanını kullanın.Alıcı SDK'sı reklamı yerleştirmek için teklifler
declared_ad
alanında bir reklam öğesi belirtmelidir. Beyan edilen reklam,rendering_data
'yi doğru şekilde temsil etmelidir.Örnek bir
SdkRenderedAd
nesnesi aşağıda verilmiştir:{ "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>", } }
Reklam öğelerini teklif yanıtına dahil etmeden önce inceleme için göndermek üzere Gerçek Zamanlı Teklif Verme API'yi kullanmanızı öneririz.
SdkRenderedAd
alanları hakkında daha fazla bilgi için OpenRTB kılavuzuna bakın.
Örnek teklif yanıtı
Her reklam biçimi için örnek teklif yanıtları aşağıda verilmiştir:
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"
Geçiş reklamı
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"
Ödüllü video
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"
Yerel biçim
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"
Reklam öğesi incelemesi
Reklam öğeleri, yayınlanmadan önce politikalarımıza ve yayıncı ayarlarımıza uygunluk açısından incelenir.
Reklam öğelerini incelemeye göndermenin iki yolu vardır:
- Real-time Bidding API (önerilir)
Reklam öğelerini incelemeye göndermek için Gerçek Zamanlı Teklif Verme API'sinin
buyers.creatives.create
yöntemini kullanabilirsiniz.API, reklam öğesi başına yalnızca bir gönderim gerektirir ve reklam öğenizin inceleme durumunu kontrol etmenize olanak tanır.
- Teklif yanıtı
Yeni reklam öğelerini doğrudan teklif yanıtında gönderebilirsiniz.
İnceleme için alıcı SDK reklam öğesi içeren bir teklif yanıtı göndermek üzere
SdkRenderedAd
nesnesinindeclared_ad
alanını kullanmanız gerekir.Teklif yanıtında gönderilen reklam öğeleri yalnızca çok sayıda tekliften sonra incelenir. İnceleme tamamlanmadan önce verilen tüm teklifler açık artırmadan filtrelenir. İnceleme başladıktan sonra bir reklam öğesinin durumunu kontrol etmek için Gerçek Zamanlı Teklif Verme arayüzünü veya Gerçek Zamanlı Teklif Verme API'sini kullanabilirsiniz.
Daha fazla bilgi için reklam öğeleri kılavuzuna bakın.