Yanıtı Oluşturun

Uygulamanız Google'dan gelen teklif isteğini işledikten sonra, ve bir yanıt gönderin. Bu kılavuzda, derlemek için uygulamanızı nasıl kodlayacağınız açıklanmaktadır. yanıt verelim.

Protobuf Teklif Yanıtı mesajı oluştur

Authorized Buyers, mesajının e-posta mesajı olarak BidRequest gönderir. bir HTTP POST. Teklif verme uç noktanız Protobuf biçimini kullanacak şekilde yapılandırılmışsa uygulamanız, Content-Type üst bilgisi application/octet-stream olarak ayarlanmış ve serileştirilmiş bir protokol arabelleğinden oluşan bir mesaj gövdesi içeren bir yanıt göndermelidir. Protokol arabelleği, openrtb.proto'te tanımlandığı şekilde bir BidResponse mesajıdır. Uygulamanız her BidRequest için ayrıştırılabilir bir BidResponse döndürmelidir. Engelleme ayrıştırılamayan yanıtlar hata olarak kabul edilir ve Google daha yüksek hata oranlarına sahip teklif verenleri belirler.

Bir gösterim için teklif vermek istemiyorsanız yalnızca BidResponse.ext.processing_time_ms alanını ayarlayabilir ve diğer tüm alanları boş bırakabilirsiniz. openrtb.proto değerini referans verileri sayfasından edinebilirsiniz.

Reklam Öğesi Kimliği

BidResponse, BidResponse.seatbid.bid.crid alanı aracılığıyla bir reklam öğesi belirtir (64 bayt sınırı). Benzer reklam öğeleri bile boyut, beyan edilen URL, reklam öğesi özellikleri ve tedarikçi firma türleri dahil ancak bunlarla sınırlı olmamak üzere herhangi bir belirgin özellikte farklılık gösteriyorsa bu alan için benzersiz değerlere sahip olmalıdır. Başka bir deyişle, aşağıdaki özelliklere sahip iki reklama farklı reklam öğesi kimlikleri vermeniz gerekir:

  • Farklı şekilde görünün veya davranın.
  • Farklı resimler oluşturabilirsiniz.
  • Farklı yöntemlerle oluşturulur (ör. bir reklam resimden, diğeri videodan oluşur).

Uygulamanızı tasarlarken, uygulamalarınızın uygulamalarınızın Planladığınız reklam öğesi türleri için anlamlı tanımlayıcılar oluşturmak tıklayın.

Reklam özellikleri

Google, reklamınızın genel özelliklerini tanımlamak için reklam öğesi özelliklerini özelliklerini ve hedeflemesini BidResponse.seatbid.bid.apis ve BidResponse.seatbid.bid.attr veya BidResponse.seatbid.bid.ext.attribute uzantısı. Aşağıdakiler özellikleri nasıl tanımlayabileceğinizi açıklar:

  • VPAID
    BidResponse.seatbid.bid.apis değerini VPAID_1 olarak ayarla, veya VPAID_2. JSON biçimi için bu değer, Sırasıyla 1 veya 2.
  • MRAID
    BidResponse.seatbid.bid.apis öğesini MRAID_1 veya JSON biçimi için 3 olarak ayarlayın.
  • SIZELESS
    BidResponse.seatbid.bid.attr öğesini RESPONSIVE veya JSON biçimi için 18 olarak ayarlayın.
  • PLAYABLE
    Bu, BidResponse.seatbid.bid.attr değerinin USER_INTERACTIVE olarak ayarlanmasıyla veya JSON biçimi için 13 olarak ayarlanmasıyla belirtilir.

Bkz. Reklam öğeleri kaynağı algılanan özelliklerle ilgili geri bildirim almaya yönelik bir açıklama nasıl sağlayabileceğini de öğreneceksiniz.

Open Bidding alanları

Open'a katılan exchange ve ağ teklif verenleri tarafından gönderilen teklif yanıtları Teklif verme, standart programa katılan Authorized Buyers'a benzer gerçek zamanlı teklif verme. Open Bidding müşterileri az sayıda ek alan belirtebilir ve mevcut birkaç alanın alternatif kullanımları olabilir. Bu politikalar aşağıdakileri içerir:

OpenRTB Authorized Buyers Ayrıntılar
BidResponse.imp[].pmp.deals[].id BidResponse.ad[].adslot[].exchange_deal_id

Exchange'in ad alanından, bu teklifle ilişkilendirilen ve yayıncılara bildirilen anlaşma kimliği.

BidResponse.seatbid[].bid[].ext.exchange_deal_type BidResponse.ad[].adslot[].exchange_deal_type

Anlaşmanın ne durumda olduğunu etkileyen ve yayıncılara bildirilen anlaşmanın türü kabul edilir.

BidResponse.seatbid[].bid[].ext.third_party_buyer_token BidResponse.ad[].adslot[].third_party_buyer_token Open Bidding kullanıcısı olarak exchange bir aracıysa nihai üçüncü taraf alıcı bilgilerini tanımlamak için kullanılan jeton. Bu, üçüncü taraf alıcıdır ve teklifte değiştirilmeden Google'a iletilmelidir tıklayın.

Öneriler

  • Kalıcı HTTPS bağlantılarını etkinleştirin ("Keep-alive" veya "bağlantı yeniden kullanımı"). Zaman aşımını en az 10 saniyeye ayarlayın. Birçok durumda daha yüksek değerler faydalıdır. Google doğrular uygulamanızın ilk gecikme testlerinde Authorized Buyers, yüksek bir oranda istek gönderir ve her cihaz için ayrı TCP bağlantısı oluşturmanın gecikme ek yükünü isteği gönderin.
  • Aşağıdaki durumlarda izlenecek isteğe bağlı gösterim izleme URL'sini ekleyin: gösteriminin oluşturulmasını sağlar. Kazanma ve oluşturma işlemleri arasındaki düşüş nedeniyle bu yöntem, daha doğru izleme istatistikleri sağlar.

  • Teklif veren kodunuzu, tekliflerinizin hatalarla başarısız olmasına neden olabilecek desteği sonlandırılmış alanlara bağımlı olmaktan uzak tutun.
  • BidResponse dosyanıza BidResponse.seatbid.bid.w ve BidResponse.seatbid.bid.h ekleyin. CEVAP Birden fazla reklam boyutu içeren bir istek için BidResponse bu alanları dahil etmezseniz açık artırmadan çıkarılacaktır.
  • Yanıtınızın boyutunu 8 KB'nın altında tutun. Çok büyük yanıtlar artabilir ağ gecikmesi ve zaman aşımlarına neden olabilir.
  • Talimatlar için SKAdNetwork ilişkilendirmesi gerektiren iOS envanteri için teklifler.

Örnek teklif yanıtı

Aşağıdaki örnekler, Protobuf ve JSON isteklerinin insan tarafından okunabilen örneklerini temsil etmektedir.

OpenRTB Protobuf

OpenRTB JSON

Google

Önemli: Örneklerde gösterilen Protobuf mesajları burada kullanıcı tarafından okunabilir metin olarak temsil edilmiştir. Ancak mesajlar kablo üzerinden bu şekilde gönderilmez. Google veya OpenRTB Protobuf'u kullanırken biçiminde, yalnızca serileştirilmiş teklif yanıtı mesajları kabul edilir.

Aşağıdaki C++ kodunu kullanarak bir BidResponse mesajı oluşturup seri hale getirebilirsiniz:

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

Reklam öğesini belirtme

Teklif yanıtınız, teklifinizin kazanması durumunda yayınlanacak reklam öğesini belirtir. Teklifiniz, desteklenen reklam biçimlerinden (AMP, video, yerel) birini içermelidir. Bu örnekte, html_snippet alanını kullanarak reklam öğesini belirtiyoruz.

Alternatif olarak, reklam biçimine bağlı olarak aşağıdaki alanlardan birini kullanarak reklam öğenizi belirtebilirsiniz:

  • SDK tarafından oluşturulmuş reklam
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • AMP
    • BidResponse.seatbid.bid.amp_ad_url
  • Video
    • BidResponse.seatbid.bid.adm
  • Yerel
    • BidResponse.seatbid.bid.adm_native

HTML snippet'i kullanarak kendi sunucularınızda barındırılan bir reklam BidResponse.seatbid.bid.adm alanına girin. Ön bilgi, reklamın alınmasına neden olan ve web sayfasına eklenen bir iFrame otomatik olarak oluşturulur. HTML snippet'ini reklam (banner veya geçiş reklamı), bir iFrame içinde ve uygun boyutu belirleyin.

Ayrıca, teklif yanıtında belirtilen reklam boyutu aşağıdaki durumlarda teklif isteklerindeki boyut kombinasyonlarından biriyle tam olarak eşleşmelidir:

  • Reklam, normal bir banner'dır (video, yerel veya geçiş reklamı değildir).
  • Teklif veren, boyutu teklif yanıtında belirtmiştir. Boyut beyanı: istekte birden fazla boyut olduğunda gereklidir.
  • Geçiş reklamları için istisna uygulanır. Geçiş reklamlarının genişliği, ekran genişliğinin en az %50'si, yüksekliği ise ekran yüksekliğinin en az %40'ı kadar olmalıdır.

Düzgün şekilde oluşturulan herhangi bir geçerli HTML kodunu kullanarak bir HTML snippet'i reklam öğesi olarak belirtebilirsiniz. Ancak BidResponse mesajı oluştur bölümünde crid alanını belirtmeyle ilgili kısıtlamaları göz önünde bulundurun. Bunun bir kullanımı da, aynı işleve sahip URL'lerin bağımsız değişkenlerine fazladan bilgi eklemektir. reklamın bir parçası olarak sunucularınızdan getirilir. Bu sayede, gösterimle ilgili rastgele verileri kendi sunucularınıza iletebilirsiniz.

Teklif yanıtlarında döndürülen HTML snippet'lerine ilişkin çoğu politika üçüncü taraf reklamları için Authorized Buyers'a göz atın Program Kuralları, Üçüncü taraf kullanım şartları reklam sunma ve Google Ads'te tıklama URL'leri hakkında daha fazla bilgi edinin.

Makroları belirtme

Makrolar, şunları içeren bazı teklif yanıtı alanlarına yerleştirilmiş, biçimlendirilmiş metindir: Reklam yayını sırasında alakalı bir değerle değiştirilen URL'ler. Örneğin, kazanan teklifiniz HTML'de AUCTION_PRICE makrosu içeriyorsa snippet reklam öğesini seçtiğinizde, makronun yerine gösterim için ödediğiniz tutarı belirlemek için şifresini çözebileceğiniz açık artırmadır.

Makroları aşağıdaki alanlara ekleyebilirsiniz:

  • BidResponse.seatbid.bid.adm

    HTML snippet'i, yerel, video URL'si ve video VAST XML biçimleri için makrolar desteklenir.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    AMP reklam öğeleri için yalnızca Google'a özgü WINNING_PRICE ve WINNING_PRICE_ESC makroları desteklenir.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    Aşağıdaki şartları karşılıyorsanız BidResponse.seatbid.bid.burl yerine bunu kullanın: birden fazla faturalandırma URL'si gerektirir.

Örneğin, bir makroyu HTML snippet'inin parçası olarak aşağıdakileri yaparak ekleyebilirsiniz: ${MACRO} öğesini, reklam öğesini getirmek için kullanılan URL'ye yerleştirme, Burada MACRO, OpenRTB spesifikasyonu.

Google RTB makroları

Google, OpenRTB'de bulunanların dışında ek makroları destekler spesifikasyonları. Bunlar farklı biçimlendirilmiştir ve Bir URL'ye yerleştirilmişse %%MACRO%%. Aşağıdaki tabloda şu makroları kullanın:

Makro Açıklama
ADVERTISING_IDENTIFIER Alıcıların gösterim oluşturma. Ayrıntılar için Reklamveren Tanımlayıcılarının Şifresini Çözme başlıklı makaleye bakın.
CACHEBUSTER Rastgele, işaretsiz, dört baytlık bir tam sayının dize gösterimi.
CLICK_URL_UNESC

Reklamın çıkış karaktersiz tıklama URL'si. Snippet'te, kod dışı sürümü, üçüncü taraf tıklama URL'sinin makrosu ile ilgili bazı bilgiler bulabilirsiniz.

Örneğin, üçüncü taraf tıklama URL'si http://my.adserver.com/some/path/handleclick?click=clk, aşağıdaki kod tek çıkış karakterli versiyonda kullanılabilir :

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

Reklam yayını sırasında bu, şu şekilde genişletilir:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

URL ilk olarak tıklamayı Google'a kaydeder, ardından yeniden yönlendirir üçüncü taraf tıklama URL'si ile ilişkilendiremezsiniz.

CLICK_URL_ESC

Reklamın çıkış karakterli tıklama URL'si. Değeri önce başka bir sunucuya iletmeniz ve bu sunucunun da yeniden yönlendirme döndürmesi gerekiyorsa CLICK_URL_UNESC yerine bunu kullanın.

Örneğin, aşağıdaki kod bir HTML snippet'inde kullanılabilir:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

Reklam yayını sırasında bu, şu şekilde genişletilir:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

Bu işlem, tıklamayı my.adserver.com ile kaydeder. Bu da belirtilen URL'de iletilen URL'ye yönlendirme yapmaktan google_click_url parametresinden yararlanın. Bu durumda, my.adserver.com parametresinin google_click_url parametresinden kaçış karakteri kaldırıldığı varsayılır.

Arka arkaya çift çıkışlı bir URL ekleyebilirsiniz. %%CLICK_URL_ESC%% Çıkış yapma işlemi my.adserver.com, google_click_url için eklenen URL. google_click_url getirildi, çıkıştan bir kez daha kaldırılacak ve sonra yeniden yönlendirir.

CLICK_URL_ESC_ESC

Reklamın çift çıkış karakterli URL'si. Değeri önce başka bir sunucuya iletmeniz ve bu sunucunun da yeniden yönlendirme döndürmesi gerekiyorsa CLICK_URL_UNESC yerine bunu kullanın.

Örneğin, aşağıdaki kod bir HTML snippet'inde kullanılabilir:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

Reklam yayını sırasında bu, şu şekilde genişletilir:

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME Teklif isteği SSL gerektirmiyorsa veyahttp: Teklif isteği SSL gerektiriyorsa https:.
SITE İçerik URL'sinin URL çıkışlı alanı veya anonim envanter için anonim kimlik.
SITE_URL Kullanımdan kaldırıldı. Aynı işlevi sağlayan SITE makrosuyla değiştirilir.
TZ_OFFSET Saat dilimi farkı.
VERIFICATION

Üretim ve reklam öğesinin doğrulama ardışık düzeninde taranması için farklı değerler. Biçimi şöyledir: Herhangi bir değer olduğunda %%?VERIFICATION:true-val:false-val%% ancak makrolar, true-val ve false-val, boş dizeler dahil. Open Bidding için exchange'lerin bu makroyu kullanmasını önerir. bunu yaptıklarında talep tarafı bunların değişiklik yapmasına gerek yok.

Örneğin, bir reklam öğesi %%?VERIFICATION:-1:5000%% içeriyorsa metin değişimi, yayın sırasında 5000, doğrulama ardışık düzeninde ise -1 olur. Bu, bu iki ping grubunu birbirinden ayırt etmenize yardımcı olur.

WINNING_PRICE

ABD doları cinsinden, kodlanmış gösterim maliyeti (yani BGBM yerine YBM) mikro düzeyde olması gerekir. Örneğin, 5 ABD doları olan kazanan BGBM, 5.000.000 mikro BGBM'ye veya 5.000 mikro EBM'ye karşılık gelir. Bu durumda WINNING_PRICE değerinin kod çözme işlemi uygulanmış değeri 5.000 olur. Kazanan fiyat YBM olarak belirtilir.

Bu makroyu ayrıştırmak için, Fiyat onaylarının şifresini çözer. Daha fazla bilgi için Fiyat Onaylarının Şifresini Çözme sayfasına bakın.

WINNING_PRICE_ESC URL çıkışlı WINNING_PRICE.

Google, üçüncü taraf tarafından yayınlanan reklamın reklam öğesinde CLICK_URL_UNESC veya CLICK_URL_ESC makrosunu kullanmanızı zorunlu kılar. Google, tıklama izleme için CLICK_URL makrolarını kullanır.

Makrolarda çıkış yapan URL'ler aşağıdaki şemayı kullanır:

  • Boşluk karakterinin yerini artı işareti (+) alır.
  • Alfanümerik karakterler (0-9, a-z, A-Z) ve !()*,-./:_~ kümesindeki karakterler değişmez.
  • Diğer tüm karakterler, XX onaltılık değerdir ve %XX ile değiştirilir karakteri temsil eden sayıdır.

Yayıncı kısıtlamaları ve gereksinimleri

Teklif isteği, yayıncıların açık artırmadaki reklam öğelerine uyguladığı kısıtlama ve şart türleri hakkında bilgi içerir.

  • BidRequest.bcat
    • Bu alan tarafından belirtilen engellenen kategorileri, Gerçek Zamanlı Teklif Verme API'sinin detectedCategories alanını kullanarak gönderilen reklam öğeleriniz için algılanan kategorilerle karşılaştırabilirsiniz.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • Pratikte bu her zaman true ayarlanır. Google, tüm reklam öğeleri için SSL desteği gerektirir.
  • BidRequest.imp.{audio/banner/native/video}
  • BidRequest.imp.{audio/banner/native/video}.api
  • BidRequest.imp.{audio/banner/native/video}.battr
  • BidRequest.imp.{audio/banner/video}.mimes

Kısıtlanmış özellik içeren bir reklamla asla teklif vermeyin. İzin verilen özellikler için Örneğin, tedarikçi firma türü, yalnızca tedarikçi firma türü BidRequest içindeki allowed_vendor_type listesi. Yalnızca reklam biçimleri, teklif isteklerinde belirtilen biçimleri BidRequest.imp.banner teklifinize dahil edilmelidir. Daha fazla bilgi için BidRequest protokol arabelleği tanımında bu alanlarla ilgili yorumlara bakın.

BidResponse içinde reklam döndürülürse şunu yapmanız gerekir: BidResponse.seatbid.bid.attr doğru şekilde ayarlandı BidResponse.seatbid.bid.cat ve BidResponse.seatbid.bid.adomain veya BidResponse.seatbid.bid.adm_native.link.url alanı BidResponse Bir reklamın bu alanlar için birden fazla geçerli değeri varsa her değeri eklemeniz gerekir. Bu alanlarla ilgili yorumları şurada görebilirsiniz: BidResponse protokol arabelleği tanımına bakın. Bu alanların ayarlanmadığı yanıtlar yok sayılır.

Open Measurement

Open Measurement, üçüncü taraf tedarikçiler için bağımsız tedarikçiler mobil uygulamaya sunulan reklamlara yönelik ölçüm ve doğrulama hizmetleri ortam olarak da bilinir.

Desteklenen reklam biçimleri arasında video, banner ve geçiş reklamları yer alır. Bu biçimleri içeren bir teklif yanıtında Open Measurement'ın nasıl kullanılacağı hakkında daha fazla bilgi için Open Measurement SDK Yardım Merkezi makalesine bakın.

Örnek teklif yanıtları

Aşağıdaki bölümlerde, farklı reklam türleri için örnek teklif yanıtları gösterilmektedir.

Uygulama banner'ı

OpenRTB Protobuf

OpenRTB JSON

Google

Uygulama Geçiş Reklamı

OpenRTB Protobuf

OpenRTB JSON

Google

Uygulama geçiş reklamı videosu

OpenRTB Protobuf

Google

Uygulama yerel

OpenRTB Protobuf

OpenRTB JSON

Google

Web videosu

Google

Exchange teklif vereni için mobil web banner'ı

OpenRTB Protobuf