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ğeriniVPAID_1
olarak ayarla, veyaVPAID_2
. JSON biçimi için bu değer, Sırasıyla1
veya2
.MRAID
BidResponse.seatbid.bid.apis
öğesiniMRAID_1
veya JSON biçimi için3
olarak ayarlayın.SIZELESS
BidResponse.seatbid.bid.attr
öğesiniRESPONSIVE
veya JSON biçimi için18
olarak ayarlayın.PLAYABLE
Bu,BidResponse.seatbid.bid.attr
değerininUSER_INTERACTIVE
olarak ayarlanmasıyla veya JSON biçimi için13
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ızaBidResponse.seatbid.bid.w
veBidResponse.seatbid.bid.h
ekleyin. CEVAP Birden fazla reklam boyutu içeren bir istek içinBidResponse
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
Ö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
veWINNING_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
<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 Ö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ı Arka arkaya çift çıkışlı bir URL ekleyebilirsiniz.
|
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 Ö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 Örneğin, bir reklam öğesi |
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 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.
- Bu alan tarafından belirtilen engellenen kategorileri, Gerçek Zamanlı Teklif Verme API'sinin
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.
- Pratikte bu her zaman
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.