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.idalanıyla birlikte sağlamanız gereken SDK kimliğini bulmak için teklif isteğini kullanabilirsiniz.Bu konu hakkında daha fazla bilgiyi
InstalledSdkreferans belgelerinde bulabilirsiniz.- Reklam Birimi Eşleme
Teklif yuvasıyla
BidRequest.imp.ext.ad_unit_mappingalanıyla eşleşen reklam birimi eşlemelerini bulmak için teklif isteğini kullanabilirsiniz.Bu konu hakkında daha fazla bilgiyi
AdUnitMappingreferans 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
BuyerGeneratedRequestDatareferans 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.testalanını kullanabilirsiniz.Bu alan hakkında daha fazla bilgiyi
BidRequestreferans 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.adomainBidResponse.seatbid.bid.ext.billing_idBidResponse.seatbid.bid.cridBidResponse.seatbid.bid.wBidResponse.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
idalanını kullanın.Kimliği
BidRequest.app.ext.installed_sdkadresinde 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_xmlveyanative_responseözelliklerinden yalnızca biri doldurulmalıdır.declared_addeğ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
DeclaredAdreferans 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_dataalanını kullanın.Alıcı SDK'sı reklamı yerleştirmek için teklifler
declared_adalanında bir reklam öğesi belirtmelidir. Beyan edilen reklam,rendering_data'yi doğru şekilde temsil etmelidir.Örnek bir
SdkRenderedAdnesnesi 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.createyö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
SdkRenderedAdnesnesinindeclared_adalanı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.