

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Post-ads tanggapan
<a name="monetization-functions-hooks-post-ads"></a>

## Ketika itu menyala
<a name="monetization-functions-hooks-post-ads-when"></a>

MediaTailor menjalankan fungsi yang dipetakan `POST_ADS_RESPONSE` setelah menerima dan mengurai respons dari ADS, termasuk resolusi pengalihan pembungkus VAST. Fungsi ini melihat iklan yang diurai sebelum MediaTailor memilih iklan untuk disisipkan, jadi perubahan yang dilakukan di sini memengaruhi iklan mana yang mengisi jeda iklan.

Hook diaktifkan untuk semua protokol streaming (HLS dan DASH) dan semua mode pemutaran (live, VOD, dan pre-roll). Biasanya menyala sekali per jeda iklan. Untuk respons ADS yang mencakup beberapa jeda iklan sekaligus (seperti respons VMAP) dan untuk respons iklan yang telah diambil sebelumnya, hook diaktifkan saat mem MediaTailor proses respons, dan namespace `avail` input tidak ada. Gunakan `$exists(avail)` untuk memeriksa sebelum mengakses bidang yang tersedia.

## Input
<a name="monetization-functions-hooks-post-ads-input"></a>

`event.*`,`session.*`,`adsRequest.*`, dan`adsResponse.*`, ditambah `avail.*` ketika respons berlaku untuk jeda iklan tunggal. Untuk semua bidang yang tersedia, lihat[Referensi bidang masukan](monetization-functions-hooks.md#monetization-functions-hooks-input-ref).

## Namespace keluaran diizinkan
<a name="monetization-functions-hooks-post-ads-output"></a>


| Namespace | Jenis yang diterima | Bagaimana output digunakan | 
| --- | --- | --- | 
| adsResponse.ads | Array objek iklan | Mengganti daftar iklan yang diurai untuk respons ini. MediaTailor mencocokkan setiap iklan yang dikembalikan dengan iklan asli adId dan melanjutkan ke pemilihan iklan dengan daftar yang dikembalikan. | 
| temp.\* | Setiap | Data sementara untuk meneruskan nilai antar langkah dalam eksekutor. Tidak bertahan. | 

Tulis kembali daftar iklan yang dimodifikasi ke`adsResponse.ads`. Anda dapat:
+ **Filter ** — mengembalikan subset dari iklan asli. Iklan yang Anda hilangkan tidak dipertimbangkan untuk disisipkan, dan durasi yang ditempati tersedia untuk diisi iklan lain.
+ **Mengatur ulang ** — mengembalikan iklan dalam urutan yang berbeda. Urutan memengaruhi iklan mana yang mengisi jeda iklan terlebih dahulu.
+ **U ** bah — `durationSeconds` ubah`adSystem`,`adTitle`,`mediaFiles`,, atau `trackingEvents` pada iklan. Iklan yang ditampilkan tidak berubah menyimpan semua metadata VAST aslinya.
+ **Injeksi ** — tambahkan iklan yang tidak ada dalam respons asli. Entri baru harus mencakup`adId`,`durationSeconds`, dan`mediaFiles`. Iklan yang diambil dengan `VAST_REQUEST` fungsi dalam pemanggilan kait yang sama adalah pengecualian: menambahkan iklan semacam itu sudah `adId` cukup, karena MediaTailor mengembalikan data VAST lengkap yang diurai dari iklan. Untuk informasi selengkapnya, lihat [Permintaan VAST](monetization-functions-types-vast-request.md).

**penting**  
Selalu gunakan konstruktor array JSONata atau paksaan array saat memfilter. Ekspresi filter seperti `adsResponse.ads[adSystem != 'BLOCKED']` menghasilkan satu objek ketika tepat satu iklan cocok. Ini tidak menghasilkan nilai sama sekali ketika nol iklan cocok. Dalam hal ini kunci output dihilangkan dan filter tidak berpengaruh. Bungkus ekspresi dalam tanda kurung atau tambahkan: `[]`  

```
{
    "Output": {
        "adsResponse.ads": "{%adsResponse.ads[adSystem != 'BLOCKED'][]%}"
    }
}
```

Aturan berikut berlaku untuk daftar iklan yang dikembalikan:
+ Jika dua entri berbagi `adId` satu, kejadian pertama menang.
+ Entri yang tidak valid ditolak secara individual. Entri yang valid dalam output yang sama masih berlaku.
+ Jika entri yang disuntikkan `adId` bertabrakan dengan iklan dari respons ADS, iklan asli digunakan sebagai basis dan perubahan bidang Anda diterapkan di atasnya.

## Apa yang tidak dilihat kait ini
<a name="monetization-functions-hooks-post-ads-scope"></a>

Pengait ini berjalan sebelum pemilihan iklan, sehingga tidak melihat iklan yang disumbangkan oleh MediaTailor fitur lain nanti, dan tidak dapat menentukan iklan mana yang pada akhirnya akan dimasukkan, karena status transkode dan keputusan pengisian terjadi setelahnya. Untuk iklan yang diambil sebelumnya, hook diaktifkan saat mem MediaTailor proses respons prefetch itu sendiri. Pada jeda iklan berikutnya, iklan yang sebelumnya diambil sebelumnya digabungkan setelah hook ini berjalan, sehingga hook tidak melihatnya di sana. Untuk bertindak pada set iklan akhir, gunakan`PRE_MANIFEST_INSERTION`.

## Kasus penggunaan yang khas
<a name="monetization-functions-hooks-post-ads-use-cases"></a>
+ Filter iklan berdasarkan metadata, seperti menghapus iklan dari sistem iklan yang bersaing sehingga iklan tersebut tidak muncul dalam jeda iklan yang sama (pemisahan kompetitif).
+ Ambil iklan tambahan dari server iklan sekunder dengan `VAST_REQUEST` fungsi saat respons utama pendek, dan tambahkan ke daftar iklan.
+ Susun ulang iklan sehingga iklan pilihan mengisi jeda iklan terlebih dahulu.
+ Ubah peristiwa pelacakan atau metadata iklan sebelum penyisipan.

## Perilaku kegagalan
<a name="monetization-functions-hooks-post-ads-failure"></a>

Jika fungsi yang dilamp `POST_ADS_RESPONSE` irkan gagal karena alasan apa pun, seperti batas waktu, kesalahan ekspresi, atau output yang tidak valid, MediaTailor membuang output fungsi. Permintaan dilanjutkan dengan respons ADS asli, seolah-olah tidak ada fungsi yang dilampirkan. Jika input serial melebihi batas ukuran input, mele MediaTailor watkan pemanggilan kait sepenuhnya. Untuk batasan yang berlaku, lihat[Batas](monetization-functions-limits.md).