Server ke Server: Pemecahan Masalah Integrasi Penawaran

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 mediasi yang menjadi partner kami.

Ketika Anda telah menyelesaikan integrasi penawaran server-ke-server, Anda harus menyelesaikan pengujian integrasi penawaran aplikasi pada perangkat fisik dengan iklan produksi. Jika Anda menghadapi kesalahan http atau 'tidak ada tawaran', sesi ini akan membantu Anda memecahkan masalah penerapan Anda.

Prasyarat

Bagian

Gunakan cURL untuk Debug Permintaan Penawaran

Kode Kesalahan HTTP dan Resolusi dalam Permintaan Penawaran

Memecahkan Masalah Tidak Ada Tawaran

Gunakan cURL untuk Debug Permintaan Penawaran

Untuk debug permintaan penawaran, Anda dapat memanfaatkan perintah cURL, yang memungkinkan Anda mengirim permintaan penawaran dan menerima respons penawaran di terminal Anda.

Langkah 1. JSON Payload untuk Iklan Interstisial dalam permintaan penawaran

  • Ganti YOUR_PLACEMENT_ID dengan ID penempatan Anda
  • Ganti YOUR_BUSINESS_ID dengan ID bisnis Anda
  • Ganti YOUR_DEVICE_ID dengan ID perangkat Anda
  • Ganti YOUR_BIDDER_TOKEN dengan Token Penawar Anda yang dihasilkan dari Audience Network SDK
  • Ganti YOUR_PLATFORM_ID dengan ID Platform mitra mediasi (ID Aplikasi FB).
  • Jika Anda ingin menguji dengan format iklan yang berbeda, silakan merujuk ke Format Iklan yang Didukung.
  • Simpan JSON payload di bawah ini sebagai bid_request.json
{
"id": "vwxfKskkMobzQQ1e7M70",
"imp": [
{
"id": "FB Ad Impression",
"tagid": "YOUR_PLACEMENT_ID",
"instl": 1,
"banner": {
"h": 0,
"w": 0,
"linearity": 0
}
}
],
"app": {
"publisher": {
"id": "YOUR_BUSINESS_ID"
}
},
"device": {
"ua": "Dalvik\/2.1.0 (Linux; U; Android 8.1.0; Android SDK built for x86 Build\/OSM1.180201.000)",
"ifa": "YOUR_DEVICE_ID",
"dnt": 0,
"ip": "125.123.255.123"
},
"user": {
"buyeruid": "YOUR_BIDDER_TOKEN"
},
"regs": {
"coppa": 0
},
"at": 1,
"tmax": 500,
"test": 1,
"ext": {
"platformid": "YOUR_PLATFORM_ID"
}
}

Langkah 2. Kirim permintaan penawaran dengan perintah cURL

  • Buka Terminal Anda
  • Arahkan ke direktori tempat Anda menyimpan bid_request.json Anda dengan cd ~/{FILE_PATH}
curl -X POST -H "Content-Type: application/json" -d @bid_request.json https://an.facebook.com/placementbid.ortb

Langkah 3. Periksa tanggapan penawaran jika permintaan penawaran itu valid

{
"id": "Auction ID",
"seatbid": [
{
"bid": [
{
"id": "Bid Response ID",
"impid": "FB Ad Impression",
"price": 99.99,
"adm": "{\"type\":\"ID\",\"bid_id\":\"BID ID\",\"placement_id\":\"Placement ID\",\"resolved_placement_id\":\"Resolved Placement ID\",\"sdk_version\":\"SDK Version\",\"device_id\":\"Device ID\",\"template\":102,\"payload\":null}",
"nurl": "https://www.facebook.com/audiencenetwork/nurl/?partner=partner_id&app=app_id&placement=placement_id&auction=auction_id&impression=impression_id&request=request_id&bid=bid_id&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}",
"lurl": "https://www.facebook.com/audiencenetwork/nurl/?partner=partner_id&app=app_id&placement=placement_id&auction=auction_id&impression=impression_id&request=request_id&bid=bid_id&ortb_loss_code=${AUCTION_LOSS}&clearing_price=${AUCTION_PRICE}"
}
]
}
],
"bidid": "Bid ID",
"cur": "USD"
}

Langkah 4. Lihat x-fb-an-errors di header tanggapan HTTP jika Anda tidak mendapatkan tanggapan penawaran di atas.

Perintah cURL untuk menampilkan header tanggapan HTTP.

url -X POST -H "Content-Type: application/json" -v @bid_request.json https://an.facebook.com/placementbid.ortb
...
> Content-Type: application/json
>
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 400
< x-fb-an-request-id: fb_an_request_id
...
< x-fb-an-errors: Value cannot be null: value given: null
...

Silakan merujuk ke Deskripsi Kesalahan HTTP dan Resolusi dalam Permintaan Penawaran untuk memperbaiki permintaan penawaran Anda.

Deskripsi Kesalahan HTTP dan Resolusi dalam Permintaan Penawaran

Saat menguji penerapan tawaran, Anda mungkin mengalami salah satu dari beberapa kemungkinan kode kesalahan saat membuat permintaan penawaran. Kode kesalahan dan resolusi ini dijelaskan di bawah ini.

400 Tanggapan: Invalid Parameter Errors

Pesan Kesalahan Deskripsi Resolusi

Invalid bidder token in user.buyeruid

Token penawar di user.buyeruid tidak valid.

Cara menghasilkan token penawar yang valid:

  • Android - BidderTokenProvider.getBidderToken(context);

  • iOS — [FBAdSettings bidderToken];

ipaddress must be a valid IP address

Dalam objek device payload permintaan penawaran, Anda harus memberikan alamat IP yang valid untuk kolom ip(v4) atau ipv6.

Contoh yang Benar:

  • ip(v4): 255.255.255.0

  • ipv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Contoh yang Tidak Benar: (Jangan memotong ip Anda)

  • ip(v4): 255.255.255

  • ipv6: 2001:0db8:85a3:0000:0000:8a2e

valid placementids are required

Di kolom imp.tagid Anda harus memberikan ID Penempatan Audience Network yang valid.

Cari ID Penempatan Anda dari Pengelola Bisnis Anda. Pilih Kelola Properti dan cari ID Penempatan di Ruang Iklan platform Android atau iOS.

Publisher ID is not set on the app request.

Kolom app.publisher.id tidak diatur dalam permintaan.

Silakan temukan ID Penerbit Anda dari Pengaturan Bisnis Anda. Pilih Aplikasi di menu sebelah kiri dan cari ID Aplikasi Anda sebagai ID Penerbit Anda

all placementids must be for same appid

Seperti yang ditunjukkan dalam pesan, semua ID Penempatan Audience Network dalam permintaan penawaran harus berasal dari ID Aplikasi yang sama.

Harap periksa apakah semua ID Penempatan dalam permintaan penawaran berasal dari ID Aplikasi yang sama dari Pengelola Bisnis. Pilih Kelola Properti dan cari ID Penempatan di Ruang Iklan platform Android atau iOS.

Value does not contain the non-optional and non-nullable shape field

Nilai wajib tidak ada dalam permintaan penawaran Anda.

Nilai wajib:

  1. id

  2. imp, imp.tagid, imp.id

  3. app.publisher, app.publisher.id

  4. device

  5. ext, ext.platformid

  6. at -- Nilai enum (1, 2) bersifat wajib

adformats are required, the number of adformats and placementids should be the same

Harap berikan format iklan yang tidak kosong dan valid.

Format Iklan yang Didukung:

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

  • Format banner native: {'id': ${AUCTION_ID}, "native": { "h": -1, "w": -1 }, 'tagid': ${PLACEMENT_ID}}

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

  • Format Video Berhadiah: {'id': ${AUCTION_ID}, "video": { "h": 0, "w": 0, 'ext': { 'videotype': 'rewarded' } }, 'tagid': ${PLACEMENT_ID}}

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

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

  • Format Video In-Stream: {'id': ${AUCTION_ID}, "video": { "h": 0, "w": 0, 'linearity': 1 }, 'tagid': ${PLACEMENT_ID}}

Silakan periksa Format Iklan yang Didukung untuk informasi selengkapnya.

banner, native and video objects are mutually exclusive but one of them is required

Untuk format iklan di atas, ada beberapa objek yang berbeda: native, banner, dan video. Endpoint kami memerlukan salah satu dari 3 objek ini, tetapi hati-hati karena ketiganya sama-sama eksklusif.

Lihat resolusi Format Iklan yang Didukung di atas.

400 Tanggapan: Unauthorized Errors

Pesan Kesalahan Deskripsi Resolusi

No app matched for domain and business ID

Jika Anda menggunakan ID Bisnis di kolom app.publisher.id, backend kami tidak dapat menemukan aplikasi berdasarkan domain dan bisnis.

Jika Anda terus melihat kesalahan ini, silakan gunakan ID aplikasi di kolom app.publisher.id.

Application not authorized for app bidding

ID aplikasi di app.publisher.id tidak ada dalam daftar yang diizinkan untuk penawaran, atau permohonan sedang menunggu peninjauan.

Silakan hubungi kami agar aplikasi Anda ditambahkan ke daftar yang diizinkan, atau tunggu persetujuan aplikasi.

Platform not authorized for app bidding

ID platform di ext.platformid tidak ada dalam daftar yang diizinkan untuk penawaran. Harap pastikan ID aplikasi Anda ada dalam daftar yang diizinkan dan tidak sedang menunggu peninjauan.

Resolusi:

  1. Jika Anda seorang penerbit, ID aplikasi Anda sama dengan ID platform.

  2. Jika Anda seorang mitra, penerbit Anda akan memberikan nilai yang berbeda di ext.platformid (ID aplikasi mitra) dan app.publisher.id. (ID aplikasi penerbit)

Silakan hubungi kami agar aplikasi Anda ditambahkan ke daftar yang diizinkan, atau tunggu persetujuan aplikasi.

unexpected error

Alasan:

  1. Throttling Aplikasi/Pengguna.

  2. Aplikasi ditolak.

  3. Penginstal Tidak Tepercaya.

  4. Permintaan palsu.

Resolusi:

  1. Jangan terlalu sering memuat iklan.

  2. Silakan hubungi kami untuk memeriksa status aplikasi Anda.

  3. Pastikan Anda menginstal aplikasi Anda dari App Store Tepercaya.

  4. Silakan hubungi kami jika terus melihat kesalahan ini.

204 Tanggapan: Empty Error Message

Pesan Kesalahan Deskripsi Resolusi

Empty in Error Header of x-fb-an-errors from bid response

Alasan:

  1. Untuk kasus dnt: 1 -- do-not-track, Facebook tidak akan mengajukan tawaran.

  2. imp.instl tidak ada untuk format iklan interstisial.

  3. Facebook memilih untuk tidak berpartisipasi dalam lelang tersebut.

Resolusi:

  1. Pengguna harus mengaktifkan Pelacakan Iklan di perangkat dan klien harus lolos dnt: 0 (do-not-track) dalam permintaan penawaran, lalu Facebook akan mengajukan tawaran.

  2. Harap pastikan Anda memiliki kolom imp.instl dengan 1 untuk mengajukan tawaran iklan interstisial.

Jika terus melihat tanggapan 204, silakan hubungi kami.

Memecahkan Masalah Tidak Ada Tawaran

  • Pastikan Anda mengambil gambar dan mencatat header HTTP x-fb-an-errors untuk membantu Anda memahami penyebab kesalahan.
  • Pastikan aplikasi Facebook diinstal pada perangkat tempat aplikasi Anda berjalan dan Anda masuk ke Facebook dengan akun pengguna asli Anda. Akun pengguna Facebook palsu atau pengujian merupakan pelanggaran terhadap kebijakan Facebook dan akan dinonaktifkan.
  • Pastikan Anda mendapatkan token penawar dari Audience Network SDK dengan memanggil com.facebook.ads.BidderTokenProvider.getBidderToken() di Android dan [FBAdSettings bidderToken] di iOS dan mengirim string yang dikembalikan ke kolom buyeruid permintaan penawaran.
  • Pastikan Anda mengirimkan id perangkat yang benar di kolom ifa di permintaan penawaran (Android -- AdvertisingIdClient.getAdvertisingIdInfo(context).getId(), iOS -- [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]).
  • Pastikan do-not-track(dnt) tidak diaktifkan di perangkat Anda, dan lolos dnt: 0 (do-not-track) di permintaan penawaran.