Memproses Permintaan
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Interaksi bidding real-time dimulai saat Google mengirimkan permintaan bid ke aplikasi Anda. Panduan ini menjelaskan cara membuat kode aplikasi Anda untuk
memproses permintaan bid.
Permintaan penguraian
Google mengirimkan permintaan bid yang diserialisasi dalam format JSON OpenRTB atau Protobuf, yang dilampirkan sebagai payload permintaan HTTP POST. Format yang diterima bergantung pada konfigurasi endpoint Anda. Lihat
Contoh permintaan bid untuk melihat contohnya.
Anda harus mengurai permintaan ini untuk menerima
BidRequest yang diserialisasi. Jika menggunakan format Protobuf, Anda harus
mendownload openrtb.proto dan openrtb-adx.proto dari halaman
data referensi, dan menggunakannya untuk
membuat library yang dapat digunakan untuk mengurai pesan BidRequest. Misalnya, kode C++ berikut mengurai permintaan yang diberikan payload POST dalam string:
Setelah memiliki BidRequest, Anda dapat menggunakannya sebagai objek, mengekstrak dan menafsirkan kolom yang Anda butuhkan. Misalnya, di
C++, iterasi penawaran dalam `BidRequest` OpenRTB dapat terlihat seperti
berikut:
Anda menerima permintaan bid saat inventaris iklan penayang ditargetkan oleh
satu atau beberapa
konfigurasi pra-penargetan Anda. BidRequest.imp.ext.billing_id
akan diisi dengan ID penagihan pembeli yang memenuhi syarat, dan konfigurasi
penargetan awal yang relevan. Selain itu, untuk
inventaris
kesepakatan, Anda dapat menemukan ID penagihan yang terkait dengan pembeli yang relevan
menggunakan BidRequest.imp.pmp.deal.ext.billing_id. Hanya ID penagihan
pembeli yang disertakan dalam permintaan bid yang dapat ditentukan saat mengajukan bid.
Jika beberapa ID penagihan disertakan dalam permintaan bid, Anda harus menentukan
ID penagihan pembeli yang ingin Anda atribusikan bidnya dengan kolom
BidResponse.seatbid.bid.ext.billing_id.
imp {
ext {
// The billing IDs of all of your matching pretargeting configs and eligible child seats are
// stored in a flat list here.
billing_id: 123
billing_id: 456
billing_id: 789
}
pmp {
// All eligible deals are stored in a single flat list.
deal {
id: 1000
ext {
// The specific billing IDs eligible to bid on this deal are indicated here.
billing_id: 789
}
...
}
deal {
id: 2000
ext {
billing_id: 123
billing_id: 456
}
...
}
}
...
}
...
Menentukan kategori yang diblokir
Saat Anda mengajukan bid, materi iklan yang disertakan tidak boleh memiliki kategori yang terdeteksi dan diblokir oleh penayang. Jika tidak, bid akan difilter dari lelang.
Anda dapat menemukan kategori yang diblokir untuk tayangan iklan dengan meninjau kolom BidRequest.bcat, yang diisi dengan kategori dalam taksonomi yang dikonfigurasi untuk akun Anda.
Contoh berikut menunjukkan kategori yang diblokir berdasarkan taksonomi kategori iklan yang dikonfigurasi:
Taksonomi Konten IAB 1.0
// Bid request{// Indicates the blocked categories using IAB Content 1.0 Taxonomy."bcat":["IAB9-9",// Cigars"IAB8-18"// Wine]"imp":{...}}
Taksonomi Kategori Iklan Google
// Bid request{// Indicates the blocked categories using Google Ad Category Taxonomy."bcat":["10138",// Cigar and tobacco collecting"10080",// Tobacco"11649",// Wine"10674",// Wine collecting"13008"// Wine clubs]"imp":{...}}
File kamus
Permintaan bid menggunakan ID yang ditentukan dalam file kamus, yang tersedia di halaman data referensi.
Makro URL bidder
Secara opsional, beberapa informasi dari BidRequest dapat
disisipkan ke dalam URL endpoint bidding menggunakan makro. Jika Anda mengonfigurasi URL endpoint dengan satu atau beberapa makro, makro tersebut akan diperluas jika informasi tersebut ada dalam permintaan bid. Hal ini dapat berguna, misalnya, jika Anda ingin melakukan load balancing berdasarkan informasi di BidRequest.
Hubungi Account Manager Anda untuk meminta dukungan terkait makro baru.
Makro
Deskripsi
%%GOOGLE_USER_ID%%
Diganti dengan ID Pengguna Google yang ada di
BidRequest.user.id. Misalnya, URL bidder
http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%% akan diganti
dengan sesuatu seperti
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl pada waktu
permintaan.
Jika ID Pengguna Google tidak diketahui, string kosong akan diganti, dengan
hasil yang mirip dengan
http://google.bidder.com/path?gid=
%%HAS_MOBILE%%
Diganti dengan 1 untuk menunjukkan bahwa permintaan bid berasal dari perangkat seluler, atau 0 jika tidak. Hal ini didasarkan pada nilai
BidRequest.device.devicetype, dengan perangkat seluler ditunjukkan
oleh HIGHEND_PHONE (4) atau Tablet
(5).
%%HAS_VIDEO%%
Diganti dengan 1 untuk menunjukkan bahwa permintaan bid berisi
inventaris video, atau 0 jika tidak. Hal ini didasarkan pada apakah
BidRequest.imp.video diisi dalam permintaan bid.
%%HOSTED_MATCH_DATA%%
Diganti dengan nilai berdasarkan BidRequest.user.buyeruid.
%%MOBILE_IS_APP%%
Diganti dengan 1 untuk menunjukkan bahwa permintaan bid adalah untuk
inventaris aplikasi seluler, atau 0 jika tidak. Hal ini didasarkan pada apakah
BidRequest.app diisi atau tidak.
Menemukan ID aplikasi seluler dari URL transaksi
Transaksi aplikasi seluler akan melaporkan URL yang terlihat seperti ini:
mbappgewtimrzgyytanjyg4888888.com
Gunakan dekoder base-32 untuk mendekode bagian string yang dicetak tebal
(gewtimrzgyytanjyg4888888).
Anda dapat menggunakan dekoder
online, tetapi Anda harus menggunakan huruf kapital dan mengganti 8 di akhir dengan nilai =.
Jadi, mendekode nilai ini:
GEWTIMRZGYYTANJYG4======
menghasilkan:
1-429610587
String 429610587 adalah ID aplikasi untuk aplikasi iOS
iFunny.
Berikut contoh lainnya. URL yang dilaporkan adalah:
mbappgewtgmjug4ytmmrtgm888888.com
Mendekode nilai ini:
GEWTGMJUG4YTMMRTGM======
menghasilkan:
1-314716233
Hasil 314716233 adalah ID aplikasi untuk aplikasi iOS
TextNow.
Menemukan nama aplikasi seluler dari URL transaksi
Berikut contoh cara mendapatkan nama aplikasi. URL yang dilaporkan adalah sebagai berikut:
Permintaan bid yang dikirim ke bidder bursa dan jaringan yang berpartisipasi dalam Bidding Terbuka mirip dengan permintaan bid Authorized Buyers yang berpartisipasi dalam bidding real-time standar. Pelanggan Bidding Terbuka akan menerima sejumlah kecil kolom tambahan, dan beberapa kolom yang ada mungkin memiliki penggunaan alternatif. Hal ini
mencakup:
OpenRTB
Detail
BidRequest.imp.ext.dfp_ad_unit_code
Berisi kode jaringan Ad Manager penayang yang diikuti dengan hierarki unit iklan, yang dipisahkan dengan garis miring ke depan.
Sebagai contoh, ini akan muncul dengan format yang serupa dengan:
/1234/cruises/mars.
BidRequest.user.data.segment
Pasangan nilai kunci berulang yang dikirim dari penayang ke bidder bursa.
Anda dapat menentukan bahwa nilai adalah pasangan nilai kunci yang dikirim oleh
penayang saat BidRequest.user.data.name disetel ke
“Publisher Passed”.
Mendeklarasikan vendor yang diizinkan
Vendor teknologi yang menyediakan layanan seperti riset, pemasaran ulang, dan penayangan iklan dapat berperan dalam interaksi antara pembeli dan penjual. Hanya vendor yang telah diseleksi Google untuk berpartisipasi dalam interaksi Authorized Buyers yang diizinkan.
Untuk memahami BidRequest dan membuat
BidResponse, Anda harus mengetahui dua kemungkinan
yang berbeda untuk mendeklarasikan vendor teknologi:
Vendor lain hanya dapat berpartisipasi jika mereka dinyatakan dalam
BidRequest:
Di BidRequest, kolom
BidRequest.imp.ext.allowed_vendor_type menentukan
vendor mana yang diizinkan penjual. Vendor yang akan dikirim dalam
allowed_vendor_type tercantum dalam
file kamus
vendors.txt.
Contoh permintaan bid
Contoh berikut menampilkan sampel permintaan Protobuf dan JSON yang mudah dibaca.
Untuk mengonversi permintaan bid ke dalam bentuk biner, seperti yang Anda dapatkan dari
payload POST dalam permintaan sebenarnya, Anda dapat melakukan hal berikut (di C++). Namun,
perhatikan bahwa hal ini tidak berlaku untuk JSON OpenRTB.
Masukan real-time tersedia untuk Authorized Buyers, serta bursa dan jaringan yang menggunakan Bidding Terbuka.
Masukan real-time mengisi BidRequest.ext.bid_feedback berdasarkan
hasil satu atau beberapa bid yang Anda ajukan sebelumnya, dan dapat digunakan untuk menemukan
detail seperti apakah bid memenangkan lelang, atau bid minimum yang diperlukan untuk
memenangkan lelang. Hubungi Account Manager Anda untuk mengaktifkan masukan real-time.
Selain kolom default yang dikirim dalam Masukan Respons Bid, Anda juga dapat mengirim data kustom dalam respons bid menggunakan kolom BidResponse.seatbid.bid.ext.event_notification_token. event_notification_token adalah data arbitrer yang hanya diketahui oleh bidder yang dapat membantu proses penelusuran bug, misalnya: ID penargetan baru atau ID bidding yang merepresentasikan taktik baru, atau metadata yang terkait dengan materi iklan yang hanya diketahui oleh bidder. Untuk mengetahui detailnya, lihat
file Buffering Protokol Ekstensi OpenRTB.
Saat Authorized Buyers mengirimkan permintaan bid kepada bidder, bidder akan membalas
dengan BidResponse. Jika bidder mengaktifkan masukan real-time,
maka dalam permintaan bid berikutnya, Authorized Buyers akan mengirimkan masukan tentang
respons dalam pesan BidFeedback:
messageBidFeedback{//TheuniqueidfromBidRequest.id.optionalstringrequest_id=1;//Thestatuscodeforthead.Seecreative-status-codes.txtinthe//technicaldocumentationforalistofids.optionalint32creative_status_code=2;//Deprecated.ThisfieldisnotpopulatedandwillberemovedafterMarch,//2025.Ifthebidwontheauction,thisisthepricepaidinyouraccount//currency.Ifthebidparticipatedintheauctionbutwasout-bid,this//istheCPMthatshouldhavebeenexceededinordertowin.Thisisnot//setifthebidwasfilteredpriortotheauction,ifthepublisheror//winningbidderhasoptedoutofpricefeedbackorifyouraccounthas//optedoutofsharingwinningpriceswithotherbidders.Forfirst-price//auctions,minimum_bid_to_winispopulatedinsteadofthisfield.optionaldoubleprice=3[deprecated=true];//Theminimumbidvaluenecessarytohavewontheauction,inyouraccount//currency.Ifyourbidwontheauction,thisisthesecondhighestbid//thatwasnotfiltered(includingthefloorprice).Ifyourbiddidn't win//theauction,thisisthewinningcandidate's bid. This field will only be//populatedifyourbidparticipatedinafirst-priceauction,andwillnot//bepopulatedifyourbidwasfilteredpriortotheauction.optionaldoubleminimum_bid_to_win=6;//Deprecated.ThisfieldwillberemovedinFebruary2026.//Theminimumbidvaluenecessarytohavewontheserver-sidecomponentof//theoverallauctiongiventhattherewasalsoaninterestgroupbidding//componenttotheoverallauctionwhichranusingtheProtectedAudience//API.ThevalueisexpressedinCPMofthebuyeraccountcurrency.The//minimumbidtowinfortheoverallauction,includingbidsfromthe//server-sideandtheon-deviceinterestgroupcomponents,ispopulatedin//theminimum_bid_to_winfieldofthesameBidFeedbackobject.optionaldoublesscminbidtowin=14[deprecated=true];//Billableeventratemultiplierthatwasappliedtothisbidduring//ranking.Theadjustmentreflectsthelikelihoodthatyourbidwould//generateabillableevent(namely,theadrenderssuccessfully)ifitwon//theauction,relativetotheprobabilitythatotherbidsgeneratea//billableeventiftheywontheauction.Thisadjustmentcanbelargeror//smallerthan1.Thisaffectsthefinalrankingintheauctiononly;in//particular,thismultiplierdoesnotaffectthepaymentorwhetherthe//bidclearsanyfloorprice.optionalfloatbillable_event_rate_bid_adjustment=13[default=1];//WhenapublisherusesanRTBauctionandwaterfall-basedSDKmediationon//thesamequery,thewinnerofthereal-timeauctionmustalsocompetein//amediationwaterfall(whichisorderedbyprice)towintheimpression.//Ifthebidparticipatedintheauctionandtherewasnowaterfall,the//valueofthisfieldis0.Ifthebidparticipatedintheauctionand//therewasawaterfall,thevalueofthisfieldisapricerepresentinga//samplebidfromtheeligiblemediationnetworksthatwerehigherthanthe//auctionwinner,weightedbyexpectedfillrate.Thisfieldcanbeused//inconjunctionwithminimum_bid_to_wintotrainbiddingmodels.TheCPM//isinyouraccountcurrency.optionaldoublesampled_mediation_cpm_ahead_of_auction_winner=8;messageEventNotificationToken{//Thecontentsofthetoken.optionalstringpayload=1;}//Thetokenincludedinthecorrespondingbid.optionalEventNotificationTokenevent_notification_token=4;//ThecreativeIDincludedinthecorrespondingbid.optionalstringbuyer_creative_id=5;//Possibletypesofbidresponsefeedbackobjects.enumFeedbackType{FEEDBACK_TYPE_UNSPECIFIED=0;//Feedbackforabidthatwassubmittedonabidresponse.BID_FEEDBACK=1;//Feedbackforaninterestgroupbuyersubmittedonabidresponseto//particpateinaninterestgroupbiddingcomponentoftheauctionrun//usingtheProtectedAudienceAPI.INTEREST_GROUP_BUYER_FEEDBACK=2;}//Deprecated.ThisfieldwillberemovedinFebruary2026.//ThetypeoftheBidFeedbackmessage.Googlewillsendseparate//BidFeedbackobjectsfor://a)Eachbidsubmittedonabidresponse//b)Eachbuyersubmittedonabidresponsetoparticpateinaninterest//groupbiddingcomponentoftheauctionrunusingtheProtectedAudience//API.optionalFeedbackTypefeedbacktype=15[deprecated=true];//Deprecated.ThisfieldwillberemovedinFebruary2026.//Originofaninterestgroupbuyerthatwasincludedinthebidresponse.//Thisfieldispopulatedonlyforfeedbackwhereabidderoptedinan//interestgroupbuyertoparticipateintheinterestgroupbidding//componentoftheoverallauctionrunusingtheProtectedAudienceAPI.//Tolearnmoreaboutorigins,seehttps://www.rfc-editor.org/rfc/rfc6454.//TolearnmoreaboutinterestgroupbiddingandtheProtectedAudience//API,see//https://developers.google.com/authorized-buyers/rtb/fledge-origin-trial.optionalstringbuyerorigin=16[deprecated=true];//Deprecated.ThisfieldwillberemovedinFebruary2026.//Thestatuscodeforthesubmittedinterestgroupbuyer.Thisfieldis//onlypopulatedinthefeedbackforaninterestgroupbuyerthatabidder//requestedtoenterintotheinterestgroupauctionthroughthebid//response.Individualcreativestatuscodesofbidssubmittedbythebuyer//intheon-deviceinterestgroupauctionarenotavailable.See//https://storage.googleapis.com/adx-rtb-dictionaries/interest-group-buyer-status-codes.txt//foralistofinterestgroupbuyerstatuscodes.optionalint32igbuyerstatus=17[deprecated=true];}
Dari pesan ini, kolom pertama yang harus Anda periksa adalah
bid_feedback.creative_status_code; Anda dapat menemukan arti kode
di
creative-status-codes.txt. Perhatikan bahwa jika Anda memenangkan bid, Anda dapat memilih untuk tidak memberikan masukan harga. Untuk mengetahui informasi selengkapnya, lihat Cara
menonaktifkan.
Masukan real-time mencakup ID permintaan bid dan salah satu
hal berikut:
Hasil lelang
Masukan real-time
Pembeli tidak mengajukan bid.
Tidak ada.
Pembeli mengirimkan bid yang difilter sebelum mencapai lelang.
Setelah mengajukan bid dalam lelang harga pertama, Anda akan menerima masukan real-time
termasuk kolom minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner jika bid
tidak difilter dari lelang. Sinyal ini dapat digunakan untuk menentukan logika bidding Anda tentang seberapa tinggi atau rendah bid Anda seharusnya agar memenangkan tayangan iklan.
minimum_bid_to_win: Bid minimum yang dapat diajukan untuk memenangkan lelang bidding real-time. Jika Anda memenangkan lelang, ini akan menjadi bid terendah yang dapat Anda ajukan sambil tetap menang. Jika Anda kalah dalam lelang, ini akan menjadi bid pemenang.
sampled_mediation_cpm_ahead_of_auction_winner: Jika ada
jaringan lain dalam rantai mediasi, nilai kolom ini adalah harga yang merepresentasikan contoh bid dari salah satu
jaringan mediasi yang memenuhi syarat yang lebih tinggi daripada pemenang lelang, yang diberi bobot
berdasarkan rasio pengisian yang diharapkan. Nilai ini akan disetel ke 0 jika tidak ada jaringan dalam
rantai mediasi yang diharapkan untuk mengisi, atau jika penayang tidak menggunakan mediasi SDK.
Cara kerjanya
Untuk menjelaskan perhitungan yang digunakan untuk menentukan kemungkinan nilai
untuk minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner, kita perlu
menentukan hal berikut terlebih dahulu:
Berikut adalah CPM dalam rantai mediasi dalam urutan menurun:
\[C_1, C_2, …, C_n\]
Berikut adalah rasio pengisian yang sesuai untuk CPM dalam
rantai mediasi:
\[f_1, f_2, …, f_n\]
Berikut adalah fungsi yang digunakan untuk menentukan CPM yang diharapkan dan probabilitasnya dari elemen rantai mediasi \(i\), berdasarkan rasio pengisian yang diberikan:
\(X_i = \{C_i\) dengan probabilitas \(f_i\); \(0\) dengan probabilitas \(1 - f_i\}\)
Rantai mediasi pemenang akhir adalah:
\[\{C_1, C_2, …, C_K, W\}\]
dengan \(W\) adalah bid yang menang, dan \(C_K > W >= C_{K+1}\)
Harga cadangan, atau harga minimum, dilambangkan sebagai \(F\).
Bidder dengan bid tertinggi kedua ditandai sebagai \(R\).
Penghitungan untuk pemenang lelang
Kolom
Penghitungan
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) dengan probabilitas \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
Untuk \(1 <= i <= K\).
Penghitungan untuk peserta lelang yang kalah
Kolom
Penghitungan
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)
Contoh dengan rantai mediasi sederhana
Asumsikan penayang menggunakan bidding real-time dan rantai mediasi SDK sebagai berikut:
Rantai Mediasi SDK
CPM yang diharapkan
Rasio Pengisian
Jaringan 1
\(C_1 = $3.00\)
\(f_1 = 5\%\)
Jaringan 2
\(C_2 = $2.00\)
\(f_2 = 45\%\)
Jaringan 3
\(C_3 = $0.50\)
\(f_3 = 80\%\)
Jaringan 4
\(C_4 = $0.10\)
\(f_4 = 85\%\)
Asumsikan berikut sebagai hasil lelang RTB:
Lelang RTB
CPM
Pemenang Lelang (W)
$1,00
Runner-UP Lelang (R)
$0,05
Harga Minimum / Dasar (F)
$0
Bid yang memenangkan lelang
Berikut adalah contoh cara nilai dan probabilitas untuk
minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner dihitung untuk
bid yang menang.
Berikut adalah contoh cara nilai dan probabilitas untuk
minimum_bid_to_win dan
sampled_mediation_cpm_ahead_of_auction_winner dihitung untuk
bid yang kalah.
minimum_bid_to_win
Probability
\(max(F, W) = $1.00\)
\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
Probability
\(C_1 = $3.00\)
\(f_1 = 5\%\)
\(C_2 = $2.00\)
\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)
\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)
Pemisahan bid
Penyederhanaan bid menjelaskan pemrosesan satu BidRequest kompleks menjadi beberapa permintaan bid yang dikirim ke aplikasi Anda. Saat permintaan bid diratakan, Anda dapat mengetahui permintaan bid mana yang merupakan bagian dari permintaan bid asli karena permintaan bid tersebut akan memiliki nilai yang identik di kolom BidRequest.ext.google_query_id.
Perataan bid diaktifkan secara default, tetapi Anda dapat menghubungi Account Manager Anda jika ingin menonaktifkannya.
Format iklan
Beberapa peluang iklan dapat menerima beberapa format. Dengan pemisahan bid, setiap format dikirim dalam permintaan bid yang berbeda dengan atribut seperti ID penagihan yang memenuhi syarat relevan dengan format yang ditentukan dalam permintaan.
Permintaan bid yang berisi format berikut akan dipisah menjadi permintaan bid yang berbeda:
Banner
Video
Audio
Native
Contoh perataan format iklan
Di bawah ini adalah contoh yang menunjukkan permintaan bid JSON OpenRTB yang disederhanakan tanpa perataan format iklan dibandingkan dengan kumpulan permintaan yang diratakan yang setara:
Peluang iklan untuk bidder tertentu dapat berlaku untuk berbagai jenis transaksi, selain lelang terbuka. Dengan pemerataan bid untuk transaksi, satu permintaan bid akan dikirim untuk lelang terbuka, dan satu untuk setiap jenis transaksi harga tetap. Dalam praktiknya, batasan iklan dapat berbeda antara lelang dan jenis transaksi harga tetap. Misalnya, untuk peluang iklan video tertentu yang tersedia untuk lelang terbuka dan transaksi harga tetap, bidder akan menerima permintaan bid yang berbeda untuk masing-masing jenis transaksi tersebut, dengan batasan seperti durasi iklan maksimum dan apakah iklan yang dapat dilewati diizinkan atau tidak. Hasilnya, perataan yang diterapkan pada peluang iklan memungkinkan Anda lebih mudah membedakan batasan iklan untuk lelang terbuka dan transaksi harga tetap.
Setelan batas waktu untuk video yang dapat dilewati dan Durasi Video
Spesifikasi OpenRTB tidak memiliki kolom terpisah untuk menentukan durasi video maksimum iklan yang dapat dilewati dan tidak dapat dilewati. Penerapan Google menggunakan perataan bid untuk membedakan keduanya menggunakan kolom BidRequest.video.maxduration dan BidRequest.video.skip yang ada.
Berikut adalah contoh cara inventaris video diratakan saat
durasi maksimum iklan yang tidak dapat dilewati adalah 15 dan durasi
maksimum iklan yang dapat dilewati adalah 60.
Contoh
max_ad_duration
skip (benar OR salah)
Permintaan asli tanpa perataan
15
true
Permintaan yang diratakan #1: Tidak dapat dilewati
15
false
Permintaan yang dipisah #2: Dapat dilewati
60
true
Perataan permintaan bid durasi video yang dapat dilewati hanya akan dilakukan jika kondisi berikut terpenuhi:
Permintaan mengizinkan video.
Video yang dapat dilewati dan tidak dapat dilewati diizinkan, dan dua durasi maksimum
masing-masing memiliki nilai yang berbeda.
Permintaan ini memenuhi syarat untuk Lelang Pribadi atau Lelang Terbuka.
Anda dapat memilih tidak menggunakan perataan jenis ini dengan menghubungi account manager teknis Anda. Jika dinonaktifkan, dan penayang mengizinkan iklan video yang dapat dilewati dan tidak dapat dilewati dengan durasi maksimum yang berbeda berdasarkan kemampuan untuk dilewati, skip akan disetel ke true dan maxduration akan disetel ke durasi yang lebih pendek antara batasan iklan yang dapat dilewati dan tidak dapat dilewati.
Pod video
Permintaan bid untuk pod video dengan beberapa peluang iklan akan dipisah,
sehingga setiap permintaan bid adalah untuk peluang iklan individual dari pod tersebut.
Dengan demikian, Anda dapat mengajukan bid pada beberapa peluang iklan untuk pod tertentu.
Pengukuran Terbuka
Pengukuran Terbuka memungkinkan Anda menentukan vendor pihak ketiga yang menyediakan layanan pengukuran dan verifikasi independen untuk iklan yang ditayangkan ke lingkungan aplikasi seluler.
Anda dapat menentukan apakah penayang mendukung Pengukuran Terbuka dalam permintaan bid dengan memeriksa apakah peluang iklan mengecualikan atribut OmsdkType:
OMSDK 1.0 yang ditemukan di Atribut materi iklan yang dapat dikecualikan penayang. Ini akan ditemukan di atribut battr
untuk Banner
atau Video, bergantung
pada formatnya.
Untuk mengetahui informasi selengkapnya tentang cara menafsirkan permintaan bid yang berisi sinyal Pengukuran Terbuka, lihat artikel Pusat Bantuan SDK Pengukuran Terbuka.
Contoh permintaan bid
Bagian berikut menunjukkan contoh permintaan bid untuk berbagai jenis iklan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2026-01-13 UTC."],[],["Bid requests are HTTP POSTs using OpenRTB Protobuf, replacing the deprecated Google RTB protocol. Parsing involves `ParseFromString()` to access fields in the `BidRequest` object. Billing IDs, found in `BidRequest.imp.ext.billing_id` and `BidRequest.imp.pmp.deal.ext.billing_id`, must be specified in `BidResponse.seatbid.bid.ext.billing_id`. Key information comes from dictionary files. Bid URL macros dynamically insert `BidRequest` data. Complex bid requests can be broken into simpler, flattened requests per format or deal, such as skippable/non-skippable video ads, or video pods. Bidders get real-time feedback. The provided sample requests are used to help the process.\n"]]