Memproses Permintaan

Interaksi bidding real-time dimulai saat Google mengirimkan permintaan bid ke aplikasi Anda. Panduan ini menjelaskan cara mengodekan aplikasi Anda untuk memproses permintaan bid.

Mengurai permintaan Protobuf

Google mengirimkan permintaan bid sebagai penyangga protokol serial yang dilampirkan sebagai payload biner dari permintaan POST HTTP. Content-Type disetel ke application/octet-stream. Lihat Contoh permintaan bid untuk mengetahui contohnya.

Anda harus mengurai permintaan ini menjadi instance BidRequest untuk membuat pesan email baru. Bergantung pada protokol yang Anda pilih, BidRequest ditentukan dalam openrtb.proto atau realtime-bidding.proto yang tidak digunakan lagi, yang dapat diperoleh dari halaman data referensi. Anda dapat mengurai pesan menggunakan metode ParseFromString() di class yang dihasilkan untuk BidRequest. Misalnya, kode C++ berikut mengurai permintaan diberi payload POST dalam string:

string post_payload = /* the payload from the POST request */;
BidRequest bid_request;
if (bid_request.ParseFromString(post_payload)) {
  // Process the request.
}

Setelah memiliki BidRequest, Anda dapat menggunakannya sebagai objek, mengekstrak, dan menafsirkan kolom yang Anda perlukan. Misalnya, di Melakukan iterasi C++ melalui transaksi di `BidRequest` OpenRTB dapat terlihat seperti hal berikut:

for (const BidRequest::Imp::Pmp::Deal& deal : pmp.deals()) {
  DoSomething(deal.id(), deal.wseat());
}

ID Penagihan

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 pretargeting yang relevan. Selain itu, untuk promo inventaris, Anda dapat menemukan ID penagihan yang dikaitkan dengan pembeli menggunakan BidRequest.imp.pmp.deal.ext.billing_id. Hanya ID penagihan dari pembeli yang disertakan dalam permintaan bid dapat ditentukan saat mengajukan bid.

Jika beberapa ID penagihan disertakan dalam permintaan bid, Anda harus menentukan ID penagihan pembeli yang ingin Anda kaitkan dengan bid Anda Kolom BidResponse.seatbid.bid.ext.billing_id.

File kamus

Permintaan bid menggunakan ID yang ditentukan dalam file kamus, yang yang tersedia di data referensi kami.

Makro URL bid protokol Google RTB

Secara opsional, beberapa kolom BidRequest dapat disisipkan ke dalam URL yang digunakan dalam permintaan POST HTTP. Hal ini berguna, misalnya, jika Anda menggunakan frontend ringan yang melakukan load balancing pada beberapa backend menggunakan nilai dari permintaan. Hubungi manajer akun teknis Anda untuk meminta dukungan terkait makro baru.

MacroDeskripsi
%%GOOGLE_USER_ID%%

Diganti dengan google_user_id dari BidRequest. 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 User-ID Google tidak diketahui, string kosong akan diganti dengan hasil mirip dengan

http://google.bidder.com/path?gid=
%%HAS_MOBILE%%

Diganti dengan 1 atau 0 saat menelepon has_mobile() BidRequest.

%%HAS_VIDEO%%

Diganti dengan 1 (true) atau 0 (false) saat memanggil has_video() BidRequest.

%%HOSTED_MATCH_DATA%%

Diganti dengan nilai kolom hosted_match_data dari BidRequest.

%%MOBILE_IS_APP%%

Diganti dengan 1 (true) atau 0 (false) dari kolom mobile.is_app BidRequest.

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 besar dan mengganti 8 akhir dengan nilai =.

Jadi, mendekode nilai ini:

GEWTIMRZGYYTANJYG4======
akan menghasilkan:
1-429610587
String 429610587 adalah ID aplikasi untuk aplikasi iOS iFunny.

Berikut adalah 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 adalah contoh untuk mendapatkan nama aplikasi. URL yang dilaporkan adalah sebagai berikut:

mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888.com
Decoding nilai ini:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
menghasilkan:
air.com.hypah.io.slither
Hasilnya sama dengan aplikasi Android slither.io.

Kolom Bidding Terbuka

Permintaan bid dikirim ke bidder bursa dan jaringan yang berpartisipasi dalam Bidding serupa dengan Authorized Buyers yang berpartisipasi dalam bidding real-time. Pelanggan Bidding Terbuka akan menerima sejumlah kecil tambahan, dan beberapa {i>field<i} yang ada mungkin memiliki penggunaan alternatif. Hal ini meliputi:

OpenRTB Authorized Buyers Detail
BidRequest.imp[].ext.dfp_ad_unit_code BidRequest.adslot[].dfp_ad_unit_code

Berisi kode jaringan Ad Manager penayang, diikuti dengan hierarki unit iklan, yang dipisahkan dengan garis miring ke depan.

Sebagai contoh, ini akan muncul dengan pemformatan yang mirip dengan: /1234/cruises/mars.

BidRequest.user.data[].segment[] BidRequest.adslot[].exchange_bidding.key_value[]

Pasangan nilai kunci berulang yang dikirim dari penayang ke bidder bursa.

Anda dapat menentukan bahwa nilainya adalah pasangan nilai kunci yang dikirim oleh penayang jika BidRequest.user.data[].name ditetapkan ke “Publisher Passed”.

Mendeklarasikan vendor yang diizinkan

Vendor teknologi yang menyediakan layanan seperti penelitian, pemasaran ulang, dan penayangan iklan dapat berperan dalam interaksi antara pembeli dan penjual. Hanya vendor yang telah diperiksa Google untuk berpartisipasi dalam Authorized Buyers interaksi yang diizinkan.

Untuk memahami BidRequest dan membuat BidResponse, Anda harus mengetahui dua perbedaan kemungkinan untuk mendeklarasikan vendor teknologi:

  1. Beberapa vendor tidak perlu diumumkan; vendor ini tercantum dalam Sertifikasi Eksternal Ad Manager Vendor.
  2. Vendor lain hanya dapat berpartisipasi jika dideklarasikan dalam BidRequest:
    • Di BidRequest, kolom BidRequest.imp.ext.allowed_vendor_type menentukan vendor yang diizinkan penjual. Vendor yang akan dikirim dalam allowed_vendor_type tercantum dalam file kamus vendors.txt.

Contoh permintaan bid

Contoh berikut mewakili contoh permintaan Protobuf dan JSON yang dapat dibaca manusia.

Protobuf OpenRTB

JSON OpenRTB

Google (Tidak digunakan lagi)

Untuk mengonversi permintaan bid ke dalam bentuk biner, seperti yang akan Anda dapatkan dari POST dalam permintaan nyata, Anda dapat melakukan hal berikut (di C++). Catatan: namun, hal ini tidak berlaku untuk OpenRTB JSON.

string text_format_example = /* example from above */;
BidRequest bid_request;
if (TextFormat::ParseFromString(text_format_example, &bid_request)) {
  string post_payload;
  if (bid_request.SerializeToString(&post_payload)) {
    // post_payload is a binary serialization of the protocol buffer
  }
}

Masukan real-time

Masukan real-time tersedia untuk Authorized Buyers, serta bursa dan jaringan yang menggunakan Bidding Terbuka.

Masukan respons bid didukung pada permintaan bid berikutnya untuk OpenRTB dan protokol Google RTB yang tidak digunakan lagi. Untuk OpenRTB, laporan dikirim dalam BidRequest.ext.bid_feedback.

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. Tujuan event_notification_token adalah data arbitrer yang hanya diketahui oleh yang mungkin membantu proses debug, misalnya: ID penargetan baru atau ID bidding yang mewakili taktik baru, atau metadata yang terkait dengan materi iklan hanya diketahui oleh bidder. Untuk mengetahui detailnya, lihat Buffering Protokol Ekstensi OpenRTB untuk OpenRTB atau Protokol Google RTB.

Saat Authorized Buyers mengirimkan permintaan bid kepada bidder, bidder akan membalas dengan BidResponse. Jika bidder mengaktifkan masukan real-time, Dalam permintaan bid berikutnya, Authorized Buyers akan mengirimkan masukan tentang dalam pesan BidFeedback:

message BidFeedback {
  // The unique id from BidRequest.id.
  optional string request_id = 1;

  // The status code for the ad. See creative-status-codes.txt in the
  // technical documentation for a list of ids.
  optional int32 creative_status_code = 2;

  // If the bid won the auction, this is the price paid in your account
  // currency. If the bid participated in the auction but was out-bid, this
  // is the CPM that should have been exceeded in order to win. This is not
  // set if the bid was filtered prior to the auction, if the publisher or
  // winning bidder has opted out of price feedback or if your account has
  // opted out of sharing winning prices with other bidders. For first-price
  // auctions, minimum_bid_to_win is populated instead of this field.
  optional double price = 3;

  // The minimum bid value necessary to have the auction, in your account
  // currency. If your bid won the auction, this is the second highest bid
  // that was not filtered (including the floor price). If your bid did not
  // win the auction, this is the winning candidate's bid. This field will
  // only be populated if your bid participated in a first-price auction, and
  // will not be populated if your bid was filtered prior to the auction.
  optional double minimum_bid_to_win = 6;

  // The minimum bid value necessary to have won the server-side component of
  // the overall auction given that there was also an interest group bidding
  // component to the overall auction which ran using the Protected Audience
  // API. The value is expressed in CPM of the buyer account currency. The
  // minimum bid to win for the overall auction, including bids from the
  // server-side and the on-device interest group components, is populated in
  // the minimum_bid_to_win field of the same BidFeedback object.
  optional double sscminbidtowin = 14;

  // Billable event rate multiplier that was applied to this bid during
  // ranking. The adjustment reflects the likelihood that your bid would
  // generate a billable event (namely, the ad renders successfully) if it won
  // the auction, relative to the probability that other bids generate a
  // billable event if they won the auction. This adjustment can be larger or
  // smaller than 1. This affects the final ranking in the auction only; in
  // particular, this multiplier does not affect the payment or whether the
  // bid clears any floor price.
  optional float billable_event_rate_bid_adjustment = 13 [default = 1];

  // When a publisher uses an RTB auction and waterfall-based SDK mediation on
  // the same query, the winner of the real-time auction must also compete in
  // a mediation waterfall (which is ordered by price) to win the impression.
  // If the bid participated in the auction and there was no waterfall, the
  // value of this field is 0. If the bid participated in the auction and
  // there was a waterfall, the value of this field is a price representing a
  // sample bid from the eligible mediation networks that were higher than the
  // auction winner, weighted by expected fill rate. This field can be used
  // in conjunction with minimum_bid_to_win to train bidding models. The CPM
  // is in your account currency.
  optional double sampled_mediation_cpm_ahead_of_auction_winner = 8;

  message EventNotificationToken {
    // The contents of the token.
    optional string payload = 1;
  }

  // The token included in the corresponding bid.
  optional EventNotificationToken event_notification_token = 4;

  // The creative ID included in the corresponding bid.
  optional string buyer_creative_id = 5;

  // Possible types of bid response feedback objects.
  enum FeedbackType {
    FEEDBACK_TYPE_UNSPECIFIED = 0;

    // Feedback for a bid that was submitted on a bid response.
    BID_FEEDBACK = 1;

    // Feedback for an interest group buyer submitted on a bid response to
    // particpate in an interest group bidding component of the auction run
    // using the Protected Audience API.
    INTEREST_GROUP_BUYER_FEEDBACK = 2;
  }

  // The type of the BidFeedback message. Google will send separate
  // BidFeedback objects for:
  // a) Each bid submitted on a bid response
  // b) Each buyer submitted on a bid response to particpate in an interest
  // group bidding component of the auction run using the Protected Audience
  // API.
  optional FeedbackType feedbacktype = 15;

  // Origin of an interest group buyer that was included in the bid response.
  // This field is populated only for feedback where a bidder opted in an
  // interest group buyer to participate in the interest group bidding
  // component of the overall auction run using the Protected Audience API.
  // To learn more about origins, see https://www.rfc-editor.org/rfc/rfc6454.
  // To learn more about interest group bidding and the Protected Audience
  // API, see
  // https://developers.google.com/authorized-buyers/rtb/fledge-origin-trial.
  optional string buyerorigin = 16;

  // The status code for the submitted interest group buyer. This field is
  // only populated in the feedback for an interest group buyer that a bidder
  // requested to enter into the interest group auction through the bid
  // response. Individual creative status codes of bids submitted by the buyer
  // in the on-device interest group auction are not available. See
  // https://storage.googleapis.com/adx-rtb-dictionaries/interest-group-buyer-status-codes.txt
  // for a list of interest group buyer status codes.
  optional int32 igbuyerstatus = 17;
}

Dari pesan ini, isian pertama yang harus Anda periksa adalah bid_feedback.creative_status_code; Anda dapat menemukan kode artinya dalam status-materi-codes.txt. Perhatikan bahwa jika memenangkan bid, Anda dapat memilih untuk tidak menerima masukan harga. Untuk informasi selengkapnya, lihat Cara memilih tidak ikut.

Masukan real-time mencakup ID permintaan bid dan salah satu hal berikut:

Hasil lelang Masukan real-time
Pembeli tidak mengirimkan bid. Tidak ada.
Pembeli mengajukan bid yang difilter sebelum mencapai lelang. Kode status materi iklan (creative-status-codes.txt).
Pembeli mengirimkan bid, tetapi kalah dalam lelang. Kode status materi iklan 79 (kalah bid dalam lelang).
Pembeli mengirimkan bid yang memenangkan lelang. Harga penyelesaian dan kode status materi iklan 1.

Untuk tayangan aplikasi dan kode status materi iklan 83, penayang aplikasi mungkin menggunakan waterfall mediasi sehingga bid pemenang akan bersaing dengan permintaan lain dalam rantai waterfall passback penayang. Pelajari cara menggunakan sampled_mediation_cpm_ahead_of_auction_winner saat mengajukan bid.

Contoh

Berikut adalah contoh masukan real-time seperti yang terlihat dalam protokol yang didukung:

Buffering protokol OpenRTB

JSON OpenRTB

Google (Tidak digunakan lagi)

Membuat model bidding untuk lelang harga pertama

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 menginformasikan logika bidding terkait seberapa tinggi atau rendah bid Anda agar memenangkan tayangan.

  • minimum_bid_to_win: Bid minimum yang seharusnya ditempatkan untuk memenangkan lelang bidding real-time. Jika Anda memenangkan lelang, ini akan menjadi bid terendah yang dapat Anda ajukan sekaligus tetap menang. Jika Anda kalah dalam lelang, bid ini akan menjadi bid pemenang.
  • sampled_mediation_cpm_ahead_of_auction_winner: Jika ada jaringan lain dalam rantai mediasi, dalam bidang ini adalah harga yang mewakili contoh tawaran dari salah satu jaringan mediasi yang memenuhi syarat dan lebih tinggi dari pemenang lelang, dengan rasio pengisian yang diharapkan. Nilai ini akan ditetapkan ke 0 jika tidak ada jaringan dalam rantai mediasi yang diharapkan akan terisi, atau jika penayang tidak menggunakan mediasi SDK.

Cara kerjanya

Untuk menjelaskan kalkulasi yang digunakan dalam menentukan nilai yang mungkin untuk minimum_bid_to_win dan sampled_mediation_cpm_ahead_of_auction_winner, kita harus terlebih dahulu tentukan hal berikut:

  • Berikut adalah CPM dalam rantai mediasi dalam urutan menurun:
    \[C_1, C_2, …, C_n\]
  • Berikut ini menunjukkan 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 akan menjadi:
    \[\{C_1, C_2, …, C_K, W\}\]
    dengan \(W\) adalah bid pemenang, dan \(C_K > W >= C_{K+1}\)
  • Harga minimum, atau harga terendah, dilambangkan sebagai \(F\).
  • Bid runner-up dilambangkan 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 pihak yang kalah lelang
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 ini:

Rantai Mediasi SDK CPM yang Diperkirakan 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 hal 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 ini adalah contoh bagaimana nilai dan probabilitas untuk minimum_bid_to_win dan sampled_mediation_cpm_ahead_of_auction_winner dihitung untuk bid yang menang.

minimum_bid_to_win Probability
\(max(F, R, C_3) = $0.50\) \(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\) \((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\) \((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_
ahead_of_auction_winner
Probability
\(C_1 = $3.00\) \(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\) \(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
Bid yang kalah dalam 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 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\%\)

Perataan bid

Perataan bid menjelaskan pemrosesan satu BidRequest kompleks menjadi beberapa permintaan bid yang dikirim ke aplikasi Anda. Saat permintaan bid disatukan, Anda dapat mengetahui permintaan bid mana yang merupakan bagian dari aslinya karena akan memiliki nilai yang sama dalam Kolom BidRequest.ext.google_query_id.

Penyamaan bid diaktifkan secara default, tetapi Anda dapat menghubungi account manager jika ingin menonaktifkannya.

Format iklan

Beberapa peluang iklan dapat menerima beberapa format. Dengan penyederhanaan 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 disatukan menjadi permintaan bid yang berbeda:

  • Banner
  • Video
  • Audio
  • Native

Contoh penyederhanaan format iklan

Berikut adalah contoh yang menampilkan permintaan bid JSON OpenRTB yang sederhana tanpa iklan perataan dibandingkan dengan kumpulan setara permintaan yang disatukan:

Pra-meratakan

Pasca-rata

Promo

Peluang iklan untuk bidder tertentu dapat berlaku untuk berbagai transaksi selain lelang terbuka. Dengan penyederhanaan bid untuk transaksi, satu permintaan bid akan dikirim untuk lelang terbuka, dan satu permintaan untuk setiap jenis transaksi harga tetap. Dalam praktiknya, batasan iklan dapat berbeda antara jenis lelang dan 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 setiap jenis transaksi dengan batasan seperti durasi iklan maksimum dan apakah iklan yang dapat dilewati diizinkan atau tidak. Akibatnya, perataan yang diterapkan ke peluang iklan memungkinkan Anda lebih mudah membedakan batasan iklan untuk lelang terbuka dan transaksi harga tetap.

Durasi maksimal video yang dapat dilewati

Protokol dan penerapan OpenRTB Google mendukung kolom berikut untuk durasi dan kemampuan lewati video:

Durasi Durasi yang dapat dilewati Dapat tidaknya dilewati
Protokol Google max_ad_duration skippable_max_ad_duration video_ad_skippable
OpenRTB maxduration t/a skip

Artinya, meskipun protokol Google dapat memiliki durasi yang dapat dilewati dan tidak dapat dilewati secara terperinci, implementasi OpenRTB hanya memiliki satu nilai durasi maksimum.

Sebelum pemisahan bid, maxduration OpenRTB akan ditetapkan menjadi yang lebih rendah dari max_ad_duration dan skippable_max_ad_duration kolom. Perilaku ini kini telah diubah menjadi mengirim dua permintaan bid terpisah jika nilai ini berbeda: satu mewakili maxduration untuk peluang yang dapat dilewati dan yang lainnya untuk peluang yang tidak dapat dilewati.

Contoh berikut menunjukkan cara permintaan protokol Google diterjemahkan ke OpenRTB sebelum dan sesudah penyederhanaan bid. Permintaan protokol Google yang setara memiliki max_ad_duration sebesar 15 dan skippable_max_ad_duration sebesar 60.

Contoh max_ad_duration skip (benar ATAU salah)
Permintaan asli tanpa perataan 15 true
Permintaan merata #1: Tidak dapat dilewati 15 false
Permintaan yang diratakan #2: Dapat dilewati 60 true

Perataan permintaan bid durasi video yang dapat dilewati hanya akan terjadi jika ketentuan berikut terpenuhi:

  • Permintaan akan mengizinkan video.
  • Video yang dapat dilewati dan tidak dapat dilewati diizinkan, dan kedua durasi maksimumnya berbeda.
  • Permintaan ini memenuhi syarat untuk Lelang Pribadi atau Lelang Terbuka.
  • Akun bidder memiliki endpoint OpenRTB yang aktif.

Anda dapat memilih untuk tidak mengikuti jenis perataan ini dengan menghubungi bagian teknis pengelola akun.

Pod video

Permintaan bid untuk pod video dengan beberapa peluang iklan akan disatukan, sehingga setiap permintaan bid ditujukan untuk setiap peluang iklan dari pod tersebut. Dengan demikian, Anda dapat mengajukan bid untuk 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 aplikasi seluler lingkungan fleksibel App Engine.

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 dapat ditemukan di bagian battr untuk Banner atau Video, bergantung pada pada format.

Untuk informasi selengkapnya tentang cara menafsirkan permintaan bid yang berisi permintaan bid Sinyal pengukuran, lihat Pengukuran Terbuka Artikel Pusat Bantuan SDK.

Contoh permintaan bid

Bagian berikut menunjukkan contoh permintaan bid untuk berbagai jenis iklan.

Banner aplikasi

Protobuf OpenRTB

JSON OpenRTB

Google (Tidak digunakan lagi)

Interstisial aplikasi

Protobuf OpenRTB

JSON OpenRTB

Google (Tidak digunakan lagi)

Video interstisial aplikasi

Protobuf OpenRTB

Google (Tidak digunakan lagi)

Native aplikasi

Buffering protokol OpenRTB

JSON OpenRTB

Google (Tidak digunakan lagi)

Video web

Google (Tidak digunakan lagi)

Banner web seluler untuk bidder bursa

Protobuf OpenRTB