Tawaran aplikasi seluler saat ini hanya tersedia untuk penerbit pilihan.

Tawaran Server ke Server

Mediasi internal tidak tersedia untuk umum

Tawaran internal dengan Audience Network saat ini dalam Beta Tertutup dan tidak tersedia untuk umum. Kami akan memberikan pembaruan lebih lanjut jika ini berubah.

Sebagai alternatif, Anda dapat mengakses Tawaran Audience Network melalui salah satu platform mediator yang menjadi partner kami.

Di halaman ini:

Facebook Audience Network mendukung tawaran di aplikasi seluler serta situs web seluler. Integrasi tawaran aplikasi seluler dapat dari klien seluler ke server kami atau dari server Anda ke server kami. Ringkasan ini akan mencakup konsep umum tawaran aplikasi.

Pendahuluan

Apa itu Tawaran Aplikasi

Tawaran Aplikasi merupakan salah satu cara bagi penerbit untuk melakukan lelang imparsial dan terbuka atas stok iklannya, dengan menawarkan setiap kesempatan iklan bagi beberapa sumber permintaan secara realtime. Setiap sumber permintaan memiliki kesempatan untuk bersaing dan memenangkan setiap impresi, jika nilainya tertinggi.

Mengapa Harus Tawaran Aplikasi?

  • Lelang realtime adalah kesempatan untuk mengoptimalkan setiap permintaan iklan.
  • Memberikan visibilitas terkait nilai yang sebenarnya dari stok iklan Anda.
  • Mudah dipelihara dan memerlukan lebih sedikit sumber daya operasi iklan.

Arsitektur Integrasi

Tawaran aplikasi ditawarkan melalui endpoint yang menerapkan protokol Tawaran Realtime Terbuka / Open Real-Time Bidding (ORTB) untuk memberikan tawaran pada kesempatan impresi individu. Audience Network SDK diperlukan dalam tawaran aplikasi untuk melakukan tindakan berikut:

  • Mendapatkan buyeruid (disebut bidderToken di Audience Network SDK). Token ini adalah kolom wajib dalam permintaan tawaran, dan bersifat unik baik per pengguna maupun per aplikasi; token tidak valid untuk pengguna atau aplikasi lain.
  • Memuat tanggapan tawaran dan menampilkan iklan jika penawar memenangkan lelang.
  • Merekam impresi dan klik.

Langkah Penting dalam Alur Tawaran

  1. Mendapatkan token penawar. Audience Network membutuhkan string buram ini untuk menanggapi permintaan tawaran.
  2. Mengirim permintaan penawaran dan mendapatkan tanggapan tawaran. Ini adalah interaksi utama dengan endpoint tawaran. Dalam langkah ini, Anda mengirim permintaan untuk tawaran ORTB dan kemudian menerima tanggapan tawaran yang valid atau kesalahan.
  3. Menjalankan lelang. Jalankan lelang dan pilih pemenang dari antara tanggapan tawaran. Sebagian besar lelang membandingkan tawaran realtime dengan estimasi CPM dari sumber permintaan lain (seperti CPM rata-rata historis); ini dilakukan karena beberapa sumber permintaan tidak mendukung tawaran realtime. Lelang dapat dijalankan oleh salah satu dari berikut ini:
    • Server internal yang menjalankan logika lelang khusus Anda sendiri
    • Server lelang pihak ketiga
    • Klien di perangkat pengguna
  4. Ambil kembali iklan dengan tanggapan tawaran. Jika Audience Network memenangkan lelang, muat iklan dengan melewati kolom adm dari tanggapan tawaran ke Audience Network SDK pada perangkat pengguna. Perhatikan bahwa kolom adm tidak berisi iklan sebenarnya, tetapi hanya berisi informasi yang mengizinkan SDK untuk mengambil iklan dari server Audience Network.

Jenis Integrasi

Saat menjalankan lelang (langkah ke-3 di alur tawaran di atas), hal itu dapat di-host di Sisi Klien atau Sisi Server. Di bawah ini adalah 3 jenis integrasi yang berbeda:

Arsitektur Integrasi Server-ke-Server

Pada integrasi server-ke-server, server lelang menjalankan endpoint penawaran Audience Network Facebook dan semua sumber permintaan lainnya untuk mendapatkan tanggapan penawaran. Lalu, server lelang menjalankan lelang dan memilih penawaran yang menang. Server lelang ini dapat berupa server sendiri yang menjalankan logika lelang yang Anda bangun atau dapat berupa server pihak ketiga yang terintegrasi dengan penawaran aplikasi Audience Network. Ini memungkinkan Anda memanfaatkan sumber daya server dan jaringan yang tersedia untuk menjalankan endpoint penawaran sumber permintaan. Ini memungkinkan Anda melakukan perubahan pada integrasi endpoint tersebut tanpa memerlukan pembaruan klien.


Integrasi Server Iklan Eksternal

Integrasi server iklan eksternal memungkinkan Anda menjembatani dunia mediasi air terjun hari ini dengan penawaran aplikasi. Integrasi ini berfungsi dengan melakukan integrasi server-ke-server dengan sumber permintaan yang mendukung penawaran aplikasi dan kemudian meneruskan pemenang lelang ke platform mediasi air terjun yang menjalankan air terjun dan memilih keseluruhan sumber permintaan yang menang. Integrasi ini dimaksudkan sebagai jembatan interim antara dunia mediasi air terjun dan penawaran aplikasi. Dengan integrasi jenis ini Anda tidak perlu menuliskan logika lelang sendiri.

Permintaan/Tanggapan ORTB dan Format Iklan yang Didukung

Permintaan ORTB

Endpoint tawaran kami mendukung bagian dari protokol OpenRTB v2.5.

Catatan: Silakan lihat contoh permintaan lengkap di Panduan Pengaturan Server Lelang

'id' => string, // platform's auction identifier,
'imp' => vec< // slots to bid on
shape(
'id' => string, // platform's identifier for this slot auction
// only for banner impression opportunities
'banner' => shape(
'w' => int, // width
'h' => int, // height
),
// only for native impression opportunities
'native' => shape(
'w' => int, // width 
'h' => int, // height 
),
// only for video impression opportunities
'video' => shape(
'w' => int, // width
'h' => int, // height
'linearity' => int, // 1 = instream, optional
'ext' => shape(
'videotype' => string, // 'rewarded' for Rewarded Video impression opportunities, optional
),
),
'tagid' => string, // Placement ID
'instl' => int, // interstitial flag, 1 = On, 0 = Off, optional
)
>,
// app details (in-app bidding only)
'app' => shape( 
'publisher' => shape(
'id' => string, // publisher app ID
),
),
'device' => shape(
'ua' => string, // device user-agent
'ifa' => string, // ID sanctioned for advertiser use
// Do not send ip or ipv6 if you are requesting bids from the client device.
// For server-side bid requests set ip or ipv6.
'ip' => string, // device IPv4
'ipv6' => string, // device IPv6
'dnt' => int, // "do not track", 1 = On, 0 = Off, optional
'lmt' => int, // "limit ad tracking", 1 = On, 0 = Off
),
'regs' => shape( // regulations object
'coppa' => int, // US FTC regulations for Children's Online Privacy Protection Act, 1 = On, 0 = Off, optional
),
'user' => shape(
'buyeruid' => string, // Audience Network Identity Token, mandatory
),
'ext' => shape(
'platformid' => string, // Mediation partner Platform ID or publisher FB app ID, mandatory
'authentication_id' => string // Authentication token to validate the originator of the request                     
),
'at' => int, // auction type: 1 = First Price, 2 = Second Price
'tmax' => int, // auction timeout in milliseconds
'test' => int, // 0 = normal, 1 = test-mode (we bid $99.99, but don't pay out), optional

Format Iklan yang Didukung

Saat ini kami mendukung empat jenis iklan yang dapat diminta melalui OpenRTB: banner, native (banner native atau native), video (video berhadiah atau instream), dan interstisial. Catatan: objek banner, native, dan video tidak dapat digunakan bersamaan, tetapi salah satunya diwajibkan.

Berikut adalah daftar format iklan yang didukung dalam permintaan penawaran:

Format Iklan Parameter dalam Permintaan Penawaran

Native

{'id': ${AUCTION_ID}, 'native': { 'h': -1, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

Banner Native

{'id': ${AUCTION_ID}, 'native': { 'h': -1, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

Interstisial

{'id': ${AUCTION_ID}, 'banner': { 'h': 0, 'w': 0 }, 'tagid': ${PLACEMENT_ID}, 'instl': 1}

Video Berhadiah

{'id': ${AUCTION_ID}, 'video': { 'h': 0, 'w': 0, 'ext': { 'videotype': 'rewarded' } }, 'tagid': ${PLACEMENT_ID}}

Interstisial Berhadiah

{'id': ${AUCTION_ID}, 'video': { 'h': 0, 'w': 0, 'ext': { 'videotype': 'rewarded_interstitial' } }, 'tagid': ${PLACEMENT_ID}}

Banner - Tinggi: 50

{'id': ${AUCTION_ID}, 'banner': { 'h': 50, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

Banner - Tinggi: 250*

{'id': ${AUCTION_ID}, 'banner': { 'h': 250, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

*Anda dapat membuat penempatan Banner atau Persegi Panjang Sedang di Pengelola Monetisasi untuk Format Iklan ini

Tanggapan ORTB

Tanggapan tawaran berlaku selama 30 menit. Anda dapat meminta iklan kapan saja dalam waktu 30 menit sejak menerima tanggapan tawaran. Semua impresi berdasarkan tawaran yang lebih dari 30 menit tidak akan dibayar.

Catatan: begitu Anda meminta iklan dengan tanggapan tawaran, iklan dapat di-cache pada klien tetapi harus ditampilkan dalam 60 menit sejak dimuat. Semua impresi berdasarkan iklan yang di-cache lebih dari 60 menit tidak akan dibayar.

1  
'id' => string // platform's request identifier
'seatbid' => vec<
    shape(
        'bid' => vec<
            shape(
                'id' => string, // Our identifier for this bid
                'impid' => string, // platform's identifier for this slot auction
                'price' => float, // Our bid price on CPM basis, in USD
                'adm' => string, // Our creative - see Rendering The Ad
                'nurl' => string, // URL to get if we win the impression
                'lurl' => string, // URL to get if we lose the impression
            )
        >,
    ),
>,
'bidid' => string, // Our identifier for this response
'cur' => string, // bid currency: USD

Notifikasi Menang/Kalah/Dapat Ditagihkan/Waktu Habis

Kami mewajibkan pemberitahuan menang, kalah, dapat ditagih, dan waktu habis dengan kode kalah yang sesuai seperti dijelaskan di ORTB. nurl, lurl, dan burl ORTB diberikan dalam tanggapan penawaran. Lihat bagian sebelumnya untuk mengetahui contoh tanggapan penawaran. Dalam hal waktu habis penawaran, kami memberikan jalur pelaporan alternatif.

Pemberitahuan Menang

nurl menang akan diberikan dalam tanggapan penawaran. Anda harus mengisi Harga Kliring di nurl:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_PRICE}: Ini harus digantikan dengan Harga Kliring untuk lelang dalam satuan yang sama seperti penawaran kami (yaitu USD pada CPM).

Pemberitahuan Kalah

lurl kalah berisi 2 tanda yang perlu Anda isi:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=${AUCTION_LOSS}&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_LOSS}: Ini harus digantikan dengan Kode Kalah ORTB.
  • ${AUCTION_PRICE}: Ini harus digantikan dengan Harga Kliring untuk lelang dalam satuan yang sama seperti penawaran kami (yaitu USD pada CPM).

Di bawah ini daftar berbagai Kode Kalah dan Alasan Kalah yang sesuai.

Alasan KalahDeskripsiKode Kalah ORTB v2.5

Tanggapan penawaran tidak valid

Penawaran tidak valid (tetapi tepat waktu, bukan tidak-ada-penawaran, dan cukup valid hingga And dapat mengekstraksi nurl)

3

Waktu penawaran habis *

Tanggapan penawaran diterima, tetapi terlambat untuk batas lelang

2

Tidak ada penawaran

Tidak ada penawaran ditandai sebagai HTTP 204 (yaitu tidak ada nurl untuk dijalankan), tetapi Anda dapat menafsirkan tanggapan kami sebagai tidak ada penawaran (mungkin masalah integrasi). Anda juga dapat meminta penawaran untuk beberapa tayangan, dan kami menawar beberapa tetapi tidak semua.

9

Bukan penawar RTB tertinggi

Penawar lain mengalahkan kami, termasuk penawaran sintetis (mis., pertukaran non-RTB), jika dimasukkan ke lelang yang sama.

102

Inventaris tidak terwujud

Penawaran kami memangkan lelang, tetapi tayangan tidak terwujud (mis., halaman kurang panjang untuk menyertakan slot ini, atau pengguna keluar dari aplikasi sebelum iklan dalam cache digunakan). Tidak semua mitra dapat memberikannya (ini non-peristiwa), jadi kami akan menyimpulkannya jika tidak diberikan.

4902

Dikirimkan ke server iklan

Kirim ini jika touchpoint terakhir yang Anda miliki terkait proses keputusan mengirimkan penawaran tinggi kami ke server iklan. Tayangan mungkin tetap hilang melalui barang lini yang hilang, server iklan menolak lelang, atau inventaris tidak termaterialisasi.

4900

Pemenang RTB tidak dipilih oleh server iklan

Kami memenangkan lelang RTB, tetapi server iklan menolak lelang (mis., langsung).

4903

Menang

Kami memenangkan diagram keputusan lengkap dan tanda ditempatkan di halaman (web) atau objek iklan disimpan dalam cache (aplikasi). Tayangan yang dapat dilihat mungkin tidak menghasilkan.

0

Pemberitahuan Dapat Ditagih

Kami mewajibkan pemberitahuan dapat ditagih jika callback tayangan dijalankan di SDK Audience Network. Anda harus mengisi Harga Kliring di burl:

"https://www.facebook.com/audiencenetwork/burl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_PRICE}: Ini harus digantikan dengan Harga Kliring untuk lelang dalam satuan yang sama seperti penawaran kami (yaitu USD pada CPM).

Pemberitahuan Waktu Habis

Dalam hal waktu habis untuk lelang, kami memberikan jalur pelaporan alternatif. nurl generik mungkin dijalankan tanpa perlu menunggu datangnya penawaran. Formatnya sebagai berikut:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&auction=${AUCTION_ID}&ortb_loss_code=2"

Catatan:${PARTNER_FBID}, ${APP_FBID}, dan ${AUCTION_ID} harus diisi dengan nilai yang sesuai. Tabel di bawah memberikan penjelasan tentang nilai tersebut.

ParameterJenisDeskripsi

PARTNER_FBID

Int

ID server lelang iklan yang diterbitkan oleh Facebook. Gunakan id aplikasi di sini jika Anda tidak memiliki mitra lelang iklan khusus.

APP_FBID

Int

ID yang diterbitkan Facebook untuk aplikasi/bisnis yang memulai lelang.

AUCTION_ID

String

ID yang dibuat klien untuk lelang yang Anda gunakan untuk mengeluarkan permintaan penawaran.

Pembayaran, Lelang, Visibilitas, dan Latensi

Harga dan Pembayaran

Pembayaran dikutip dalam USD berdasarkan CPM (misalnya: 4,25 artinya kami akan membayar $4,25/1.000 impresi jika kami menang). Satuan yang sama harus digunakan untuk harga kliring dalam nurl, lurl. Pembayaran dilakukan langsung kepada penerbit.

Mekanika Lelang

Kami selalu menawar berdasarkan harga pertama, artinya kami membayar jumlah yang kami tawar dan kami menawar dengan asumsi kami akan membayar jumlah penuh. Ini berarti kami berada pada posisi yang kurang menguntungkan dalam lelang harga kedua, di mana penawar lain dapat mengajukan tawaran dengan asumsi mereka akan membayar kurang dari jumlah tawaran.

Visibilitas

Untuk impresi aplikasi, kami hanya membayar jika impresi dilihat, terlepas dari apakah kami adalah penawar tertinggi.

Latensi

  • Untuk latensi minimum, minta satu tawaran per panggilan API (yaitu jika Anda melelang lima slot, lalu memanggil API lima kali, masing-masing untuk satu tawaran).
  • Kami tidak memberikan endpoint khusus wilayah. Infrastruktur Facebook akan mengarahkan permintaan tawaran ke pusat data terdekat.
  • Gunakan koneksi persisten HTTP/2.
  • Isi kolom tmax ORTB dalam permintaan penawaran dengan waktu habis lelang, dan kami akan memilih strategi tawaran yang menyeimbangkan latensi dan kinerja. (Lihat contoh permintaan tawaran di atas untuk info selengkapnya tentang tmax)
  • Untuk memenuhi target latensi, kami dapat menunda sedikit proses untuk me-render waktu (misalnya: tawaran yang lebih cepat mungkin artinya iklan yang di-render lebih lambat, dan tawaran yang lebih lambat menghasilkan iklan yang di-render lebih cepat).
  • Kami berupaya aktif untuk meningkatkan latensi. Kami saat ini merekomendasikan waktu habis 800md untuk tawaran server-ke-server.